Versioned Releases
Last updated
Last updated
Copyright© 2023 CloudTruth
A common pattern for managing configuration is to send changes through an approval process. CloudTruth will introduce an approval workflow feature in the future. In the interim, one can accomplish the same goals by using tags against our versioned configuration store. This can be tied into your release cycle or used explicitly to update configuration between releases. It enables you to have a stable set of configurations to make several incremental changes before batching them into a single push to your production systems. One can approximate an approval process with the manual step of only allowing authorized users to update tags to current.
Tags are intrinsically tied to environments. To create one, go to the Environments page, select the desired environment and click the Create Tag button. Give the tag a name, and optionally select a point in time that the tag represents (defaults to now).
Select the Immutable option to prevent the tag from being updated to reflect recent changes.
You can also create tags using the CLI:
Once you have tags set up for your critical environments, you can use them when referencing your configuration at any of our integration points (push actions, Kubernetes operator, CLI, API, etc)
Use the tag specifier on any project mappings that you desire to use a tag on. You can also specify it globally for all project mappings by use of a helm property override at install time:
Tags are required for Push Action, as can be seen in the create/edit dialog for a push action:
To edit a tag, go to the Environment page, select the environment containing the tag, then click the triple-dot menu for the tag and select Edit Tag.
Show the date picker and click in the timestamp field to have the option of selecting a specific timestamp or selecting Now to update the tag to right now, thereby promoting it to contain all current values.
Once updated, any subsequent operations that reference this tag at one of our integration points will now get any updated values.
You can also update tags using the CLI, e.g. for use within a CI/CD pipeline:
To approximate an approval process, use the History page to check any Current changes against a tag (works for Parameters and Templates):