diff --git a/RELEASE.md b/RELEASE.md index c6e8cb5..d79232e 100644 --- a/RELEASE.md +++ b/RELEASE.md @@ -54,15 +54,17 @@ hub. 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) - and operand (CRD, role definitions) - * Committing this file allows to install all the manifests and deploy an instance of the operator from a single +* Authorino Operator owns the manifests generated by the operator itself (i.e. Authorino CRD, RBAC), and stores a copy + of the operand’s manifests (AuthConfig CRD, RBAC): + + * All resources are added to the bundle manifests (`./bundle`) – for installations managed with + [Operator Lifecycle Manager (OLM)](https://olm.operatorframework.io/) + * A single file manifest is generated at `./config/deploy/manifests.yaml`, gathering the resources to install and deploy + the Operator without OLM + * Allows installing (CRDs, RBAC) and deploying (Deployment, Services) an instance of the operator from a single `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). + * Tons of Authorino docs and examples rely on this + * The `manifests` make target 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 @@ -73,14 +75,16 @@ of the operand’s manifests (CRD+roles), merged together with the deploy and bu * 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 + * The `verify-manifests` make target is used to verify 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 + 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`) + * Set at compilation time ([`controllers.DefaultAuthorinoImage`](https://github.com/Kuadrant/authorino-operator/blob/03b42633627337bc7d908e36e579340a0d8e12fb/controllers/constants.go#L95)) + * Configured in the `build.yaml` file ([example](https://github.com/Kuadrant/authorino-operator/blob/release-v0.10.0/build.yaml)) * It can be overwritten in the Authorino CR → good for dev/test/staging workflows * Set to "latest" in the main branch