constellation/cli/internal/helm
Malte Poll bdba9d8ba6
bazel: add build files for go (#1186)
* build: correct toolchain order
* build: gazelle-update-repos
* build: use pregenerated proto for dependencies
* update bazeldnf
* deps: tpm simulator
* Update Google trillian module
* cli: add stamping as alternative build info source
* bazel: add go_test wrappers, mark special tests and select testing deps
* deps: add libvirt deps
* deps: go-libvirt patches
* deps: cloudflare circl patches
* bazel: add go_test wrappers, mark special tests and select testing deps
* bazel: keep gazelle overrides
* bazel: cleanup bazelrc
* bazel: switch CMakeLists.txt to use bazel
* bazel: fix injection of version information via stamping
* bazel: commit all build files
* dev-docs: document bazel usage
* deps: upgrade zig-cc for go 1.20
* bazel: update Perl for macOS arm64 & Linux arm64 support
* bazel: use static perl toolchain for OpenSSL
* bazel: use static protobuf (protoc) toolchain
* deps: add git and go to nix deps

Co-authored-by: Paul Meyer <49727155+katexochen@users.noreply.github.com>
2023-03-09 15:23:42 +01:00
..
charts cli: overwrite chart versions during install/upgrade 2023-02-27 16:06:35 +01:00
testdata cli: overwrite chart versions during install/upgrade 2023-02-27 16:06:35 +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
BUILD.bazel bazel: add build files for go (#1186) 2023-03-09 15:23:42 +01:00
cilium.patch deploy cilium via helmchart (#321) 2022-08-12 10:20:19 +02:00
client_test.go cli: upgrade errors for microservice (#1259) 2023-02-28 10:23:09 +01:00
client.go cli: create backups before upgrading microservices 2023-03-03 15:02:22 +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
helm.go cli: add doc comments for helm 2023-03-03 15:02:22 +01:00
loader_test.go cli: helm: move csp into ChartLoader object 2023-02-15 11:41:54 +01:00
loader.go use any instead of interface{} (#1354) 2023-03-08 10:31:20 +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 cli: add doc comments for helm 2023-03-03 15:02:22 +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.