You can define and manage named runtime configs with your service tile for Tanzu Operations Manager. A runtime config is a section of the tile metadata that defines global deployment configurations.
Tile authors can create tiles that contain only a runtime config or add a runtime config to an existing product tile. When a tile developer includes a runtime config as a top-level property in the tile metadata, BOSH applies the runtime config to every VM in the deployment.
You can manage runtime configs in the following ways:
For more information, see also:
When you apply changes to deployments, Tanzu Operations Manager combines the runtime config information from every tile in the deployment and assigns each named runtime config a unique identifier. Tanzu Operations Manager creates the identifier using the tile name, a generated GUID, and the runtime config name defined in the metadata.
The identifier follows the following format:
TILE_NAME-GUID-RUNTIME_CONFIG_NAME
Tile authors can add runtime_configs
as a top-level property in tile metadata. In the runtime config section, you define configuration properties that Tanzu Operations Manager applies to all deployments. A tile can support any number of runtime configs.
A named runtime config, can contain any number of add-ons. Each add-on can contain any number of jobs.
To add a runtime config to a tile, add the following section to the tile metadata:
runtime_configs:
- name: YOUR-RUNTIME-CONFIG
runtime_config: |
releases:
- name: RELEASE
version: RELEASE-VERSION
addons:
- name: YOUR-ADDON-NAME
jobs:
- name:YOUR-RUNTIME-CONFIG-JOB
release: RELEASE
properties:
YOUR-PROPERTY:
...
Where:
YOUR-RUNTIME-CONFIG
is the name of the runtime config.RELEASE
is the release used for the runtime config.RELEASE-VERSION
is the version of the release.YOUR-ADDON-NAME
is the name of the add-on that contains the runtime config job.YOUR-RUNTIME-CONFIG-JOB
is the name of the job the runtime config describes.YOUR-PROPERTY
is a property used in the job.For more information about:
Tip: Append your product name or another unique identifier to each of the named items in the runtime_configs
section.
You can remove an existing runtime config from a tile. When you upgrade the tile, Tanzu Operations Manager detects the missing reference and deletes the runtime config.
To delete a runtime config from a tile, remove the runtime_configs
section from the tile metadata.
For example, to delete a runtime config from a tile, remove the following section:
runtime_configs:
- name: YOUR-RUNTIME-CONFIG
runtime_config: |
releases:
- name: RELEASE
version: RELEASE-VERSION
addons:
- name: YOUR-ADDON-NAME
jobs:
- name:YOUR-RUNTIME-CONFIG-JOB
release: RELEASE
properties:
YOUR-PROPERTY:
...
In Tanzu Operations Manager, a runtime config tile appears as a tile with minimal configuration options. Runtime config tiles contain no stemcell, network, availability zone (AZ), or resource config information. You might create a runtime config tile if you want global deployment configurations to be applied to all VMs in deployment and you don’t need any other capability.
For a runtime config tile, tile authors are not required to define the following top-level properties:
post_deploy_errands
pre_delete_errands
job_types
The following example shows a runtime config tile with minimal configuration:
---
name: runtime-config-only-example-product
product_version: "3.4"
minimum_version_for_upgrade: "2.0"
metadata_version: "2.0"
label: 'Runtime Config Only Example Product'
description: An example product to demonstrate runtime config features
rank: 1
service_broker: false # Default value
stemcell_criteria:
os: xenial 97
version: STEMCELL-VERSION
releases:
- name: os-conf
file: os-conf
version: '15'
post_deploy_errands: []
pre_delete_errands: []
form_types:
- name: example_form
label: 'Example form'
description: 'An example form'
property_inputs:
- reference: .properties.example_string
label: 'Example string'
property_blueprints:
- name: example_string
type: string
configurable: true
default: Pizza
job_types: []
runtime_configs:
- name: example-runtime-config
runtime_config: |
releases:
- name: os-conf
version: 15
addons:
- name: login
jobs:
- name: login-banner
release: os-conf
properties:
login_banner:
text: |
(( .properties.example_string.value )).
In the previous runtime config example, the login-banner
job prints a banner when you log in to any VM in the deployment. You can use the default value defined in the form_types
section of the metadata or configure the banner by editing the Example string value in Tanzu Operations Manager.