Upgrading an application#
First, for first-party applications, release a new version of the application by pushing an image with the new version tag to whichever Docker repository is used. For most applications, this should be done via GitHub Actions when a tag is created by adding a new release.
Then, update Phalanx to install the new version of the application.
If it is a first-party application such as
mobu
, with its chart directly in Phalanx, update theappVersion
inChart.yaml
.If it is a third-party application such as
cert-manager
and you are updating to a newer version of the third-party Helm chart, update theversion
in the relevant dependency inChart.yaml
. Normally Mend Renovate will create PRs to do this automatically.If it is a complex application such as
sasquatch
that bundles first- and third-party applications, you may need to do both, including making updates toappVersion
or dependency versions in thecharts
subdirectory. Tricky cases such as these may require some study before deciding on the best course of action.If you only want to test a new version of the application in a specific environment, edit the
values-environment.yaml
file for that environment and override theimage.tag
setting to point to the new test version. This can be either a new tag or (more commonly) the name of an image built from a branch, such astickets-DM-NNNNN
. In this case, you will also want to setimage.pullPolicy
toAlways
so that you can restart the deployment to pick up new test versions.image.tag
andimage.pullPolicy
are the normal names for these settings but, depending on the application, the specific configuration setting may be different.
Once you have updated the application, Argo CD will notice that the change is pending, but no changes will be applied automatically. To apply the changes in a given environment, see Syncing Argo CD in an environment.