Configuring Multiple Pre-Built Repositories
  • 23 May 2023
  • Dark
    Light
  • PDF

Configuring Multiple Pre-Built Repositories

  • Dark
    Light
  • PDF

Article summary

Itential Automation Platform (IAP) supports the configuration of multiple Prebuilt Automation repositories. This means that a user can provide configurations to fetch Pre-built Automations from multiple repository locations as well as install and manage those Pre-built Automations in a single IAP environment.

This guide defines the minimum requirements and process to have functioning multi-repository configurations in Itential Automation Platform. Instructions on how to create, manage, and delete these Prebuilt-Automation repository configurations are also provided.

Repository Configuration Properties

The configuration properties for the @itentialopensource Prebuilt Automation repository are configured by default on startup of IAP.

The following properties are required for a Pre-built Automation repository configuration.

Property Description
enabled A flag that denotes if the repository configuration is connected or disconnected.
versionStatus Specified as current or latest. Rendered as "Show all Versions" in the configuration, this flag denotes if the content of the repository will show older prebuilts that might or might not be compatible with the local system. In other words, the prebuilts displayed by default match the version of the local system; however, when this property set to "latest", it will also show any prebuilts from older versions but only the most recent version.
type The type of repository configuration.
hostname The hostname or IP address of the repository server.
path The path for the repository server.
Hint: The path must be the part of the url after the https://hostname/.
credentials The necessary credentials needed to authorize access to a repository (e.g., required if accessing a private gitlab repository).
token The access token used to authorize access to a repository.


Sample Repository Configuration_

Below is a sample configuration for repoConfigs.

{
    ...
    "repoConfigs": {
        "@itentialopensource": {
            "enabled": true,
            "versionStatus": "current",
            "type": "gitlab",
            "hostname": "gitlab.com",
            "path": "itentialopensource/pre-built-automations",
            "credentials": {
                "token": "TOKEN STRING"
            }
        }
    }
    ...
}

Supported Repository Types

The type property of repoConfigs can only be set to the types supported within IAP such as the following:

Type Description
gitlab For use when the repository is within GitLab.

Managing Pre-built Repository Configurations

The repository configurations can be managed from the Repositories menu item of the Pre-builts section in Admin Essentials.

Figure 1: Admin Essentials Repositories
07_browsePrebuilt-Repositories_21.2

In the Browse menu, a user can select from a dropdown the repository configuration that will be used to fetch Pre-built Automations.

The sidebar has a Repositories section that allows a user to manage their repository configurations. A user has the ability to create, edit, or delete a configuration. In addition to these options, a user can also select to View All which will allow the user to view all of the repository configurations currently on the system.

Figure 2: Manage Repository Configurations
08_manageRepoConfigs_21.2

Editing a repo config can be done from the Repository Config details page.

Figure 3: Edit Repository Config
09_editRepoConfigs_21.2

Add a New Pre-built Repository

A user can create a new repository configuration by going to the Repositories menu item of the Pre-built section of Admin Essentials and selecting the Create button in the upper left button bar. A dialog will appear, prompting the user to fill in the Configuration Properties.

A user can also create a new repository configuration without using the UI. An API request can be sent to POST /prebuilts-repository/configs with a request body of the following:

{
    "name": "test",
    "config": {
        "enabled": true,
        "versionStatus": "current",
        "type": "gitlab",
        "hostname": "gitlab.com",
        "path": "itentialopensource/pre-built-automations",
        "credentials": {}
    }
}

Edit a Pre-built Repository Configuration

A user can edit an existing repository configuration by going to the Repositories menu item of the Pre-built section of Admin Essentials and selecting Edit repository details. A dialog will appear, prompting the user to modify each property that can be edited.

Connect or Disconnect a Pre-built Repository Configuration

A user can connect or disconnect an existing repository configuration by going to the Repositories menu item of the Pre-built section of Admin Essentials and selecting the target configuration. A dialog will appear with all of the existing properties for the selected repository configuration. At the top of the dialog there is a toggle that can be switched on/off which represents the repository configuration being 'connected' or 'disconnected'.

Note: If a repository configuration is disconnected, any associated Pre-built Automations installed on the system will no longer be able to receive any updates. Once the repository configurations is reconnected then the Pre-built Automations can resume receiving updates.

Delete a Pre-built Repository Configuration

A user can delete an existing repository configuration by going to the Repositories menu item of the Pre-built section of Admin Essentials and selecting the target configuration. Then choose "Delete" in the more button at the upper right side. A dialog will appear, prompting the user to select a repository configuration to delete.

Note: If a repository configuration is deleted from IAP and that configuration had associated Pre-built Automations that were installed on the system, each of those Pre-built Automations will be updated to a "local" configuration. This means the Pre-built Automations is no longer associated with a repository and will not be able to receive updates. Furthermore, if the repository is reconnected and the same Pre-built Automations are installed, they will conflict with the "local" Pre-builts and must be managed accordingly.

Viewing Installed Pre-builts from Different Repositories

Installed pre-builts from different repositories will appear under the Pre-builts tab in Admin Essentials. Each repository config will be listed as a collapsible menu, with the pre-builts from that config listed under it. Pre-builts from connected repositories will have update icons if they are out of sync; pre-builts from disconnected repositories will not check the repository for updates. In addition, pre-builts from deleted repositories will not check for updates (as the repository is no longer accessible), and will also be moved under a local namespace in the sidebar.

The dropdown menu within the Pre-builts Catalog also allows the user to choose which repository to query when getting a list of pre-builts. This interface limits the query to only one repository at a time.


Was this article helpful?

What's Next
Changing your password will log you out immediately. Use the new password to log back in.
First name must have atleast 2 characters. Numbers and special characters are not allowed.
Last name must have atleast 1 characters. Numbers and special characters are not allowed.
Enter a valid email
Enter a valid password
Your profile has been successfully updated.