Introduction¶
The Paas Operator can be installed through Operator Lifecycle Manager (OLM). This installation model is intended for environments where you want:
- a managed operator lifecycle through OLM;
- staged rollout across multiple environments; and
- a source-controlled catalog with explicit promotion between channels.
The project uses the following OLM channels:
candidate: intended for development clusters;fast: intended for pre-production clusters;stable: intended for production clusters.
New releases are first added to candidate. Promotion to fast and stable
is performed later, after validation in the earlier environment.
Promotion is sequential: a version must first be promoted to fast before it
can be promoted to stable.
How rollout works¶
The operator publishes:
- one immutable operator image per release;
- one immutable OLM bundle image per release; and
- one catalog image built from the source-controlled file-based catalog in this repository.
Rollout is controlled by OLM channel membership. All clusters can use the same catalog image reference while subscribing to different channels.
This means:
- development clusters subscribe to
candidate; - pre-production clusters subscribe to
fast; - production clusters subscribe to
stable.
Catalog image¶
The OLM catalog image is published to:
This tag is only a delivery reference for the current catalog image. The actual rollout behavior comes from the subscribed OLM channel.
Example installation objects¶
You will typically need:
- a
CatalogSource; - an
OperatorGroup; and - a
Subscription.
CatalogSource¶
apiVersion: operators.coreos.com/v1alpha1
kind: CatalogSource
metadata:
name: opr-paas-catalog
namespace: openshift-marketplace
spec:
sourceType: grpc
image: ghcr.io/belastingdienst/opr-paas-catalog:latest
displayName: opr-paas Catalog
publisher: Belastingdienst
OperatorGroup¶
apiVersion: operators.coreos.com/v1
kind: OperatorGroup
metadata:
name: opr-paas
namespace: paas-system
spec:
targetNamespaces:
- paas-system
Subscription¶
Development clusters should subscribe to candidate:
apiVersion: operators.coreos.com/v1alpha1
kind: Subscription
metadata:
name: opr-paas
namespace: paas-system
spec:
channel: candidate
installPlanApproval: Automatic
name: opr-paas
source: opr-paas-catalog
sourceNamespace: openshift-marketplace
For pre-production clusters, change the channel to fast.
For production clusters, change the channel to stable.
To enable the ArgoCD plugin generator when installing through OLM, set
ARGOCD_PLUGIN_GENERATOR_BIND_ADDRESS through spec.config.env on the
Subscription, and provide ARGOCD_GENERATOR_TOKEN through the operator pod
environment.
Airgapped environments¶
In airgapped environments, mirror the following images into the registry that your cluster can access:
- the operator image;
- the OLM bundle image; and
- the OLM catalog image.
Mirroring is the transport mechanism. Rollout policy still comes from the OLM
channel selected in the Subscription.