diff --git a/RELEASE.md b/RELEASE.md index 9825e6a..c6e8cb5 100644 --- a/RELEASE.md +++ b/RELEASE.md @@ -2,9 +2,9 @@ ## Process -To release a version “v0.W.Z” of Authorino Operator in GitHub and Quay.io, follow these steps: +To release a version _“v0.W.Z”_ of Authorino Operator in GitHub and Quay.io, follow these steps: -1. Pick a stable (released) version “v0.X.Y” of the operand known to be compatible with operator’s image for “v0.W.Z”; +1. Pick a stable (released) version _“v0.X.Y”_ of the operand known to be compatible with operator’s image for _“v0.W.Z_”; if needed, [make a release of the operand first](https://github.com/Kuadrant/authorino/blob/main/RELEASE.md). 2. Run the GHA [Release operator](https://github.com/Kuadrant/authorino-operator/actions/workflows/release.yaml); make @@ -18,7 +18,7 @@ sure to fill all the fields: * Bundle and catalog channels (comma-separated) – usually: `stable` 3. Run the GHA [Build and push images](https://github.com/Kuadrant/authorino-operator/actions/workflows/build-images.yaml) -for the “v0.W.Z” tag, specifying ‘Authorino version’ equals to “0.X.Y” (without the leading “v”). This will cause the +for the _“v0.W.Z”_ tag, specifying ‘Authorino version’ equals to _“0.X.Y”_ (without the leading “v”). This will cause the new images (bundle and catalog included) to be built and pushed to the corresponding repos in [quay.io/kuadrant](https://quay.io/organization/kuadrant). @@ -32,10 +32,10 @@ The usual steps are: 1. Start a new branch named `authorino-operator-v0.W.Z` -2. Create a new directory _operators/authorino-operator/0.W.Z_ containing: +2. Create a new directory `operators/authorino-operator/0.W.Z` containing: - * Copy the bundle files from _github.com/kuadrant/authorino-operator/tree/v0.W.Z/bundle_ - * Copy _github.com/kuadrant/authorino-operator/tree/v0.W.Z/bundle.Dockerfile_ with the proper fix to the COPY commands + * Copy the bundle files from `github.com/kuadrant/authorino-operator/tree/v0.W.Z/bundle` + * Copy `github.com/kuadrant/authorino-operator/tree/v0.W.Z/bundle.Dockerfile` with the proper fix to the COPY commands (i.e. remove /bundle from the paths) ### Publishing the Operator in Kubernetes Community Operators (OperatorHub.io) @@ -51,36 +51,36 @@ hub. ## Notes on Authorino Operator’s automated builds and references to the Authorino manifests and default version * PRs merged to the main branch of Authorino Operator cause a new image to be built (GH Action) and pushed automatically -to _quay.io/kuadrant/authorino-operator:_ – the _quay.io/kuadrant/authorino-operator:latest_ tag is also moved +to `quay.io/kuadrant/authorino-operator:` – the `quay.io/kuadrant/authorino-operator:latest` tag is also moved to match the latest . * Authorino Operator owns the manifests required by the operator, i.e. Authorino CRD + role definitions, and hosts a copy of the operand’s manifests (CRD+roles), merged together with the deploy and bundle manifests: - * Stored in _config/deploy/manifests.yaml_ file that gathers resources of both operator (CRD, RBAC, Deployment, Service) + * Stored in `config/deploy/manifests.yaml` file that gathers resources of both operator (CRD, RBAC, Deployment, Service) and operand (CRD, role definitions) * Committing this file allows to install all the manifests and deploy an instance of the operator from a single - _kubectl apply_ command + `kubectl apply` command * Tons of docs in the Authorino repo relying on that * Make target manifests is used to generate the compiled version of all manifests (operator’s and operand’s). It accepts as parameters: - * _VERSION_: sets the version of the manifests of the operator generated by the operator-sdk command and image tag of - the deployment added to _config/deploy/manifests.yaml_ (default: latest) - * _AUTHORINO_VERSION_: sets the operand’s branch that sources the manifests (CRD, role definitions) that are appended - to _config/deploy/manifests.yaml_ (default: latest) + * `VERSION`: sets the version of the manifests of the operator generated by the operator-sdk command and image tag of + the deployment added to `config/deploy/manifests.yaml` (default: latest) + * `AUTHORINO_VERSION`: sets the operand’s branch that sources the manifests (CRD, role definitions) that are appended + to `config/deploy/manifests.yaml` (default: latest) - * Changes in the operand’s CRD/role definitions out date the _config/deploy/manifests.yaml_ file, thus requiring a PR to + * Changes in the operand’s CRD/role definitions out date the `config/deploy/manifests.yaml` file, thus requiring a PR to the operator repo ([example](https://github.com/Kuadrant/authorino-operator/pull/68)) - * A make target _verify-manifests_ verifies consistency of the manifests + * A make target `verify-manifests` verifies consistency of the manifests * Triggered in the CI tests * Causes all PRs in the Operator repo to break whenever there’s a change in the operand’s API committed to the main branch → requires immediate update of the copy of operand’s manifests in the main branch of the operator and rebase of all PRs - * Apart from the operand’s manifests pinned to a specific or latest version in the copy committed to - _config/deploy/manifests.yaml_, the Operator’s code contains hard-coded references to the default version of the operand - to install: - * See _v1beta1.DefaultAuthorinoImage_ (_api/v1beta1/authorino_types.go_) - * It can be overwritten in the Authorino CR → good for dev/test/staging workflows - * Set to `latest` in the main branch +* Apart from the operand’s manifests pinned to a specific or latest version in the copy committed to +`config/deploy/manifests.yaml`, the Operator’s code contains hard-coded references to the default version of the operand +to install: + * See `v1beta1.DefaultAuthorinoImage` (`api/v1beta1/authorino_types.go`) + * It can be overwritten in the Authorino CR → good for dev/test/staging workflows + * Set to "latest" in the main branch