From f955a75c9cc81449defc010177c73a88cee327d6 Mon Sep 17 00:00:00 2001 From: Shubham Gupta Date: Sun, 24 Sep 2023 01:58:56 +0530 Subject: [PATCH 1/5] fix operator chart Signed-off-by: Shubham Gupta --- charts/redis-operator/Chart.lock | 4 ++-- charts/redis-operator/Chart.yaml | 4 ++-- charts/redis-operator/readme.md | 24 ++++++++++++++++--- .../templates/cert-manager.yaml | 3 ++- .../templates/operator-deployment.yaml | 15 +++++++++--- charts/redis-operator/values.yaml | 23 +++++++++++------- 6 files changed, 53 insertions(+), 20 deletions(-) diff --git a/charts/redis-operator/Chart.lock b/charts/redis-operator/Chart.lock index da0c6637..397ae976 100644 --- a/charts/redis-operator/Chart.lock +++ b/charts/redis-operator/Chart.lock @@ -2,5 +2,5 @@ dependencies: - name: cert-manager repository: https://charts.jetstack.io version: v1.12.4 -digest: sha256:59620acecec8286044638610b9aeeb0df7282987a8d5251dfa52c9742df41198 -generated: "2023-09-09T00:52:20.011999198+05:30" +digest: sha256:57ad8d5904a051cc36bf28bc3f6bf874224a79f462cd67dba56c7c7cc55a044f +generated: "2023-09-24T01:13:17.136034495+05:30" diff --git a/charts/redis-operator/Chart.yaml b/charts/redis-operator/Chart.yaml index e39156bd..351ea278 100644 --- a/charts/redis-operator/Chart.yaml +++ b/charts/redis-operator/Chart.yaml @@ -24,5 +24,5 @@ dependencies: - name: cert-manager version: v1.12.4 repository: https://charts.jetstack.io - alias: cert-manager - condition: cert-manager.enabled \ No newline at end of file + alias: certManager + condition: certManager.enabled \ No newline at end of file diff --git a/charts/redis-operator/readme.md b/charts/redis-operator/readme.md index 7bf61784..ae0e58b2 100644 --- a/charts/redis-operator/readme.md +++ b/charts/redis-operator/readme.md @@ -31,10 +31,12 @@ kubectl apply -f https://github.com/cert-manager/cert-manager/releases/download/ Replace `` and `` with your specific values. ```bash -helm install ot-helm/redis-operator --version=0.15.4 --appVersion=0.15.1 --set certificate.secretName= --set cert-manager=true --namespace --create-namespace +helm install ot-helm/redis-operator --version=0.15.5 --appVersion=0.15.1 --set certificate.secretName= --set certManager.enabled=true --namespace --create-namespace ``` > Note: If `certificate.secretName` is not provided, the operator will generate a self-signed certificate and use it for webhook server. +--- +> Note : If you want to disable the webhook you have to pass the `--set webhook=false` while installing the redis-operator. ### 4. Patch the CA Bundle (if using cert-manager) @@ -74,8 +76,14 @@ kubectl create secret tls --key tls.key --cert tls.crt -n |-------------------------------------|------------------------------------|--------------------------------------------------------------| | `redisOperator.name` | Operator name | `redis-operator` | | `redisOperator.imageName` | Image repository | `quay.io/opstree/redis-operator` | -| `redisOperator.imageTag` | Image tag | | +| `redisOperator.imageTag` | Image tag | `{{appVersion}}` | | `redisOperator.imagePullPolicy` | Image pull policy | `Always` | +| `redisOperator.podAnnotations` | Additional pod annotations | `{}` | +| `redisOperator.podLabels` | Additional Pod labels | `{}` | +| `redisOperator.extraArgs` | Additional arguments for the operator | `{}` | +| `redisOperator.watch_namespace` | Namespace for the operator to watch | `""` | +| `redisOperator.env` | Environment variables for the operator | `{}` | +| `redisOperator.webhook` | Enable webhook | `true` | | `resources.limits.cpu` | CPU limit | `500m` | | `resources.limits.memory` | Memory limit | `500Mi` | | `resources.requests.cpu` | CPU request | `500m` | @@ -89,4 +97,14 @@ kubectl create secret tls --key tls.key --cert tls.crt -n | `issuer.email` | Issuer email | `shubham.gupta@opstree.com` | | `issuer.server` | Issuer server URL | `https://acme-v02.api.letsencrypt.org/directory` | | `issuer.privateKeySecretName` | Private key secret name | `letsencrypt-prod` | -| `cert-manager.enabled` | Enable cert-manager | `true` | +| `certManager.enabled` | Enable cert-manager | `true` | + +## Scheduling Parameters + +| Parameter | Description | Default | +|-------------------------|--------------------------------------------|----------| +| `priorityClassName` | Priority class name for the pods | `""` | +| `nodeSelector` | Labels for pod assignment | `{}` | +| `tolerateAllTaints` | Whether to tolerate all node taints | `false` | +| `tolerations` | Taints to tolerate | `[]` | +| `affinity` | Affinity rules for pod assignment | `{}` | diff --git a/charts/redis-operator/templates/cert-manager.yaml b/charts/redis-operator/templates/cert-manager.yaml index 9ba7f771..223efff3 100644 --- a/charts/redis-operator/templates/cert-manager.yaml +++ b/charts/redis-operator/templates/cert-manager.yaml @@ -1,4 +1,5 @@ -{{ if ".Values.cert-manager.enabled" }} +{{ if .Values.certManager.enabled }} + apiVersion: cert-manager.io/v1 kind: Issuer metadata: diff --git a/charts/redis-operator/templates/operator-deployment.yaml b/charts/redis-operator/templates/operator-deployment.yaml index 006fac2d..1e9dd117 100644 --- a/charts/redis-operator/templates/operator-deployment.yaml +++ b/charts/redis-operator/templates/operator-deployment.yaml @@ -49,11 +49,20 @@ spec: {{- range $arg := .Values.redisOperator.extraArgs }} - {{ $arg }} {{- end }} -{{- if .Values.watch_namespace }} +{{- if and .Values.redisOperator.watch_namespace (ne .Values.redisOperator.watch_namespace "") }} env: - - name: NAMESPACE - value: {{ .Values.watch_namespace }} + - name: WATCH_NAMESPACE + value: {{ .Values.redisOperator.watch_namespace }} {{- end }} +{{- if .Values.redisOperator.env}} + env: + - name: ENABLE_WEBHOOKS + value: "true" +{{- end }} + {{- range $env := .Values.redisOperator.env }} + - name: {{ $env.name }} + value: {{ $env.value }} + {{- end }} {{- if .Values.resources }} resources: {{ toYaml .Values.resources | indent 10 }} diff --git a/charts/redis-operator/values.yaml b/charts/redis-operator/values.yaml index 9035503a..c14dad74 100644 --- a/charts/redis-operator/values.yaml +++ b/charts/redis-operator/values.yaml @@ -15,8 +15,13 @@ redisOperator: extraArgs: [] # - -zap-log-level=error + watch_namespace: "" + env: [] + webhook: true -# watch_namespace: ot-operators + +webhook: + enabled: true resources: limits: @@ -30,12 +35,6 @@ replicas: 1 serviceAccountName: redis-operator -priorityClassName: "" -nodeSelector: {} -tolerateAllTaints: false -tolerations: [] -affinity: {} - service: name: webhook-service namespace: redis-operator @@ -54,5 +53,11 @@ issuer: enabled: true ingressClass: nginx -cert-manager: - enabled: true \ No newline at end of file +certManager: + enabled: true + +priorityClassName: "" +nodeSelector: {} +tolerateAllTaints: false +tolerations: [] +affinity: {} From 7cc455ddda54ab544dc9c5848a53d29099d8a637 Mon Sep 17 00:00:00 2001 From: Shubham Gupta Date: Fri, 29 Sep 2023 09:05:53 +0530 Subject: [PATCH 2/5] update crds Signed-off-by: Shubham Gupta --- charts/redis-operator/crds/redis-cluster.yaml | 104 ++++++++++++++++++ .../crds/redis-replication.yaml | 104 ++++++++++++++++++ .../redis-operator/crds/redis-sentinel.yaml | 104 ++++++++++++++++++ charts/redis-operator/crds/redis.yaml | 104 ++++++++++++++++++ 4 files changed, 416 insertions(+) diff --git a/charts/redis-operator/crds/redis-cluster.yaml b/charts/redis-operator/crds/redis-cluster.yaml index 9c386bcc..a0da825a 100644 --- a/charts/redis-operator/crds/redis-cluster.yaml +++ b/charts/redis-operator/crds/redis-cluster.yaml @@ -4920,6 +4920,110 @@ spec: clusterVersion: default: v7 type: string + env: + items: + description: EnvVar represents an environment variable present in + a Container. + properties: + name: + description: Name of the environment variable. Must be a C_IDENTIFIER. + type: string + value: + description: 'Variable references $(VAR_NAME) are expanded using + the previously defined environment variables in the container + and any service environment variables. If a variable cannot + be resolved, the reference in the input string will be unchanged. + Double $$ are reduced to a single $, which allows for escaping + the $(VAR_NAME) syntax: i.e. "$$(VAR_NAME)" will produce the + string literal "$(VAR_NAME)". Escaped references will never + be expanded, regardless of whether the variable exists or + not. Defaults to "".' + type: string + valueFrom: + description: Source for the environment variable's value. Cannot + be used if value is not empty. + properties: + configMapKeyRef: + description: Selects a key of a ConfigMap. + properties: + key: + description: The key to select. + type: string + name: + description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names + TODO: Add other useful fields. apiVersion, kind, uid?' + type: string + optional: + description: Specify whether the ConfigMap or its key + must be defined + type: boolean + required: + - key + type: object + fieldRef: + description: 'Selects a field of the pod: supports metadata.name, + metadata.namespace, `metadata.labels['''']`, `metadata.annotations['''']`, + spec.nodeName, spec.serviceAccountName, status.hostIP, + status.podIP, status.podIPs.' + properties: + apiVersion: + description: Version of the schema the FieldPath is + written in terms of, defaults to "v1". + type: string + fieldPath: + description: Path of the field to select in the specified + API version. + type: string + required: + - fieldPath + type: object + resourceFieldRef: + description: 'Selects a resource of the container: only + resources limits and requests (limits.cpu, limits.memory, + limits.ephemeral-storage, requests.cpu, requests.memory + and requests.ephemeral-storage) are currently supported.' + properties: + containerName: + description: 'Container name: required for volumes, + optional for env vars' + type: string + divisor: + anyOf: + - type: integer + - type: string + description: Specifies the output format of the exposed + resources, defaults to "1" + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + resource: + description: 'Required: resource to select' + type: string + required: + - resource + type: object + secretKeyRef: + description: Selects a key of a secret in the pod's namespace + properties: + key: + description: The key of the secret to select from. Must + be a valid secret key. + type: string + name: + description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names + TODO: Add other useful fields. apiVersion, kind, uid?' + type: string + optional: + description: Specify whether the Secret or its key must + be defined + type: boolean + required: + - key + type: object + type: object + required: + - name + type: object + type: array initContainer: description: InitContainer for each Redis pods properties: diff --git a/charts/redis-operator/crds/redis-replication.yaml b/charts/redis-operator/crds/redis-replication.yaml index 299fba91..c2d4ae21 100644 --- a/charts/redis-operator/crds/redis-replication.yaml +++ b/charts/redis-operator/crds/redis-replication.yaml @@ -4569,6 +4569,110 @@ spec: clusterSize: format: int32 type: integer + env: + items: + description: EnvVar represents an environment variable present in + a Container. + properties: + name: + description: Name of the environment variable. Must be a C_IDENTIFIER. + type: string + value: + description: 'Variable references $(VAR_NAME) are expanded using + the previously defined environment variables in the container + and any service environment variables. If a variable cannot + be resolved, the reference in the input string will be unchanged. + Double $$ are reduced to a single $, which allows for escaping + the $(VAR_NAME) syntax: i.e. "$$(VAR_NAME)" will produce the + string literal "$(VAR_NAME)". Escaped references will never + be expanded, regardless of whether the variable exists or + not. Defaults to "".' + type: string + valueFrom: + description: Source for the environment variable's value. Cannot + be used if value is not empty. + properties: + configMapKeyRef: + description: Selects a key of a ConfigMap. + properties: + key: + description: The key to select. + type: string + name: + description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names + TODO: Add other useful fields. apiVersion, kind, uid?' + type: string + optional: + description: Specify whether the ConfigMap or its key + must be defined + type: boolean + required: + - key + type: object + fieldRef: + description: 'Selects a field of the pod: supports metadata.name, + metadata.namespace, `metadata.labels['''']`, `metadata.annotations['''']`, + spec.nodeName, spec.serviceAccountName, status.hostIP, + status.podIP, status.podIPs.' + properties: + apiVersion: + description: Version of the schema the FieldPath is + written in terms of, defaults to "v1". + type: string + fieldPath: + description: Path of the field to select in the specified + API version. + type: string + required: + - fieldPath + type: object + resourceFieldRef: + description: 'Selects a resource of the container: only + resources limits and requests (limits.cpu, limits.memory, + limits.ephemeral-storage, requests.cpu, requests.memory + and requests.ephemeral-storage) are currently supported.' + properties: + containerName: + description: 'Container name: required for volumes, + optional for env vars' + type: string + divisor: + anyOf: + - type: integer + - type: string + description: Specifies the output format of the exposed + resources, defaults to "1" + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + resource: + description: 'Required: resource to select' + type: string + required: + - resource + type: object + secretKeyRef: + description: Selects a key of a secret in the pod's namespace + properties: + key: + description: The key of the secret to select from. Must + be a valid secret key. + type: string + name: + description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names + TODO: Add other useful fields. apiVersion, kind, uid?' + type: string + optional: + description: Specify whether the Secret or its key must + be defined + type: boolean + required: + - key + type: object + type: object + required: + - name + type: object + type: array initContainer: description: InitContainer for each Redis pods properties: diff --git a/charts/redis-operator/crds/redis-sentinel.yaml b/charts/redis-operator/crds/redis-sentinel.yaml index 09b47758..5320c643 100644 --- a/charts/redis-operator/crds/redis-sentinel.yaml +++ b/charts/redis-operator/crds/redis-sentinel.yaml @@ -2453,6 +2453,110 @@ spec: format: int32 minimum: 1 type: integer + env: + items: + description: EnvVar represents an environment variable present in + a Container. + properties: + name: + description: Name of the environment variable. Must be a C_IDENTIFIER. + type: string + value: + description: 'Variable references $(VAR_NAME) are expanded using + the previously defined environment variables in the container + and any service environment variables. If a variable cannot + be resolved, the reference in the input string will be unchanged. + Double $$ are reduced to a single $, which allows for escaping + the $(VAR_NAME) syntax: i.e. "$$(VAR_NAME)" will produce the + string literal "$(VAR_NAME)". Escaped references will never + be expanded, regardless of whether the variable exists or + not. Defaults to "".' + type: string + valueFrom: + description: Source for the environment variable's value. Cannot + be used if value is not empty. + properties: + configMapKeyRef: + description: Selects a key of a ConfigMap. + properties: + key: + description: The key to select. + type: string + name: + description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names + TODO: Add other useful fields. apiVersion, kind, uid?' + type: string + optional: + description: Specify whether the ConfigMap or its key + must be defined + type: boolean + required: + - key + type: object + fieldRef: + description: 'Selects a field of the pod: supports metadata.name, + metadata.namespace, `metadata.labels['''']`, `metadata.annotations['''']`, + spec.nodeName, spec.serviceAccountName, status.hostIP, + status.podIP, status.podIPs.' + properties: + apiVersion: + description: Version of the schema the FieldPath is + written in terms of, defaults to "v1". + type: string + fieldPath: + description: Path of the field to select in the specified + API version. + type: string + required: + - fieldPath + type: object + resourceFieldRef: + description: 'Selects a resource of the container: only + resources limits and requests (limits.cpu, limits.memory, + limits.ephemeral-storage, requests.cpu, requests.memory + and requests.ephemeral-storage) are currently supported.' + properties: + containerName: + description: 'Container name: required for volumes, + optional for env vars' + type: string + divisor: + anyOf: + - type: integer + - type: string + description: Specifies the output format of the exposed + resources, defaults to "1" + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + resource: + description: 'Required: resource to select' + type: string + required: + - resource + type: object + secretKeyRef: + description: Selects a key of a secret in the pod's namespace + properties: + key: + description: The key of the secret to select from. Must + be a valid secret key. + type: string + name: + description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names + TODO: Add other useful fields. apiVersion, kind, uid?' + type: string + optional: + description: Specify whether the Secret or its key must + be defined + type: boolean + required: + - key + type: object + type: object + required: + - name + type: object + type: array initContainer: description: InitContainer for each Redis pods properties: diff --git a/charts/redis-operator/crds/redis.yaml b/charts/redis-operator/crds/redis.yaml index 503621b6..f278caa5 100644 --- a/charts/redis-operator/crds/redis.yaml +++ b/charts/redis-operator/crds/redis.yaml @@ -4564,6 +4564,110 @@ spec: type: array type: object type: object + env: + items: + description: EnvVar represents an environment variable present in + a Container. + properties: + name: + description: Name of the environment variable. Must be a C_IDENTIFIER. + type: string + value: + description: 'Variable references $(VAR_NAME) are expanded using + the previously defined environment variables in the container + and any service environment variables. If a variable cannot + be resolved, the reference in the input string will be unchanged. + Double $$ are reduced to a single $, which allows for escaping + the $(VAR_NAME) syntax: i.e. "$$(VAR_NAME)" will produce the + string literal "$(VAR_NAME)". Escaped references will never + be expanded, regardless of whether the variable exists or + not. Defaults to "".' + type: string + valueFrom: + description: Source for the environment variable's value. Cannot + be used if value is not empty. + properties: + configMapKeyRef: + description: Selects a key of a ConfigMap. + properties: + key: + description: The key to select. + type: string + name: + description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names + TODO: Add other useful fields. apiVersion, kind, uid?' + type: string + optional: + description: Specify whether the ConfigMap or its key + must be defined + type: boolean + required: + - key + type: object + fieldRef: + description: 'Selects a field of the pod: supports metadata.name, + metadata.namespace, `metadata.labels['''']`, `metadata.annotations['''']`, + spec.nodeName, spec.serviceAccountName, status.hostIP, + status.podIP, status.podIPs.' + properties: + apiVersion: + description: Version of the schema the FieldPath is + written in terms of, defaults to "v1". + type: string + fieldPath: + description: Path of the field to select in the specified + API version. + type: string + required: + - fieldPath + type: object + resourceFieldRef: + description: 'Selects a resource of the container: only + resources limits and requests (limits.cpu, limits.memory, + limits.ephemeral-storage, requests.cpu, requests.memory + and requests.ephemeral-storage) are currently supported.' + properties: + containerName: + description: 'Container name: required for volumes, + optional for env vars' + type: string + divisor: + anyOf: + - type: integer + - type: string + description: Specifies the output format of the exposed + resources, defaults to "1" + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + resource: + description: 'Required: resource to select' + type: string + required: + - resource + type: object + secretKeyRef: + description: Selects a key of a secret in the pod's namespace + properties: + key: + description: The key of the secret to select from. Must + be a valid secret key. + type: string + name: + description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names + TODO: Add other useful fields. apiVersion, kind, uid?' + type: string + optional: + description: Specify whether the Secret or its key must + be defined + type: boolean + required: + - key + type: object + type: object + required: + - name + type: object + type: array initContainer: description: InitContainer for each Redis pods properties: From fcc4a62b598e366e94fad21e4602376cd2ca7c25 Mon Sep 17 00:00:00 2001 From: Shubham Gupta Date: Fri, 29 Sep 2023 10:53:56 +0530 Subject: [PATCH 3/5] fix operator Signed-off-by: Shubham Gupta --- charts/redis-operator/Chart.yaml | 4 +- charts/redis-operator/readme.md | 10 ++- charts/redis-operator/templates/_helpers.tpl | 16 ++++ .../templates/cert-manager.yaml | 2 +- .../templates/operator-deployment.yaml | 83 ++++++++----------- charts/redis-operator/values.yaml | 9 +- 6 files changed, 62 insertions(+), 62 deletions(-) diff --git a/charts/redis-operator/Chart.yaml b/charts/redis-operator/Chart.yaml index 351ea278..31258ae8 100644 --- a/charts/redis-operator/Chart.yaml +++ b/charts/redis-operator/Chart.yaml @@ -24,5 +24,5 @@ dependencies: - name: cert-manager version: v1.12.4 repository: https://charts.jetstack.io - alias: certManager - condition: certManager.enabled \ No newline at end of file + alias: certmanager + condition: certmanager.enabled \ No newline at end of file diff --git a/charts/redis-operator/readme.md b/charts/redis-operator/readme.md index ae0e58b2..af4be36d 100644 --- a/charts/redis-operator/readme.md +++ b/charts/redis-operator/readme.md @@ -31,15 +31,17 @@ kubectl apply -f https://github.com/cert-manager/cert-manager/releases/download/ Replace `` and `` with your specific values. ```bash -helm install ot-helm/redis-operator --version=0.15.5 --appVersion=0.15.1 --set certificate.secretName= --set certManager.enabled=true --namespace --create-namespace +helm install ot-helm/redis-operator --version=0.15.5 --appVersion=0.15.1 --set certificate.secretName= --set certmanager.enabled=true --set redisOperator.webhook=true --namespace --create-namespace ``` > Note: If `certificate.secretName` is not provided, the operator will generate a self-signed certificate and use it for webhook server. --- -> Note : If you want to disable the webhook you have to pass the `--set webhook=false` while installing the redis-operator. +> Note : If you want to disable the webhook you have to pass the `--set webhook=false` and `--set certmanager.enabled=false` while installing the redis-operator. ### 4. Patch the CA Bundle (if using cert-manager) +Cert-manager injects the CA bundle into the webhook configuration. + ```bash kubectl patch crd redis.redis.redis.opstreelabs.in -p '{"metadata":{"annotations":{"cert-manager.io/inject-ca-from":"/"}}}' @@ -83,7 +85,7 @@ kubectl create secret tls --key tls.key --cert tls.crt -n | `redisOperator.extraArgs` | Additional arguments for the operator | `{}` | | `redisOperator.watch_namespace` | Namespace for the operator to watch | `""` | | `redisOperator.env` | Environment variables for the operator | `{}` | -| `redisOperator.webhook` | Enable webhook | `true` | +| `redisOperator.webhook` | Enable webhook | `false` | | `resources.limits.cpu` | CPU limit | `500m` | | `resources.limits.memory` | Memory limit | `500Mi` | | `resources.requests.cpu` | CPU request | `500m` | @@ -97,7 +99,7 @@ kubectl create secret tls --key tls.key --cert tls.crt -n | `issuer.email` | Issuer email | `shubham.gupta@opstree.com` | | `issuer.server` | Issuer server URL | `https://acme-v02.api.letsencrypt.org/directory` | | `issuer.privateKeySecretName` | Private key secret name | `letsencrypt-prod` | -| `certManager.enabled` | Enable cert-manager | `true` | +| `certManager.enabled` | Enable cert-manager | `false` | ## Scheduling Parameters diff --git a/charts/redis-operator/templates/_helpers.tpl b/charts/redis-operator/templates/_helpers.tpl index 8c2dc272..5a70733b 100644 --- a/charts/redis-operator/templates/_helpers.tpl +++ b/charts/redis-operator/templates/_helpers.tpl @@ -16,3 +16,19 @@ acme: selfSigned: {} {{- end }} {{- end -}} + +{{/* Common labels */}} +{{- define "redisOperator.labels" -}} +app.kubernetes.io/name: {{ .Values.redisOperator.name }} +helm.sh/chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }} +app.kubernetes.io/managed-by: {{ .Release.Service }} +app.kubernetes.io/instance: {{ .Release.Name }} +app.kubernetes.io/version: {{ .Chart.AppVersion }} +app.kubernetes.io/component: operator +app.kubernetes.io/part-of: {{ .Release.Name }} +{{- end }} + +{{/* Selector labels */}} +{{- define "redisOperator.selectorLabels" -}} +name: {{ .Values.redisOperator.name }} +{{- end }} \ No newline at end of file diff --git a/charts/redis-operator/templates/cert-manager.yaml b/charts/redis-operator/templates/cert-manager.yaml index 223efff3..fa09325f 100644 --- a/charts/redis-operator/templates/cert-manager.yaml +++ b/charts/redis-operator/templates/cert-manager.yaml @@ -1,4 +1,4 @@ -{{ if .Values.certManager.enabled }} +{{ if .Values.certmanager.enabled }} apiVersion: cert-manager.io/v1 kind: Issuer diff --git a/charts/redis-operator/templates/operator-deployment.yaml b/charts/redis-operator/templates/operator-deployment.yaml index 1e9dd117..b1a5d8be 100644 --- a/charts/redis-operator/templates/operator-deployment.yaml +++ b/charts/redis-operator/templates/operator-deployment.yaml @@ -4,19 +4,11 @@ kind: Deployment metadata: name: {{ .Values.redisOperator.name }} namespace: {{ .Release.Namespace }} - labels: - app.kubernetes.io/name : {{ .Values.redisOperator.name }} - helm.sh/chart : {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }} - app.kubernetes.io/managed-by : {{ .Release.Service }} - app.kubernetes.io/instance : {{ .Release.Name }} - app.kubernetes.io/version : {{ .Chart.AppVersion }} - app.kubernetes.io/component : operator - app.kubernetes.io/part-of : {{ .Release.Name }} + labels: {{- include "redisOperator.labels" . | nindent 4 }} spec: replicas: {{ .Values.replicas }} selector: - matchLabels: - name: {{ .Values.redisOperator.name }} + matchLabels: {{- include "redisOperator.selectorLabels" . | nindent 6 }} template: metadata: annotations: @@ -24,22 +16,13 @@ spec: {{- with .Values.redisOperator.podAnnotations }} {{- toYaml . | nindent 8 }} {{- end }} - labels: - name: {{ .Values.redisOperator.name }} + labels: {{- include "redisOperator.selectorLabels" . | nindent 8 }} {{- with .Values.redisOperator.podLabels }} {{- toYaml . | nindent 8 }} {{- end }} spec: containers: - name: "{{ .Values.redisOperator.name }}" - ports: - - containerPort: 9443 - name: webhook-server - protocol: TCP - volumeMounts: - - mountPath: /tmp/k8s-webhook-server/serving-certs - name: cert - readOnly: true image: "{{ .Values.redisOperator.imageName }}:{{ .Values.redisOperator.imageTag | default (printf "v%s" .Chart.AppVersion) }}" imagePullPolicy: {{ .Values.redisOperator.imagePullPolicy }} command: @@ -49,43 +32,45 @@ spec: {{- range $arg := .Values.redisOperator.extraArgs }} - {{ $arg }} {{- end }} -{{- if and .Values.redisOperator.watch_namespace (ne .Values.redisOperator.watch_namespace "") }} - env: - - name: WATCH_NAMESPACE - value: {{ .Values.redisOperator.watch_namespace }} -{{- end }} -{{- if .Values.redisOperator.env}} + {{- if .Values.redisOperator.webhook }} + ports: + - containerPort: 9443 + name: webhook-server + protocol: TCP + volumeMounts: + - mountPath: /tmp/k8s-webhook-server/serving-certs + name: cert + readOnly: true + {{- end }} env: - - name: ENABLE_WEBHOOKS - value: "true" -{{- end }} + - name: ENABLE_WEBHOOKS + value: "{{ .Values.redisOperator.webhook | toString }}" + {{- if .WATCH_NAMESPACE }} + - name: WATCH_NAMESPACE + value: {{ .WATCH_NAMESPACE }} + {{- end }} {{- range $env := .Values.redisOperator.env }} - name: {{ $env.name }} - value: {{ $env.value }} - {{- end }} -{{- if .Values.resources }} - resources: -{{ toYaml .Values.resources | indent 10 }} -{{- end }} - nodeSelector: -{{- with .Values.nodeSelector }} -{{ toYaml . | indent 8 }} -{{- end }} + value: {{ $env.value | quote }} + {{- end }} + {{- if .Values.resources }} + resources: {{ toYaml .Values.resources | nindent 10 }} + {{- end }} + {{- with .Values.nodeSelector }} + nodeSelector: {{ toYaml . | nindent 8 }} + {{- end }} + {{- if .Values.priorityClassName}} priorityClassName: {{ .Values.priorityClassName }} -{{- with .Values.affinity }} + {{- end }} + {{- with .Values.affinity }} affinity: {{ toYaml . | nindent 8 }} -{{- end }} - tolerations: -{{- if .Values.tolerateAllTaints }} - - operator: Exists -{{- end }} -{{- with .Values.tolerations }} -{{ toYaml . | indent 8 }} -{{- end }} + {{- end }} serviceAccountName: "{{ .Values.serviceAccountName }}" serviceAccount: "{{ .Values.serviceAccountName }}" + {{- if .Values.redisOperator.webhook }} volumes: - name: cert secret: defaultMode: 420 - secretName: {{ .Values.certificate.secretName }} \ No newline at end of file + secretName: {{ .Values.certificate.secretName }} + {{- end }} \ No newline at end of file diff --git a/charts/redis-operator/values.yaml b/charts/redis-operator/values.yaml index c14dad74..79b3861a 100644 --- a/charts/redis-operator/values.yaml +++ b/charts/redis-operator/values.yaml @@ -17,12 +17,9 @@ redisOperator: # - -zap-log-level=error watch_namespace: "" env: [] - webhook: true + webhook: false -webhook: - enabled: true - resources: limits: cpu: 500m @@ -53,8 +50,8 @@ issuer: enabled: true ingressClass: nginx -certManager: - enabled: true +certmanager: + enabled: false priorityClassName: "" nodeSelector: {} From 55f8f058f53b954d3f1eaad2d0f7c0c60cd937c1 Mon Sep 17 00:00:00 2001 From: Shubham Gupta Date: Fri, 29 Sep 2023 18:48:07 +0530 Subject: [PATCH 4/5] quick release for app verison v0.15.1 Signed-off-by: Shubham Gupta --- charts/redis-cluster/templates/_helpers.tpl | 82 ++++++++++ .../templates/redis-cluster.yaml | 151 +++++++----------- charts/redis-cluster/values.yaml | 140 ++++++++++------ 3 files changed, 232 insertions(+), 141 deletions(-) create mode 100644 charts/redis-cluster/templates/_helpers.tpl diff --git a/charts/redis-cluster/templates/_helpers.tpl b/charts/redis-cluster/templates/_helpers.tpl new file mode 100644 index 00000000..7ca79dbd --- /dev/null +++ b/charts/redis-cluster/templates/_helpers.tpl @@ -0,0 +1,82 @@ +{{/* vim: set filetype=mustache: */}} + +{{/* Define common labels */}} +{{- define "common.labels" -}} +app.kubernetes.io/name: {{ .Release.Name }} +helm.sh/chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }} +app.kubernetes.io/managed-by: {{ .Release.Service }} +app.kubernetes.io/instance: {{ .Release.Name }} +app.kubernetes.io/version: {{ .Chart.AppVersion }} +app.kubernetes.io/component: middleware +{{- if .Values.labels }} +{{- range $labelkey, $labelvalue := .Values.labels }} +{{ $labelkey}}: {{ $labelvalue }} +{{- end }} +{{- end }} +{{- end -}} + +{{/* Helper for Redis Cluster (leader & follower) */}} +{{- define "redis.role" -}} +{{- with .affinity }} +affinity: + {{- toYaml . | nindent 4 }} +{{- end }} +{{- if .pdb.enabled }} +pdb: + enabled: "{{ .pdb.enabled | quote }}" + maxUnavailable: {{ .pdb.maxUnavailable }} + minAvailable: {{ .pdb.minUnavailable }} +{{- end }} +{{- if .nodeSelector }} +nodeSelector: + {{- toYaml .nodeSelector | nindent 4 }} +{{- end }} +{{- end -}} + +{{/* Generate sidecar properties */}} +{{- define "sidecar.properties" -}} +{{- with .Values.sidecars }} +name: {{ .name }} +image: {{ .image }} +{{- if .imagePullPolicy }} +imagePullPolicy: {{ .imagePullPolicy }} +{{- end }} +{{- if .resources }} +resources: + {{ toYaml .resources | nindent 2 }} +{{- end }} +{{- if .env }} +env: +{{ toYaml .env | nindent 2 }} +{{- end }} +{{- end }} +{{- end -}} + +{{/* Generate init container properties */}} +{{- define "initContainer.properties" -}} +{{- with .Values.initContainer }} +{{- if .enabled }} +image: {{ .image }} +{{- if .imagePullPolicy }} +imagePullPolicy: {{ .imagePullPolicy }} +{{- end }} +{{- if .resources }} +resources: + {{ toYaml .resources | nindent 2 }} +{{- end }} +{{- if .env }} +env: +{{ toYaml .env | nindent 2 }} +{{- end }} +{{- if .command }} +command: +{{ toYaml .command | nindent 2 }} +{{- end }} +{{- if .args }} +args: +{{ toYaml .args | nindent 2 }} +{{- end }} +{{- end }} +{{- end }} +{{- end -}} + diff --git a/charts/redis-cluster/templates/redis-cluster.yaml b/charts/redis-cluster/templates/redis-cluster.yaml index 6bd8e633..615d4787 100644 --- a/charts/redis-cluster/templates/redis-cluster.yaml +++ b/charts/redis-cluster/templates/redis-cluster.yaml @@ -1,111 +1,82 @@ --- -apiVersion: redis.redis.opstreelabs.in/v1beta1 +apiVersion: redis.redis.opstreelabs.in/v1beta2 kind: RedisCluster metadata: name: {{ .Release.Name }} - labels: - app.kubernetes.io/name: {{ .Release.Name }} - helm.sh/chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }} - app.kubernetes.io/managed-by: {{ .Release.Service }} - app.kubernetes.io/instance: {{ .Release.Name }} - app.kubernetes.io/version: {{ .Chart.AppVersion }} - app.kubernetes.io/component: middleware -{{- if .Values.labels }} -{{- range $labelkey, $labelvalue := .Values.labels }} - {{ $labelkey}}: {{ $labelvalue }} -{{- end }} -{{- end }} -{{- with .Values.annotations }} - annotations: -{{- toYaml . | nindent 6 }} -{{- end }} + labels: {{- include "common.labels" . | nindent 4 }} spec: clusterSize: {{ .Values.redisCluster.clusterSize }} persistenceEnabled: {{ .Values.redisCluster.persistenceEnabled }} clusterVersion: {{ .Values.redisCluster.clusterVersion }} - redisLeader: -{{- if .Values.redisCluster.leader.affinity }} - affinity: -{{ toYaml .Values.redisCluster.leader.affinity | nindent 6 }} -{{- end }} - replicas: {{ .Values.redisCluster.leader.replicas }} -{{- if eq .Values.externalConfig.enabled true }} + + redisLeader: {{- include "redis.role" .Values.redisCluster.leader | nindent 4 }} + replicas: {{ .Values.redisCluster.leader.replicas}} + {{- if .Values.externalConfig.enabled }} redisConfig: - additionalRedisConfig: {{ .Release.Name }}-ext-config -{{- end }} -{{- if eq .Values.pdb.enabled true }} - pdb: - enabled: {{ .Values.pdb.enabled }} - {{- if .Values.pdb.maxUnavailable }} - maxUnavailable: {{ .Values.pdb.maxUnavailable }} - {{- end }} - {{- if .Values.pdb.minAvailable }} - minAvailable: {{ .Values.pdb.minAvailable }} - {{- end }} -{{- end }} - redisFollower: -{{- if .Values.redisCluster.follower.affinity }} - affinity: -{{ toYaml .Values.redisCluster.follower.affinity | nindent 6 }} -{{- end }} - replicas: {{ .Values.redisCluster.follower.replicas }} -{{- if eq .Values.externalConfig.enabled true }} + additionalRedisConfig: "{{ .Release.Name }}-ext-config" + {{- end }} + + redisFollower: {{- include "redis.role" .Values.redisCluster.follower | nindent 4 }} + replicas: {{ .Values.redisCluster.follower.replicas}} + {{- if .Values.externalConfig.enabled }} redisConfig: - additionalRedisConfig: {{ .Release.Name }}-ext-config -{{- end }} -{{- if eq .Values.pdb.enabled true }} - pdb: - enabled: {{ .Values.pdb.enabled }} - {{- if .Values.pdb.maxUnavailable }} - maxUnavailable: {{ .Values.pdb.maxUnavailable }} - {{- end }} - {{- if .Values.pdb.minAvailable }} - minAvailable: {{ .Values.pdb.minAvailable }} - {{- end }} -{{- end }} + additionalRedisConfig: "{{ .Release.Name }}-ext-config" + {{- end }} + redisExporter: enabled: {{ .Values.redisExporter.enabled }} image: "{{ .Values.redisExporter.image }}:{{ .Values.redisExporter.tag }}" imagePullPolicy: "{{ .Values.redisExporter.imagePullPolicy }}" - resources: -{{ toYaml .Values.redisExporter.resources | indent 6 }} + {{- if .Values.redisExporter.resources}} + resources: {{ toYaml .Values.redisExporter.resources | nindent 6 }} + {{- end }} + kubernetesConfig: image: "{{ .Values.redisCluster.image }}:{{ .Values.redisCluster.tag }}" imagePullPolicy: "{{ .Values.redisCluster.imagePullPolicy }}" - resources: -{{ toYaml .Values.redisCluster.resources | indent 6 }} -{{- if .Values.redisCluster.redisSecret }} + {{- if .Values.redisCluster.imagePullSecrets}} + imagePullSecrets: {{ toYaml .Values.redisCluster.imagePullSecrets | nindent 4 }} + {{- end }} + {{- if .Values.redisExporter.resources}} + resources: {{ toYaml .Values.redisCluster.resources | nindent 6 }} + {{- end }} + {{- if and .Values.redisCluster.redisSecret.secretName .Values.redisCluster.redisSecret.secretKey }} redisSecret: - name: "{{ .Values.redisCluster.redisSecret.secretName }}" - key: "{{ .Values.redisCluster.redisSecret.secretKey }}" -{{- end }} -{{- if .Values.storageSpec }} - storage: -{{ toYaml .Values.storageSpec | indent 4 }} -{{- end }} -{{- if .Values.priorityClassName }} + name: "{{ .Values.redisCluster.redisSecret.secretName | quote }}" + key: "{{ .Values.redisCluster.redisSecret.secretKey | quote }}" + {{- end }} + + {{- if .Values.storageSpec }} + storage: {{ toYaml .Values.storageSpec | nindent 4 }} + {{- end }} + {{- if and .Values.priorityClassName (ne .Values.priorityClassName "") }} priorityClassName: "{{ .Values.priorityClassName }}" -{{- end }} -{{- if .Values.nodeSelector }} - nodeSelector: -{{ toYaml .Values.nodeSelector | indent 4 }} -{{- end }} -{{- if .Values.podSecurityContext }} - podSecurityContext: -{{ toYaml .Values.podSecurityContext | indent 4 }} -{{- end }} -{{- if .Values.tolerations }} - tolerations: -{{ toYaml .Values.tolerations | indent 4 }} -{{- end }} -{{- if .Values.TLS }} + {{- end }} + {{- if .Values.podSecurityContext }} + podSecurityContext: {{ toYaml .Values.podSecurityContext | nindent 4 }} + {{- end }} + {{- if and .Values.TLS.ca .Values.TLS.cert .Values.TLS.key .Values.TLS.secret.secretName }} TLS: -{{ toYaml .Values.TLS | indent 4 }} -{{- end}} -{{- if .Values.sidecars }} - sidecars: -{{ toYaml .Values.sidecars | indent 4 }} -{{- end }} -{{- if .Values.serviceAccountName }} + ca: {{ .Values.TLS.ca | quote }} + cert: {{ .Values.TLS.cert | quote }} + key: {{ .Values.TLS.key | quote }} + secret: + secretName: {{ .Values.TLS.secret.secretName | quote }} + {{- end }} + {{- if and .Values.acl.secret (ne .Values.acl.secret.secretName "") }} + acl: + secret: + secretName: {{ .Values.acl.secret.secretName | quote }} + {{- end }} + {{- if and .Values.sidecars (ne .Values.sidecars.name "") (ne .Values.sidecars.image) }} + sidecars: {{ include "sidecar.properties" | nindent 4 }} + {{- end }} + {{- if and .Values.initContainers .Values.initContainer.enabled (ne .Values.initContainers.name "") (ne .Values.initContainers.image) }} + initContainers: {{ include "initContainer.properties" | nindent 4 }} + {{- end }} + {{- if .Values.env }} + env: {{ toYaml .Values.env | nindent 4 }} + {{- end }} + {{- if and .Values.serviceAccountName (ne .Values.serviceAccountName "") }} serviceAccountName: "{{ .Values.serviceAccountName }}" -{{- end }} + {{- end }} \ No newline at end of file diff --git a/charts/redis-cluster/values.yaml b/charts/redis-cluster/values.yaml index dd4d5b77..320dbc00 100644 --- a/charts/redis-cluster/values.yaml +++ b/charts/redis-cluster/values.yaml @@ -4,11 +4,20 @@ redisCluster: clusterVersion: v7 persistenceEnabled: true image: quay.io/opstree/redis - tag: v7.0.5 + tag: v7.0.12 imagePullPolicy: IfNotPresent - # redisSecret: - # secretName: redis-secret - # secretKey: password + imagePullSecrets: {} + # - name: Secret with Registry credentials + redisSecret: + secretName: "" + secretKey: "" + resources: {} + # requests: + # cpu: 100m + # memory: 128Mi + # limits: + # cpu: 100m + # memory: 128Mi leader: replicas: 3 serviceType: ClusterIP @@ -21,10 +30,23 @@ redisCluster: # operator: In # values: # - ssd + tolerations: [] + # - key: "key" + # operator: "Equal" + # value: "value" + # effect: "NoSchedule" + nodeSelector: null + # memory: medium + securityContext : {} + pdb: + enabled: false + maxUnavailable: 1 + minUnavailable: 1 + follower: replicas: 3 serviceType: ClusterIP - affinity: {} + affinity: null # nodeAffinity: # requiredDuringSchedulingIgnoredDuringExecution: # nodeSelectorTerms: @@ -33,21 +55,23 @@ redisCluster: # operator: In # values: # - ssd - resources: {} - # requests: - # cpu: 100m - # memory: 128Mi - # limits: - # cpu: 100m - # memory: 128Mi + tolerations: [] + # - key: "key" + # operator: "Equal" + # value: "value" + # effect: "NoSchedule" + nodeSelector: null + # memory: medium + securityContext : {} + pdb: + enabled: false + maxUnavailable: 1 + minUnavailable: 1 -# labels: +labels: {} # foo: bar # test: echo -pdb: - enabled: false - maxUnavailable: 1 externalConfig: enabled: false @@ -70,7 +94,7 @@ serviceMonitor: namespace: monitoring redisExporter: - enabled: true + enabled: false image: quay.io/opstree/redis-exporter tag: "v1.44.0" imagePullPolicy: IfNotPresent @@ -82,25 +106,37 @@ redisExporter: # cpu: 100m # memory: 128Mi -sidecars: [] - # - name: "sidecar1" - # image: "image:1.0" - # imagePullPolicy: Always - # resources: - # limits: - # cpu: 50m - # memory: 64Mi - # requests: - # cpu: 10m - # memory: 32M - # env: - # - name: VAR_NAME - # value: "value1" - -# priorityClassName: "-" - -nodeSelector: {} - # memory: medium +sidecars: + name: "" + image: "" + imagePullPolicy: "IfNotPresent" + resources: + limits: + cpu: "100m" + memory: "128Mi" + requests: + cpu: "50m" + memory: "64Mi" + env: {} + # - name: MY_ENV_VAR + # value: "my-env-var-value" + +initContainer: + enabled: false + image: "" + imagePullPolicy: "IfNotPresent" + resources: {} + # requests: + # memory: "64Mi" + # cpu: "250m" + # limits: + # memory: "128Mi" + # cpu: "500m" + env: [] + command: [] + args: [] + +priorityClassName: "" storageSpec: volumeClaimTemplate: @@ -110,6 +146,7 @@ storageSpec: resources: requests: storage: 1Gi + nodeConfVolume: true nodeConfVolumeClaimTemplate: spec: accessModes: ["ReadWriteOnce"] @@ -122,21 +159,22 @@ podSecurityContext: runAsUser: 1000 fsGroup: 1000 -affinity: {} - # nodeAffinity: - # requiredDuringSchedulingIgnoredDuringExecution: - # nodeSelectorTerms: - # - matchExpressions: - # - key: disktype - # operator: In - # values: - # - ssd # serviceAccountName: redis-sa -# TLS: -# ca: ca.key -# cert: tls.crt -# key: tls.key -# secret: -# secretName: redis-tls-cert +TLS: + ca: ca.key + cert: tls.crt + key: tls.key + secret: + secretName: "" + +acl : + secret : + secretName: "" + +env : [] + # - name: VAR_NAME + # value: "value1" + +serviceAccountName : "" \ No newline at end of file From fb1d55339dacef144baf1e8b8fbf951dd03c9d50 Mon Sep 17 00:00:00 2001 From: Shubham Gupta Date: Fri, 29 Sep 2023 18:49:35 +0530 Subject: [PATCH 5/5] bump chart Signed-off-by: Shubham Gupta --- charts/redis-cluster/Chart.yaml | 4 ++-- charts/redis-operator/Chart.yaml | 2 +- charts/redis-replication/Chart.yaml | 5 +---- charts/redis-sentinel/Chart.yaml | 2 +- charts/redis/Chart.yaml | 2 +- 5 files changed, 6 insertions(+), 9 deletions(-) diff --git a/charts/redis-cluster/Chart.yaml b/charts/redis-cluster/Chart.yaml index 85c25456..8c935c9b 100644 --- a/charts/redis-cluster/Chart.yaml +++ b/charts/redis-cluster/Chart.yaml @@ -1,8 +1,8 @@ apiVersion: v2 name: redis-cluster description: Provides easy redis setup definitions for Kubernetes services, and deployment. -version: 0.15.3 -appVersion: "0.15.0" +version: 0.15.5 +appVersion: "0.15.1" home: https://github.com/ot-container-kit/redis-operator sources: - https://github.com/ot-container-kit/redis-operator diff --git a/charts/redis-operator/Chart.yaml b/charts/redis-operator/Chart.yaml index 31258ae8..99c0d4c8 100644 --- a/charts/redis-operator/Chart.yaml +++ b/charts/redis-operator/Chart.yaml @@ -1,6 +1,6 @@ --- apiVersion: v2 -version: 0.15.4 +version: 0.15.5 appVersion: "0.15.1" description: Provides easy redis setup definitions for Kubernetes services, and deployment. engine: gotpl diff --git a/charts/redis-replication/Chart.yaml b/charts/redis-replication/Chart.yaml index 13510e4b..222471eb 100644 --- a/charts/redis-replication/Chart.yaml +++ b/charts/redis-replication/Chart.yaml @@ -1,9 +1,7 @@ apiVersion: v2 name: redis-replication description: Provides easy redis setup definitions for Kubernetes services, and deployment. - type: application - engine: gotpl maintainers: - name: iamabhishek-dubey @@ -11,8 +9,7 @@ maintainers: - name: shubham-cmyk sources: - https://github.com/ot-container-kit/redis-operator -version: 0.15.3 - +version: 0.15.4 appVersion: "0.15.0" home: https://github.com/ot-container-kit/redis-operator keywords: diff --git a/charts/redis-sentinel/Chart.yaml b/charts/redis-sentinel/Chart.yaml index 0e02bec6..3622dae1 100644 --- a/charts/redis-sentinel/Chart.yaml +++ b/charts/redis-sentinel/Chart.yaml @@ -1,7 +1,7 @@ apiVersion: v2 name: redis-sentinel description: Provides easy redis setup definitions for Kubernetes services, and deployment. -version: 0.15.3 +version: 0.15.4 appVersion: "0.15.0" home: https://github.com/ot-container-kit/redis-operator sources: diff --git a/charts/redis/Chart.yaml b/charts/redis/Chart.yaml index 83e414f4..8ef0e14c 100644 --- a/charts/redis/Chart.yaml +++ b/charts/redis/Chart.yaml @@ -2,7 +2,7 @@ apiVersion: v2 name: redis description: Provides easy redis setup definitions for Kubernetes services, and deployment. -version: 0.15.3 +version: 0.15.4 appVersion: "0.15.0" home: https://github.com/ot-container-kit/redis-operator sources: