- 23 May 2023
-
DarkLight
-
PDF
Configuring Multiple Pre-Built Repositories
- Updated on 23 May 2023
-
DarkLight
-
PDF
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
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
Editing a repo config can be done from the Repository Config details page.
Figure 3: Edit Repository Config
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.