/alfresco-helm-charts

Set of Helm Charts to ease the deployment of Alfresco on Kubernetes

Primary LanguageSmartyApache License 2.0Apache-2.0

alfresco-helm-charts

This repository aims at delivering independent and lightweight Helm charts for Alfresco Content Services platform that can be used as building blocks by devops teams to build the Content Services platform that match the organization needs.

⚠️ The existing Alfresco Helm Charts remains available and has been updated to leverage charts hosted in this repository.

If you want to understand what are the principles to leverage in order to build on top of Alfresco components' chart please refer to the getting-started-with-alfresco-charts

Each individual chart has its own documentation page that's available in the chart directory in charts/. There are the values available for each of them.

Testing

Each chart is tested against a default configuration on KinD. You can check the currently tested K8s version by looking at the KIND_NODE_IMAGE value in the main lint-test workflow.

We are ensuring backward compatibility with older K8s versions with kubeconform. You can check the oldest K8s version tested by looking at kubernetes-version inside the kubeconform-helm-min hook in pre-commit configuration.

Development

This repository follows the helm/charts-repo-actions-demo template, that support the testing and the release of helm charts with the help of two tools:

In order to install all the tools required for development on MacOS via Homebrew, run: brew bundle install

To setup pre-commit, run:

pre-commit install

To install required helm plugins:

helm plugin install https://github.com/jtyr/kubeconform-helm --version v0.1.12
helm plugin install https://github.com/helm-unittest/helm-unittest --version v0.3.4

PR workflow

Each time a PR is raised, ct automatically detects which charts has been changed and run for them:

  • linter
  • unittest
  • integration tests on KinD

Once a PR that contains a chart version bump is merged, the main workflow will release each version that has not yet released. Each chart release will trigger the creation of git tag, a GitHub release with packages attached and the update of the charts registry index.

Update dependencies

There is an initial support for bumping charts dependencies with Updatecli via a manually triggered GHA workflow.

Release

  • Ensure alfresco-common version is not a pre-release, otherwise release it.
  • Ensure supported-matrix has been manually updated for the latest acs version released and the compatibility matrix is up to date.
  • Trigger the creation of an update branch by executing Bump version with values option. Optionally you can test not yet merged changes from alfresco-updatecli by specifying a branch other than master.
  • Check that updatecli-bump-acs branch has been created. Review changes made by updatecli according to the supported matrix, eventually revert manually unwanted changes and push again.
  • Ensure that all the charts are getting a GA release (non-alpha) at this point.
  • Once the PR has been merged and all charts released, you can head to acs-deployment to update the ACS umbrella chart.