Introduction
The Spinnaker environment is up and running, but there is a need to deploy and install a customized (hotfix) service rather than upgrading the entire Spinnaker platform.
This article advises about how to deploy a hotfix to particular Spinnaker services.
Prerequisites
Please plan ahead for any additional affects a hotfix may cause. Please also note that the hotfix may not be completely be tested with compatibility for all Spinnaker versions, unlike a versioned release, which has gone through testing.
Instructions
In order to install the hotfix, the service image will need to be swapped out with the hotfix in service-settings.
In Halyard
For example, when using Halyard and in this example, a Dinghy hotfix needs to be installed, an entry will need to be made in the following service setting path (if the file doesn't already exist, please create it): .
hal/<defaultProfile>/service-settings/dinghy.yml
artifactId: <image>
The <image>
input parameter contains the docker image path with its tag name.
For example:
artifactId: armory/dinghy:2.21.4
After that, run the hal deploy apply
command to apply the changes.
For other particular services, please add different <service_name>.yml
files in the same service settings directory (.hal/<defaultProfile>/service-settings/
)
and follow the same approach.
e.g. clouddriver.yml
, kayenta.yml
, etc.
Once the affected pods boot up successfully, please verify it by using the kubectl describe pods <-pod-name>
command to check if the container within this pod has the correct hotfix image version.
In Operator
In a similar scenario, when using Operator, please locate the <service-settings>
section in SpinnakerService.yml
file, and add the artifactId
YAML content of the corresponding service's service-setting, then apply the changes.
As an example, if making the change to Dinghy to match version 2.21.4
of the service, in spec.spinnakerConfig.service-settings
spec:
spinnakerConfig:
service-settings:
clouddriver: {}
deck: {}
dinghy:
artifactId: armory/dinghy:2.21.4
echo: {}
fiat: {}
front50: {}
gate: {}
igor: {}
kayenta: {}
orca: {}
rosco: {}
Once the affected pods boot up successfully, please verify it by using the kubectl describe pods <-pod-name>
command to check if the container within this pod has the correct hotfix image version.
As Tested On Version
2.20.x, 2.21.x, 2.22.x