Pushing Runtime Configuration with Event Portal REST APIs

If you enable runtime configuration for an environment, Event Portal can send configuration updates to the operational event brokers in the environment using several methods:

  • automatically on promotion
  • on demand with an API call
  • using your organization's CI/CD pipeline.

If you want to make runtime configuration updates to event brokers on demand or through your organization's pipeline, you need to use the REST API for Solace Cloud.

Setting Runtime Configuration Options

You specify how runtime configuration is pushed to an event broker at the environment level. The environment setting applies to event brokers in every modeled event mesh in the environment. For more information, see Setting Event Portal Runtime Configuration Options.

If you want to send runtime configuration updates on demand or through your organization's pipeline, select one of these options:

On Demand
Select this option to create a runtime configuration job when you promote an application to an environment in Event Portal, but not push the configuration to operational event brokers automatically at that time. This option lets you manually trigger the configuration updates using an API.
Self-Managed
Select this option to create a runtime configuration job that Event Portal does not push to your operational event brokers. This option lets you update your event brokers using your organization's existing CI/CD pipelines and software development workflows. This option does not automatically update the configuration status in Event Portal when the push job is complete. You can manually update the status in Event Portal using an API.

Application Configuration Push Job APIs

The REST APIs for Event Portal include the following APIs to manage runtime configuration.

Event Portal API Description

Get a list of configuration push jobs by application identifier

Retrieves the list of available configuration push jobs that are associated with a specific application ID.

The returned ID of the configuration push job can be used by the other APIs.

Requires an API token with the application:get:* permission.

Run a configuration push job

Runs the Event Portal configuration push job for a specified configuration push job ID to provision an operational event broker on demand.

Requires an API token with the application_configuration_push_job:run:* permission.

Get a configuration push job's runtime configurations for self-managed configuration push

Retrieves the complete runtime configuration for a specified configuration push job ID, formatted in Terraform HashiCorp Configuration Language (HCL).

You can use the returned runtime configuration for self-managed configuration push.

Requires an API token with the application_configuration_push_job:*:* permission.

Update the status of a configuration push job

Updates the status of self-managed configuration push to ensure that Event Portal remains synchronized with the actual deployment state.

Requires an API token with the application_configuration_push_job:update_status:* permission.

To use the APIs, you need an API token with the required permissions. For more information, see Authentication.

Getting a Configuration Push Job ID

To push runtime configuration to an event broker, you first need the ID of the configuration push job created when you promoted the application to the environment. You need to find the ID for the application you promoted and then provide it to the Get a list of configuration push jobs by application identifier API to get the configuration push job ID.

To get the ID for a configuration push job, perform these steps:

  1. Log in to the Solace Cloud Console if you have not done so yet. The URL to access the Cloud Console differs based on your authentication scheme. For more information, see Logging In to the Solace Cloud Console.
  2. On the navigation bar, select Designer .
  3. On the Application Domains page, click the application domain that contains the application you promoted.
  4. In graph view or component view, open the full application details. For more information, see Creating and Managing Standard Solace Applications.
  5. You can find the application ID between applications/ and ?domainName in the URL of the Application Details page.

    For example, if the URL is https://example.solace.cloud/ep/designer/domains/a2sdf34ghj/applications/zxc3v45b6n?domainName=Mydomain&selectedVersionId=q1w2ert3yu8fau, the application ID is zxc3v45b6n.

  6. Provide the application ID to the Get a list of configuration push jobs by application identifier API to get the list of configuration push jobs for that application.

    The response includes a list of configuration push jobs that include the application.

  7. In the response from the API, locate the configuration job that you want to push and copy the returned "id": value.

    You provide the returned configuration push job ID to the API that performs the configuration push.

Pushing On-Demand Configuration Updates

To push runtime configuration updates to an event broker on demand using the connection between Event Portal and the event broker, use the Run a configuration push job API and include the configuration push job ID as the jobId path parameter.

Pushing Self-Managed Configuration Updates

If you want additional control over pushing configuration updates to event brokers, you can use the Get a configuration push job's runtime configurations for self-managed configuration push API to retrieve the complete runtime configuration push job, formatted as JSON Terraform HCL. You then have the ability to use your own tools and processes in several ways:

  • Store configurations in version control tools—Maintain a history of your event broker configurations in Git or other repositories.

  • Integrate with external CI/CD pipelines—Use the HCL configuration with Terraform or other infrastructure-as-code tools to provision operational event brokers.

  • Implement custom deployment workflows—Build sophisticated deployment strategies tailored to your organization's needs.

  • Audit and compliance—Track configuration changes and maintain compliance with your organizational standards.

To get the complete runtime configuration push job, use the Get a configuration push job's runtime configurations for self-managed configuration push API and include the configuration push job ID as the jobId path parameter.

Updating the Deployment Status for Self-Managed Updates

If you are managing your own runtime configuration process, pushing runtime configuration to an event broker using the Get a configuration push job's runtime configurations for self-managed configuration push API does not automatically update the configuration status in Event Portal. You must update the configuration status in manually to indicate that the push job is complete.

To update the status in Event Portal, use the Update the status of a configuration push job API and include the configuration push job ID as the jobId path parameter.

If you are sending on-demand configuration updates using the Run a configuration push job API the status in Event Portal updates automatically.