From f412006d6b819aad7d2cc85af930fac43ca604c1 Mon Sep 17 00:00:00 2001 From: Dario Tranchitella Date: Fri, 25 Aug 2023 17:14:03 +0200 Subject: [PATCH 1/4] fix(docs): broken link for maintainers file --- docs/content/contributing/governance.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/content/contributing/governance.md b/docs/content/contributing/governance.md index 8fb4305c..6c9af9b0 100644 --- a/docs/content/contributing/governance.md +++ b/docs/content/contributing/governance.md @@ -17,7 +17,7 @@ In the context of Capsule project, we consider the following roles: The release process will be governed by Maintainers. -Please, refer to the [maintainers file](https://github.com/clastix/capsule/blob/master/.github/blob/master/maintainers.yaml) available in the source code. +Please, refer to the [maintainers file](https://github.com/clastix/capsule/blob/master/.github/maintainers.yaml) available in the source code. ## Roadmap Planning From 2716ad3522ccefaccaa8025a7ac8c5438f877d18 Mon Sep 17 00:00:00 2001 From: Dario Tranchitella Date: Fri, 25 Aug 2023 17:33:35 +0200 Subject: [PATCH 2/4] feat(docs): release process --- docs/content/contributing/release.md | 34 ++++++++++++++++++++++++++++ docs/gridsome.server.js | 7 ++++-- 2 files changed, 39 insertions(+), 2 deletions(-) create mode 100644 docs/content/contributing/release.md diff --git a/docs/content/contributing/release.md b/docs/content/contributing/release.md new file mode 100644 index 00000000..aadf6a1f --- /dev/null +++ b/docs/content/contributing/release.md @@ -0,0 +1,34 @@ +# Release Process + +The Capsule release process is constrained to _GitHub Releases_, following the git tag semantic versioning. + +## Semantic versioning convention + +Capsule is taking advantage of the [Semantic Versioning](https://semver.org/), although with some rules about the patch, the minor and the major bump versions. + +- `patch` (e.g.: 0.1.0 to 0.1.1): + a patch bumping occurs when some bugs are fixed, and no Kubernetes CRDs API changes are introduced. + The patch can contain also new features not yet promoted to a specific Kubernetes CRDs API type. + A patch may be used also to address CVE patches. +- `minor` (e.g.: 0.1.0 to 0.2.0): + a minor bumping occurs when a new CRDs API object is introduced, or rather, when some CRDs schemes are updated. + The minor bump is used to inform the Capsule adopters to manually update the Capsule CRDs, since Helm, the suggested tool for the release lifecycle management, is not able to automatically update the objects. + Upon every minor release, on the GitHub Release page, a list of API updates is described, and a link to the [upgrade guide](https://capsule.clastix.io/docs/guides/upgrading) is provided. +- `major` (e.g.: 0.1.0 to 1.0.0): + a major bump occurs when a breaking change, such as backward incompatible changes is introduced. + +## Container hosting + +All the Capsule container images are publicly hosted on [CLASTIX](https://clastix.io) [Docker Hub repository](https://hub.docker.com/r/clastix/capsule). + +The Capsule container image is built upon a git tag (issued thanks to the _GitHub Release_ feature) starting with the prefix `v` (e.g.: `v1.0.1`). +This will trigger a _GitHub Action_ which builds a multi-arch container image, then pushes it to the container registry. + +> The `latest` tag is not available to avoid moving git commit SHA reference. + +## Helm Chart hosting + +The suggested installation tool is [Helm](https://helm.sh), and the Capsule chart is hosted in the [GitHub repository](https://github.com/clastix/capsule/tree/master/charts/capsule). +For each Helm Chart release, a tit tag with the prefix `helm-v` will be issued to help developers to address the corresponding commit. + +The built Helm Charts are then automatically pushed upon tag release to the [CLASTIX Helm repository](https://clastix.github.io/charts). diff --git a/docs/gridsome.server.js b/docs/gridsome.server.js index ad2ccbb8..ac07591a 100644 --- a/docs/gridsome.server.js +++ b/docs/gridsome.server.js @@ -123,14 +123,17 @@ module.exports = function (api) { { label: 'Governance', path: '/docs/contributing/governance' - } + }, + { + label: 'Release process', + path: '/docs/contributing/release' + } ] } ] }) }) - api.createPages(({ createPage }) => { // Use the Pages API here: https://gridsome.org/docs/pages-api/ }) From a3f9a6df4a48618ee696f89338246c8ffbca7817 Mon Sep 17 00:00:00 2001 From: Dario Tranchitella Date: Fri, 25 Aug 2023 17:36:44 +0200 Subject: [PATCH 3/4] chore(spellcheck): ignoring new vocabularies --- docs/content/dictionary.txt | 3 +++ 1 file changed, 3 insertions(+) diff --git a/docs/content/dictionary.txt b/docs/content/dictionary.txt index 75792e7e..04604291 100644 --- a/docs/content/dictionary.txt +++ b/docs/content/dictionary.txt @@ -3,11 +3,13 @@ APIs Apache2 Authenticator BYOD +CLASTIX CLI CRD CRDs CRs CTO +CVE CVE-2021-25735 CaaS CapsuleConfiguration @@ -106,6 +108,7 @@ RoleBinding RuntimeClass RuntimeClasses SDK +SHA SRE SSD ScopeSelectorOperator From f684cf84d2735055f6bf84d4853f864356acfc09 Mon Sep 17 00:00:00 2001 From: Dario Tranchitella Date: Fri, 25 Aug 2023 17:40:50 +0200 Subject: [PATCH 4/4] chore(docs): release process in readme --- README.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/README.md b/README.md index d7827fdd..e2c03f28 100644 --- a/README.md +++ b/README.md @@ -105,6 +105,10 @@ You can find how the Capsule project is governed [here](https://capsule.clastix. Please, refer to the maintainers file available [here](.github/maintainers.yaml). +## Release process + +Please, refer to the [documentation page](https://capsule.clastix.io/docs/contributing/release). + # FAQ - Q. How to pronounce Capsule?