constellation/cli/internal/helm
Otto Bittner c275464634 cli: change upgrade-plan to upgrade-check
Upgrade check is used to find updates for the current cluster.
Optionally the found upgrades can be persisted to the config
for consumption by the upgrade-execute cmd.
The old `upgrade execute` in this commit does not work with
the new `upgrade plan`.
The current versions are read from the cluster.
Supported versions are read from the cli and the versionsapi.
Adds a new config field MicroserviceVersion that will be used
by `upgrade execute` to update the service versions.
The field is optional until 2.7
A deprecation warning for the upgrade key is printed during
config validation.
Kubernetes versions now specify the patch version to make it
explicit for users if an upgrade changes the k8s version.
2023-02-08 12:30:01 +01:00
..
charts cli: use /manager as binary path 2023-01-31 10:35:26 +01:00
testdata cli: update helm chart render expectations 2023-01-31 11:36:49 +01:00
backup_test.go cli: create backups for CRDs and their resources 2023-01-05 16:52:06 +01:00
backup.go cli: create backups for CRDs and their resources 2023-01-05 16:52:06 +01:00
cilium.patch deploy cilium via helmchart (#321) 2022-08-12 10:20:19 +02:00
client_test.go cli: ask user to confirm cert-manager upgrades 2023-01-05 17:19:05 +01:00
client.go cli: change upgrade-plan to upgrade-check 2023-02-08 12:30:01 +01:00
generateCertManager.sh AB#2589: Deploy operators via Helm (#575) 2022-11-21 10:35:40 +01:00
generateCilium.sh AB#2554 GCP CSI driver deployment (#532) 2022-11-18 10:05:02 +01:00
loader_test.go keyservice: use dash in container name (#1016) 2023-01-20 18:51:06 +01:00
loader.go cli: change upgrade-plan to upgrade-check 2023-02-08 12:30:01 +01:00
README.md Microservice upgrades (#729) 2022-12-19 16:52:15 +01:00
update-csi-charts.sh keyservice: use dash in container name (#1016) 2023-01-20 18:51:06 +01:00
values.go metadata: move subnetCIDR to InstanceMetadata 2022-11-02 23:29:04 +01:00

Chart upgrades

All services that are installed via helm-install are upgraded via helm-upgrade. Two aspects are not full covered by running helm-upgrade: CRDs and values. While helm-install can install CRDs if they are contained in a chart's crds folder, upgrade won't change any installed CRDs. Furthermore, new values introduced with a new version of a chart will not be installed into the cluster if the --reuse-values flag is set. Nevertheless, we have to rely on the values already present in the cluster because some of the values are set by the bootstrapper during installation. Because upgrades should be a CLI-only operation and we want to avoid the behaviour of --reuse-values, we fetch the cluster values and merge them with any new values.

Here is how we manage CRD upgrades for each chart.

Cilium

  • CRDs are updated by cilium-operator.

cert-manager

  • installCRDs flag is set during upgrade. This flag is managed by cert-manager. cert-manager is in charge of correctly upgrading the CRDs.
  • WARNING: upgrading cert-manager might break other installations of cert-manager in the cluster, if those other installation are not on the same version as the Constellation-manager installation. This is due to the cluster-wide CRDs.

Operators

  • Manually update CRDs before upgrading the chart. Update by running applying the CRDs found in the operators/crds/ folder.

Constellation-services

  • There currently are no CRDs in this chart.