Article
· Oct 6 1m read

Visualize your InterSystems server configurations using Structurizr

gj :: configExplorer is a new VS Code extension integrating with Server Manager and leveraging Structurizr to produce configuration diagrams of your servers.

Here's a short introductory video.

https://www.youtube.com/embed/WHkoZsg6P-A
[This is an embedded link, but you cannot view embedded content directly on the site because you have declined the cookies necessary to access it. To view embedded content, you would need to accept all cookies in your Cookies Settings]

By using the InterSystems IRIS Native API for Node.js it avoids the need for any support code to be installed on the servers. This technology choice also qualifies it for entry into the current Developer Community contest.

The initial release focuses on two aspects of server configuration:

  • Namespaces and databases
  • ECP connectivity

Suggestions for what to add next are welcome, as is general feedback.

Discussion (1)1
Log in or sign up to continue

It's worth noting that the extension can't currently run on Windows without crashing VS Code's extension host (EH) process and thus impacting all other extensions. More information here, which I hope qualifies my entry for the 'Find a bug in InterSystems IRIS External Languages Offerings' bonus.

For Windows users there's a workaround, as long as you have SSH access to a Linux host on which you can run Docker containers. Here's what to do:

  1. Launch VS Code on your Windows desktop.
  2. If you don't already have it, install the 'Remote - SSH' extension from Microsoft.
  3. From Command Palette run `Remote-SSH: Connect Current Window to Host...`.
  4. Enter your SSH connection string in the form `user@host`.
  5. When prompted for your password (top centre), enter it.
  6. Wait for the progress notifications (lower right) to complete and for the Remote panel on the status bar (far left) to confirm that you are connected.
  7. In Extensions view, find gj :: configExplorer and install it. This action will install it on the Linux server for use of the account you connected there with. It also installs Server Manager if necessary.

When operating this way gj :: configExplorer executes in an EH on your Linux server. Connections to the target servers' superserver ports will originate from there, not from your Windows device. Resolving the server names / addresses will behave accordingly.