Question
· Jul 31

Has anyone built a tool to generate a %Installer Manifest from an existing IRIS system?

Hi everyone,

I’m working with an existing InterSystems IRIS server that hosts several web applications and namespace-specific code and data. I’d like to reverse-engineer the current environment into a %Installer.Manifest file so I can store it in Git and manage its changes.

My goal is to:

  • Track the application setup and configuration in version control
  • Rebuild environments consistently (namespaces, CSP apps, security roles, etc.)
  • Possibly automate deployments later on

I understand that %Installer is declarative and wasn’t necessarily designed to reflect a running system. But before I start building a tool or writing scripts to extract pieces (like web apps, packages, globals, roles…), I wanted to ask:

Has anyone already built something like this — a generator, exporter, or script that helps create a %Installer manifest based on the current state of an IRIS instance?

Even partial tools, tips, or lessons learned would be greatly appreciated!

Thanks in advance,

Andre-Claude

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

Creating a %Installer.Manifest file from the current state of an InterSystems IRIS instance and managing its changes is theoretically possible using InterSystems tools, but no specific documentation references a generator or exporter tool for this purpose. Here are insights and possible steps:

  1. Using an Installation Manifest:
    A manifest class in InterSystems IRIS allows you to define and configure specific configurations declaratively. You can create a custom class with an <XData> block specifying the attributes and methods necessary to set up namespaces, CSP applications, roles, and databases. For example, <Namespace> and <Database> tags may be used to set up namespaces and databases corresponding to your current environment. The setup class method typically uses %Installer.Manifest for execution [1][1].

  2. Tags and Variables in Manifest:
    You can dynamically generate configuration setups using variables embedded in tags like <Manifest>, <Namespace>, and <Database>. These tags provide flexibility to replicate environment setups declaratively. ObjectScript expressions can also expand values during execution [1].

  3. Manual Definition of Components:
    Specific details of your IRIS instance, such as namespace settings, security roles, and CSP applications, must be extracted manually or programmatically. Consider using commands such as MERGE or leveraging other APIs documented for IRIS to extract and replicate elements [3][4][5].

  4. Management of Logs and Messages During Deployment:
    The setup method of %Installer allows directing messages and logs for deployment tracking. These can be stored externally for audit trails or debugging during environment replication [1].

  5. Export and Automation Possibilities:
    Although building a fully automated generator is not described in the current documentation, the modular nature of manifest definitions, provided examples, and utilities for setting up elements can guide constructing your “auto-export tool” using ObjectScript or related automation.

For partial tools or scripts:
- Referencing %Installer.Manifest and using its methods for defining databases, namespaces, and roles programmatically can be an initial approach.
- Engaging with the Developer Community could provide tailored solutions or open-source implementations shared by other developers [1][5].

If you need guidance on creating specific components within %Installer.Manifest, feel free to ask!

Sources: