Skip to content

Latest commit

 

History

History
63 lines (43 loc) · 4.3 KB

README.md

File metadata and controls

63 lines (43 loc) · 4.3 KB

CircleCI

keda chart

Giant Swarm offers a keda App which can be installed in workload clusters.

Installing

There are several ways to install this app onto a workload cluster.

Upgrading keda version

The content of the helm folder are being generated by the make target called make update-chart.

This target uses vendir to fetch the helm chart contained in the fork of the keda repository that we maintain. Currently, the state is the following:

  • the giantswarm/v2.14.x branch on the fork contains latest upstream release v2.14.x, with our custom changes on top unreleased yet (TO BE 4.x) which is compatible with kubernetes 1.28 up to 1.30.
  • the giantswarm/v2.13.x branch on the fork contains latest upstream release v2.13.x, with our custom changes on top unreleased yet (TO BE 3.x) which is compatible with kubernetes 1.27 up to 1.29.
  • the giantswarm/v2.12.x branch on the fork contains latest upstream release v2.12.x, with our custom changes on top unreleased yet (TO BE 2.x) which is compatible with kubernetes 1.26 up to 1.28.
  • the giantswarm/v2.11.x branch contains latest upstream release v2.11.x, with our custom changes on top released in keda-app 1.x which is compatible with kubernetes 1.25 up to 1.27.
  • the giantswarm/v2.10.x branch contains latest upstream release v2.10.x, with our custom changes on top released in keda-app 0.x which is compatible with kubernetes 1.24 up to 1.26.

Major or minor version upgrade

If you want to upgrade this keda-app to use a newer version of keda, you need to prepare our fork first.

In keda-upstream:

  1. You need to create a new branch for the previous version (e.g. giantswarm/v2.12.x for upstream release v2.12.x using git checkout v2.12.x -b giantswarm/v2.12.x) and then cherry-pick our changes from main into it or create the release branch from main (git checkout main -b giantswarm/v2.12.x)
  2. Update the main branch to reflect latest upstream changes (sync fork should suffice).
  3. Apply our custom changes on top of that new branch. You can use cherry-pick for that.

In keda-app:

  1. Run the make target APPLICATION=keda make update-chart && helm-docs helm/keda
  2. Update schema: helm schema-gen helm/keda/values.yaml > helm/keda/values.schema.json
  3. Create a new pull request in keda-app with the generated changes. If you need further customizations, you can keep adding commits on the new keda-upstream branch, and re-run APPLICATION=keda make update-chart && helm-docs helm/keda to update the generated files. Do not forget to review this README.
  4. Merge the changes in keda-app once you're happy with the changes and you've tested it works in a workload cluster.
  5. Release a new major version of our keda app

Patch version upgrade

If you want to upgrade this keda-app to use a newer version of keda, you need to prepare our fork first.

In keda-upstream:

  1. Go the the branch of the version you want to patch (e.g. giantswarm/v2.10.x).
  2. Fetch latest tags from upstream: git fetch --tags upstream with upstream pointing to the upstream keda repository
  3. Rebase the upstream tag (git rebase -i <tag>)

In keda-app:

  1. Run the make target APPLICATION=keda make update-chart && helm-docs helm/keda in the correct release branch (0.x for keda 2.10)
  2. Update schema: helm schema-gen helm/keda/values.yaml > helm/keda/values.schema.json
  3. Create a new pull request in keda-app with the generated changes. If you need further customizations, you can keep adding commits on the new keda-upstream branch, and re-run APPLICATION=keda make update-chart && helm-docs helm/keda to update the generated files.
  4. Merge the changes in keda-app once you're happy with the changes and you've tested it works in a workload cluster.
  5. Release a new major version of our keda app