Boundary
Azure dynamic host catalogs
Boundary uses dynamic host catalogs to automatically discover Microsoft Azure resources available through Azure Resource Manager (ARM) and add them as hosts.
Dynamic host catalogs use filters to select which hosts are added to any host sets you create. For example, you can create a host catalog to sync hosts from Microsoft Azure, and then create a host set named production that selects all Azure Virtual Machines tagged with tagName eq 'production'.
To set up a dynamic host catalog, you should:
- Authenticate the host catalog to your Microsoft Azure account using a supported authentication method.
- Create a host set with a filter to select the hosts you want to sync.
The Azure plugin supports Azure Virtual Machines and Azure Virtual Machine Scale Sets in both Flexible and Uniform orchestration modes. It automatically discovers any individual virtual machines included in the scale sets and adds them as hosts.
Create a host catalog to connect with Azure
Boundary uses plugins to integrate with a variety of providers. To use a
dynamic host catalog to integrate with Azure, you create a host catalog of the
plugin type and set the plugin-name value to azure. You must also provide the
specific fields needed for Boundary to authenticate with Azure.
Complete the following steps to create a dynamic host catalog for Azure:
- Log in to Boundary.
- Select the org, and then select the project you want to create a host catalog for.
- Select Host Catalogs.
- Select New Host Catalog.
- Complete the following fields:
- Name: (Optional) An optional name for identification purposes. If you enter a name, it must be unique.
- Description: (Optional) An optional description of the host catalog for identification purposes.
- Type: (Required) Select Dynamic to create a dynamic host catalog.
- Provider: (Required) Select Azure to create a dynamic host catalog for your Azure resources.
- Tenant/Directory ID: (Required) The ARM tenant (directory) ID for your Azure Active Directory application.
- Subscription ID: (Required) The ARM subscription ID for the subscription that has read access.
- Client/Application ID: (Required) The client (application) ID of the Azure service principal that Boundary should use to authenticate and discover hosts.
- Client Secret Value: (Required) The ARM client secret value that Azure generates for authentication.
- Disable credential rotation: When enabled, Boundary does not rotate the credentials with Azure automatically. Azure host catalogs do not currently support credential rotation.
- Select Save.
Create a host set to connect with Azure
Host sets specify which Azure Resource Manager (ARM) filters should be used to identify the discovered hosts that should be added as members.
Complete the following steps to create a host set:
Log in to Boundary.
Select the org, and then select the project you want to create a host set for.
Select Host Catalogs.
Select the dynamic host catalog to which you want add a host set.
Click the Host Sets tab, and then click New.
Complete the following fields:
Name: (Optional) An optional name for identification purposes. If you enter a name, it must be unique.
Description: (Optional) An optional description of the host catalog for identification purposes.
Filter: (Optional) An array of string filters in the format
key eq 'value'. The key corresponds to a filter option liketagName. A full example would betagName eq 'application'.The filter field represents the ARM filter used to select resources that should be a part of this host set. There are some limitations with the filtering syntax. Specifically, when you use tags, other types of filters (such as on resource type) are not allowed. This means it is useful to filter directly on tag names or values as in the following examples:
Click Save.
More information
Refer to Filtering and listing resources for more information about Boundary's filter syntax and best practices.