a9s Template Uploader Errand
Freezing Release Versions
The BOSH property freeze_release_versions allows to freeze the releases
versions used in the templates to the once specified in the service
manifest.
Set this property to true to freeze the release versions.
Template Folders
The BOSH property template_folders expects an array of folder names that
the templates-uploader errand will iterate over to find template files.
For a list of valid folder names, take a look at the current values specified in the service manifests.
Example
The following example uploads the template files for a9s PostgreSQL 15 and 17.
...
properties:
template-uploader:
template_folders:
- postgresql15
- postgresql17
...
Template Variables
The BOSH property template-vars contains a list of variables that are substituted when the templates are interpolated.
For further information about the available variables and templates, see Properties and Available Templates.
...
properties:
template-uploader:
template-vars:
global_graphite_endpoint: ''
global_syslog_endpoint: ''
global_syslog_endpoints: []
use_metrics_prefix_level_2: false
use_metrics_prefix_level_3: false
...
Template Scoped Variables
The BOSH property template-scoped-variables is a hash that defines variables that are substituted when specific
templates are interpolated.
Unlike the template-vars parameter, a glob pattern can be used to apply variables only to specific templates.
For further information about the available variables and templates, see Properties and Available Templates.
...
properties:
template-uploader:
template-scoped-vars:
"mongodb70-single-ssl.yml":
stemcell_version: "1.280"
"mongodb80*":
stemcell_version: "1.330"
...
Template Ops Files
The BOSH property template-ops-files contains a list of Ops files that will
be applied to every template.
An entry for template-ops-files can be one of the following options:
- an Ops file listed under the Ops Files section
- an absolute path inside the Service Instance
- remote HTTP or HTTPS location (self-signed certificates will not work)
For further information about the available Ops Files, see Ops Files.
Example
...
properties:
template-uploader:
template-ops-files:
- ops/rabbitmq-set-free-disk-limit.yml
- /path/on/the/vm/instance
- https://gist.github.com/username/5edf693f9198ff987228d0e78dffcc95
...
Template Scoped Ops Files
The BOSH property template-scoped-ops is a hash that defines Ops files that will be applied to specific templates.
Unlike the template-ops-files parameter, a glob pattern can be used to apply the Ops file(s) only to specific
templates.
Each entry for the template-scoped-ops hash must be a template name or a glob pattern that specifies multiple template
files. Those entries need to include an array of the following options:
- an Ops file listed under the Ops Files section
- an absolute path inside the Service Instance
- remote HTTP or HTTPS location (self-signed certificates will not work)
For further information about the available Ops Files, see Ops Files.
Example
...
properties:
template-uploader:
template-scoped-ops:
mongodb70-single-ssl.yml:
- ops/randomize_az_placement.yml
- ops/enable_ssl.yml
"mongodb80*":
- ops/set_default_instances.yml
...
Template Custom Ops Files (Inline)
The BOSH property template-custom-ops allows customers to add Ops files content (inline)
to the Template Uploader Errand. That content will be applied to every template.
Example
...
properties:
template-uploader:
template-custom-ops: |
- type: replace
path: /features?/randomize_az_placement
value: true
...
Ops Files
The following Ops files are shipped with the a9s Template Uploader Errand itself.
They can be referenced by their relative path (for example ops/randomize_az_placement.yml) in the
template-ops-files and template-scoped-ops
BOSH properties.
Some of the Ops files below rely on BOSH variables (for example ((/disk_free_limit_mem_relative))).
These variables must be present in the BOSH Director's config server (CredHub), otherwise the
deployment of the Service Instance will fail.
- General Ops Files
- IaaS Specific Ops Files
- a9s PostgreSQL
- a9s Messaging
- a9s Search
| Name | Description |
|---|---|
ops/add-tags.yml | Adds BOSH tags (deployment_name, instance_guid, org_guid and space_guid) to the Service Instance deployment. This makes it possible to identify the Cloud Foundry origin of a Service Instance on the IaaS layer. |
ops/randomize_az_placement.yml | Enables the BOSH feature randomize_az_placement, so that instances of a Service Instance are distributed randomly over the configured availability zones. |
ops/force_unique_az_master_workers.yml | Pins the master, worker and workers instance groups to the availability zone z2. |
ops/a9s-set-var-for-routing-version.yml | Sets the version of the routing release to the value of the BOSH variable ((/routing_version)) instead of using latest. |
| Name | Description |
|---|---|
ops/iaas/aws/add-master-credentials.yml | Configures the AWS credentials (((/aws_access_key_id_master)) and ((/aws_secret_access_key_master))) for the cloud-provider job of the master instance group. |
ops/iaas/aws/add-worker-credentials.yml | Configures the AWS credentials (((/aws_access_key_id_worker)) and ((/aws_secret_access_key_worker))) for the cloud-provider job of the worker instance group. |
ops/iaas/vsphere/use-vm-extensions.yml | Adds the VM extension enable-disk-UUID to the worker instance group, which is required on vSphere to expose stable disk UUIDs. |
| Name | Description |
|---|---|
ops/postgresql-enable-alias-monitor.yml | Enables the alias monitoring of the postgresql-info-webservice and sets the DNS check intervals, the request timeout, the retry attempts and the backoff delay. |
ops/postgresql-enable-appdynamics-support.yml | Enables AppDynamics support for postgresql-ha, so that Service Instances can be monitored with AppDynamics. |
ops/postgresql-enable-statistics-collector-views.yml | Grants access to the PostgreSQL statistics collector views and prefixes them with ds_. |
ops/postgresql-enabled-backup-before-starting.yml | Enables the usage of the backup directory (use_backup_dir) for postgresql-ha. |
| Name | Description |
|---|---|
ops/rabbitmq-set-free-disk-limit.yml | Sets the RabbitMQ property disk_free_limit_mem_relative to the value of the BOSH variable ((/disk_free_limit_mem_relative)). This makes the free disk limit configurable via the tiles. |
ops/rabbitmq-add-management-ui-as-route.yml | Exposes the RabbitMQ Management UI (port 15672) of a Service Instance via the Cloud Foundry Router by adding the route_registrar and bpm jobs to the mq instance group. |
| Name | Description |
|---|---|
ops/search-backup-azure-credentials.yml | Adds the Azure Storage credentials (((/search_backup_azure_account_name)) and ((/search_backup_azure_account_key))) to the OpenSearch keystore, so that backups can be stored on Azure Blob Storage. |