From 54692bc243649d897d978d1c8b27441675027c0b Mon Sep 17 00:00:00 2001 From: Philippe Caseiro Date: Tue, 27 Feb 2024 11:47:30 +0100 Subject: [PATCH] feat(olm): adding operator lifecycle manager This deployment and crd allow us to use https://operatorhub.io/ this source is very usefull for operator deployments --- base/kustomization.yaml | 5 +++-- base/olm/kustomization.yaml | 6 ++++++ .../resources/mandatory-operators/kustomization.yaml | 8 ++++++++ .../resources/cloudnative-pg.yaml | 12 ++++++++++++ .../resources/minio-operator.yaml | 11 +++++++++++ .../resources/rabbitmq-cluster-operator.yaml | 12 ++++++++++++ .../resources/redis-operator.yaml | 11 +++++++++++ crds/kustomization.yaml | 6 ++++++ kustomization.yaml | 6 ++++++ 9 files changed, 75 insertions(+), 2 deletions(-) create mode 100644 base/olm/kustomization.yaml create mode 100644 base/olm/resources/mandatory-operators/kustomization.yaml create mode 100644 base/olm/resources/mandatory-operators/resources/cloudnative-pg.yaml create mode 100644 base/olm/resources/mandatory-operators/resources/minio-operator.yaml create mode 100644 base/olm/resources/mandatory-operators/resources/rabbitmq-cluster-operator.yaml create mode 100644 base/olm/resources/mandatory-operators/resources/redis-operator.yaml create mode 100644 crds/kustomization.yaml create mode 100644 kustomization.yaml diff --git a/base/kustomization.yaml b/base/kustomization.yaml index f1a47f4..5455d51 100644 --- a/base/kustomization.yaml +++ b/base/kustomization.yaml @@ -1,9 +1,10 @@ apiVersion: kustomize.config.k8s.io/v1beta1 kind: Kustomization -bases: -- ./metallb +resources: - https://github.com/cert-manager/cert-manager/releases/download/v1.10.0/cert-manager.yaml +- ./olm +- ./metallb - ./rabbitmq - ./postgresql - ./redis diff --git a/base/olm/kustomization.yaml b/base/olm/kustomization.yaml new file mode 100644 index 0000000..583dd0c --- /dev/null +++ b/base/olm/kustomization.yaml @@ -0,0 +1,6 @@ +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization + +resources: +- https://github.com/operator-framework/operator-lifecycle-manager/releases/download/v0.27.0/olm.yaml +- resources/mandatory-operators diff --git a/base/olm/resources/mandatory-operators/kustomization.yaml b/base/olm/resources/mandatory-operators/kustomization.yaml new file mode 100644 index 0000000..fd7dfda --- /dev/null +++ b/base/olm/resources/mandatory-operators/kustomization.yaml @@ -0,0 +1,8 @@ +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization + +resources: +- ./resources/redis-operator.yaml +- ./resources/minio-operator.yaml +- ./resources/cloudnative-pg.yaml +- ./resources/rabbitmq-cluster-operator.yaml diff --git a/base/olm/resources/mandatory-operators/resources/cloudnative-pg.yaml b/base/olm/resources/mandatory-operators/resources/cloudnative-pg.yaml new file mode 100644 index 0000000..cad0051 --- /dev/null +++ b/base/olm/resources/mandatory-operators/resources/cloudnative-pg.yaml @@ -0,0 +1,12 @@ +apiVersion: operators.coreos.com/v1alpha1 +kind: Subscription +metadata: + name: my-cloudnative-pg + namespace: operators +spec: + channel: stable-v1 + #startingCSV: 1.22.1 + #installPlanApproval: Manual + name: cloudnative-pg + source: operatorhubio-catalog + sourceNamespace: olm diff --git a/base/olm/resources/mandatory-operators/resources/minio-operator.yaml b/base/olm/resources/mandatory-operators/resources/minio-operator.yaml new file mode 100644 index 0000000..f92d78b --- /dev/null +++ b/base/olm/resources/mandatory-operators/resources/minio-operator.yaml @@ -0,0 +1,11 @@ +apiVersion: operators.coreos.com/v1alpha1 +kind: Subscription +metadata: + name: my-minio-operator + namespace: operators +spec: + channel: stable + startingCSV: "minio-operator.v5.0.3" + name: minio-operator + source: operatorhubio-catalog + sourceNamespace: olm diff --git a/base/olm/resources/mandatory-operators/resources/rabbitmq-cluster-operator.yaml b/base/olm/resources/mandatory-operators/resources/rabbitmq-cluster-operator.yaml new file mode 100644 index 0000000..22cb1af --- /dev/null +++ b/base/olm/resources/mandatory-operators/resources/rabbitmq-cluster-operator.yaml @@ -0,0 +1,12 @@ +apiVersion: operators.coreos.com/v1alpha1 +kind: Subscription +metadata: + name: my-rabbitmq-cluster-operator + namespace: operators +spec: + channel: stable + # startingCSV: 2.7.0 + # installPlanApproval: Manual + name: rabbitmq-cluster-operator + source: operatorhubio-catalog + sourceNamespace: olm diff --git a/base/olm/resources/mandatory-operators/resources/redis-operator.yaml b/base/olm/resources/mandatory-operators/resources/redis-operator.yaml new file mode 100644 index 0000000..e8531c3 --- /dev/null +++ b/base/olm/resources/mandatory-operators/resources/redis-operator.yaml @@ -0,0 +1,11 @@ +apiVersion: operators.coreos.com/v1alpha1 +kind: Subscription +metadata: + name: my-redis-operator + namespace: operators +spec: + channel: stable + startingCSV: "redis-operator.v0.15.1" + name: redis-operator + source: operatorhubio-catalog + sourceNamespace: olm diff --git a/crds/kustomization.yaml b/crds/kustomization.yaml new file mode 100644 index 0000000..3231142 --- /dev/null +++ b/crds/kustomization.yaml @@ -0,0 +1,6 @@ +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization + +resources: +- https://github.com/operator-framework/operator-lifecycle-manager/releases/download/v0.27.0/crds.yaml +- https://raw.githubusercontent.com/ory/k8s/v0.30.0/helm/charts/hydra-maester/crds/crd-oauth2clients.yaml diff --git a/kustomization.yaml b/kustomization.yaml new file mode 100644 index 0000000..ef877be --- /dev/null +++ b/kustomization.yaml @@ -0,0 +1,6 @@ +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization + +bases: +- ./crds +- ./base