From a133e9c4ce18f87c46803ccdcd61dc7c66b01945 Mon Sep 17 00:00:00 2001 From: doodgeMatvey Date: Wed, 24 Jan 2024 21:34:21 +0200 Subject: [PATCH] operator helm for v0.1.5 release version was implemented --- charts/operator/Chart.yaml | 4 +-- .../clusters.instaclustr.com_cadences.yaml | 3 +++ .../clusters.instaclustr.com_cassandras.yaml | 3 +++ ...lusters.instaclustr.com_kafkaconnects.yaml | 3 +++ .../crds/clusters.instaclustr.com_kafkas.yaml | 3 +++ .../clusters.instaclustr.com_postgresqls.yaml | 23 ++++++++++++++++++ .../crds/clusters.instaclustr.com_redis.yaml | 3 +++ charts/operator/values.yaml | 18 +++++++++++++- docs/operator-0.1.9.tgz | Bin 0 -> 20201 bytes index.yaml | 12 ++++++++- 10 files changed, 68 insertions(+), 4 deletions(-) create mode 100644 docs/operator-0.1.9.tgz diff --git a/charts/operator/Chart.yaml b/charts/operator/Chart.yaml index b9d36fc..300a74f 100644 --- a/charts/operator/Chart.yaml +++ b/charts/operator/Chart.yaml @@ -15,10 +15,10 @@ type: application # This is the chart version. This version number should be incremented each time you make changes # to the chart and its templates, including the app version. # Versions are expected to follow Semantic Versioning (https://semver.org/) -version: 0.1.8 +version: 0.1.9 # This is the version number of the application being deployed. This version number should be # incremented each time you make changes to the application. Versions are not expected to # follow Semantic Versioning. They should reflect the version the application is using. # It is recommended to use it with quotes. -appVersion: "0.1.4" +appVersion: "0.1.5" diff --git a/charts/operator/crds/clusters.instaclustr.com_cadences.yaml b/charts/operator/crds/clusters.instaclustr.com_cadences.yaml index 80e094b..d7a0cac 100644 --- a/charts/operator/crds/clusters.instaclustr.com_cadences.yaml +++ b/charts/operator/crds/clusters.instaclustr.com_cadences.yaml @@ -140,6 +140,8 @@ spec: type: object dataDiskSize: type: string + enableAutomation: + type: boolean nodeCPU: format: int64 type: integer @@ -159,6 +161,7 @@ spec: required: - cloudInitScriptRef - dataDiskSize + - enableAutomation - nodeCPU - nodeMemory - osDiskSize diff --git a/charts/operator/crds/clusters.instaclustr.com_cassandras.yaml b/charts/operator/crds/clusters.instaclustr.com_cassandras.yaml index e393d6d..abcd7c6 100644 --- a/charts/operator/crds/clusters.instaclustr.com_cassandras.yaml +++ b/charts/operator/crds/clusters.instaclustr.com_cassandras.yaml @@ -156,6 +156,8 @@ spec: type: object dataDiskSize: type: string + enableAutomation: + type: boolean nodeCPU: format: int64 type: integer @@ -175,6 +177,7 @@ spec: required: - cloudInitScriptRef - dataDiskSize + - enableAutomation - nodeCPU - nodeMemory - osDiskSize diff --git a/charts/operator/crds/clusters.instaclustr.com_kafkaconnects.yaml b/charts/operator/crds/clusters.instaclustr.com_kafkaconnects.yaml index 4d7245a..ef55deb 100644 --- a/charts/operator/crds/clusters.instaclustr.com_kafkaconnects.yaml +++ b/charts/operator/crds/clusters.instaclustr.com_kafkaconnects.yaml @@ -194,6 +194,8 @@ spec: type: object dataDiskSize: type: string + enableAutomation: + type: boolean nodeCPU: format: int64 type: integer @@ -213,6 +215,7 @@ spec: required: - cloudInitScriptRef - dataDiskSize + - enableAutomation - nodeCPU - nodeMemory - osDiskSize diff --git a/charts/operator/crds/clusters.instaclustr.com_kafkas.yaml b/charts/operator/crds/clusters.instaclustr.com_kafkas.yaml index 025541c..25acb7c 100644 --- a/charts/operator/crds/clusters.instaclustr.com_kafkas.yaml +++ b/charts/operator/crds/clusters.instaclustr.com_kafkas.yaml @@ -180,6 +180,8 @@ spec: type: object dataDiskSize: type: string + enableAutomation: + type: boolean nodeCPU: format: int64 type: integer @@ -199,6 +201,7 @@ spec: required: - cloudInitScriptRef - dataDiskSize + - enableAutomation - nodeCPU - nodeMemory - osDiskSize diff --git a/charts/operator/crds/clusters.instaclustr.com_postgresqls.yaml b/charts/operator/crds/clusters.instaclustr.com_postgresqls.yaml index f65b1fd..a666752 100644 --- a/charts/operator/crds/clusters.instaclustr.com_postgresqls.yaml +++ b/charts/operator/crds/clusters.instaclustr.com_postgresqls.yaml @@ -129,6 +129,23 @@ spec: type: array description: type: string + extensions: + description: PgExtensions defines desired state of extensions + items: + description: PgExtension defines desired state of an extension + properties: + enabled: + type: boolean + name: + type: string + required: + - enabled + - name + type: object + type: array + x-kubernetes-validations: + - message: extensions cannot be changed after it is set + rule: self == oldSelf name: description: Name [ 3 .. 32 ] characters. type: string @@ -147,6 +164,8 @@ spec: type: object dataDiskSize: type: string + enableAutomation: + type: boolean nodeCPU: format: int64 type: integer @@ -166,6 +185,7 @@ spec: required: - cloudInitScriptRef - dataDiskSize + - enableAutomation - nodeCPU - nodeMemory - osDiskSize @@ -268,6 +288,9 @@ spec: version: type: string type: object + x-kubernetes-validations: + - message: extensions cannot be changed after it is set + rule: has(self.extensions) == has(oldSelf.extensions) status: description: PgStatus defines the observed state of PostgreSQL properties: diff --git a/charts/operator/crds/clusters.instaclustr.com_redis.yaml b/charts/operator/crds/clusters.instaclustr.com_redis.yaml index 069ca79..82b64ba 100644 --- a/charts/operator/crds/clusters.instaclustr.com_redis.yaml +++ b/charts/operator/crds/clusters.instaclustr.com_redis.yaml @@ -130,6 +130,8 @@ spec: type: object dataDiskSize: type: string + enableAutomation: + type: boolean nodeCPU: format: int64 type: integer @@ -149,6 +151,7 @@ spec: required: - cloudInitScriptRef - dataDiskSize + - enableAutomation - nodeCPU - nodeMemory - osDiskSize diff --git a/charts/operator/values.yaml b/charts/operator/values.yaml index a44dc35..56333bf 100644 --- a/charts/operator/values.yaml +++ b/charts/operator/values.yaml @@ -4,7 +4,7 @@ replicaCount: 1 image: repository: icoperator/instaclustr-operator pullPolicy: IfNotPresent - tag: v0.1.4 + tag: v0.1.5 port: 8080 @@ -62,6 +62,14 @@ rbac: verbs: - create - patch + - apiGroups: + - "" + resources: + - namespaces + verbs: + - get + - list + - watch - apiGroups: - "" resources: @@ -121,6 +129,14 @@ rbac: - patch - update - watch + - apiGroups: + - apps + resources: + - deployments + verbs: + - get + - list + - watch - apiGroups: - cdi.kubevirt.io resources: diff --git a/docs/operator-0.1.9.tgz b/docs/operator-0.1.9.tgz new file mode 100644 index 0000000000000000000000000000000000000000..d7d7593beff86a37549aca26f186418290db77fb GIT binary patch literal 20201 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