Following section describes how to upgrade Stackl. To avoid any conflict, make sure Stackl and its agents are always running on the same version.
Using Helm, clone the Stackl Helm git repository.
git clone https://github.com/stacklio/stackl-helm.git
Configure Stackl using the variables in the configuration table.
Make sure to edit the
stackl.image to the desired values. Perform a Helm upgrade
helm install stackl-helm/stackl -n stackl stackl-name -f path/to/values.yml
helm install stackl-helm/stackl-agent -n stackl stackl-agent-name -f path/to/values.yml
Upgrade from Stackl 0.2.x to 0.3.x
Upgrading from Stackl 0.2.x to 0.3.x involves a change in existing Stackl documents and existing Stack Instances. Following guide will describe the steps needed to upgrade Stackl.
- Upgrade Stackl-core and Stackl-agent
- Upgrade Stackl-client and Stackl-cli
- Update SAT documents
Upgrade Stackl-core and Stackl-agent
Upgrading Stackl-core and Stackl-agent is as easy as described above. Simply change the image version to the desired 0.3.x versions. Once deployed, Stackl-core will attempt to make a change to existing Stackl Instances to accomodate the changes in 0.3.x and to make sure existing Stack Instances still work in the newer version. For this to work, Stackl needs to be able to connect to the datastore. If the datastore is not running at the time of Stackl-core’s start, it will throw an error.
Upgrade Stackl-client and Stackl-cli
As described at the beginning of this section, make sure all Stackl-components are running on the same version. After upgrading, make sure that any tool using Stackl (automation images, pipelines, …) is upgraded to the correct version to ensure everything keeps working.
Update SAT documents
Next, be sure to update the SAT documents. In Stackl 0.3.x a new feature is introduced to allow for multiple of the same services to be used in a Stack Instance and in a SAT. The
services field in SAT documents changed from a list of string to a list of dicts. For example:
category: configs name: example_sat services: - example_service type: stack_application_template
category: configs name: example_sat services: - name: example_service service: example_service type: stack_application_template