diff --git a/chart/chart-index/Chart.yaml b/chart/chart-index/Chart.yaml index 4210fb2d2f..551bc7e427 100644 --- a/chart/chart-index/Chart.yaml +++ b/chart/chart-index/Chart.yaml @@ -19,7 +19,7 @@ dependencies: repository: https://cloudnative-pg.github.io/charts - name: plugin-barman-cloud alias: cloudnative-pg-plugin-barman-cloud - version: 0.6.0 + version: 0.7.1 repository: https://cloudnative-pg.github.io/charts - name: cloud-firewall-crd version: 0.2.0 diff --git a/charts/cloudnative-pg-plugin-barman-cloud/Chart.yaml b/charts/cloudnative-pg-plugin-barman-cloud/Chart.yaml index 8920221d41..1aecd79007 100644 --- a/charts/cloudnative-pg-plugin-barman-cloud/Chart.yaml +++ b/charts/cloudnative-pg-plugin-barman-cloud/Chart.yaml @@ -1,5 +1,5 @@ apiVersion: v2 -appVersion: v0.12.0 +appVersion: v0.14.0 description: Helm Chart for CloudNativePG's CNPG-I backup plugin using Barman Cloud home: https://cloudnative-pg.io icon: https://raw.githubusercontent.com/cloudnative-pg/artwork/main/cloudnativepg-logo.svg @@ -24,4 +24,4 @@ name: plugin-barman-cloud sources: - https://github.com/cloudnative-pg/plugin-barman-cloud type: application -version: 0.6.0 +version: 0.7.1 diff --git a/charts/cloudnative-pg-plugin-barman-cloud/README.md b/charts/cloudnative-pg-plugin-barman-cloud/README.md index d997e7204e..d1f70ccb2b 100644 --- a/charts/cloudnative-pg-plugin-barman-cloud/README.md +++ b/charts/cloudnative-pg-plugin-barman-cloud/README.md @@ -1,18 +1,75 @@ # plugin-barman-cloud -![Version: 0.6.0](https://img.shields.io/badge/Version-0.6.0-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: v0.12.0](https://img.shields.io/badge/AppVersion-v0.12.0-informational?style=flat-square) +![Version: 0.7.1](https://img.shields.io/badge/Version-0.7.1-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: v0.14.0](https://img.shields.io/badge/AppVersion-v0.14.0-informational?style=flat-square) Helm Chart for CloudNativePG's CNPG-I backup plugin using Barman Cloud **Homepage:** -## Maintainers +About this chart +---------------- -| Name | Email | Url | -| ---- | ------ | --- | -| itay-grudev | | | -| quantumenigmaa | | | -| quentinbisson | | | +Helm chart to install the [CNPG-I Barman Cloud Plugin](https://github.com/cloudnative-pg/plugin-barman-cloud), +the [CloudNativePG](https://cloudnative-pg.io) plugin that adds backup and restore capabilities to PostgreSQL +`Cluster` resources via [Barman Cloud](https://pgbarman.org/). + +**NOTE**: this chart supports only the latest point release of the plugin. + +**IMPORTANT**: this chart requires a working installation of [cert-manager](https://cert-manager.io/). +Please refer to the cert-manager +[installation page](https://cert-manager.io/docs/installation/helm/) for more information. + +The chart deploys the plugin only. It does **not** install the CloudNativePG operator (use the companion +[`cloudnative-pg`](https://github.com/cloudnative-pg/charts/tree/main/charts/cloudnative-pg) chart for that), +and it does not create any `Cluster` resource. To provision a PostgreSQL cluster that uses this plugin, use +the [`cluster`](https://github.com/cloudnative-pg/charts/tree/main/charts/cluster) chart +(see the [Cluster chart README](https://github.com/cloudnative-pg/charts/blob/main/charts/cluster/README.md) for details) +or apply your own `Cluster` manifest. + +Getting Started +--------------- + +### Prerequisites + +This chart requires [cert-manager](https://cert-manager.io/) to issue the plugin's TLS certificates. +Install it and wait until it is ready **before** installing this chart, otherwise the install fails because +the certificates cannot be issued. + +### Add the chart repository + +```console +helm repo add cnpg https://cloudnative-pg.github.io/charts +helm repo update +``` + +### Install the plugin + +```console +helm upgrade --install plugin-barman-cloud \ + --namespace cnpg-system \ + cnpg/plugin-barman-cloud +``` + +See the [Values](#values) section below for the full list of configurable parameters. + +### Verify the installation + +```console +kubectl -n cnpg-system get deploy +kubectl -n cnpg-system rollout status deploy/plugin-barman-cloud +``` + +Uninstalling +------------ + +```console +helm uninstall plugin-barman-cloud --namespace cnpg-system +``` + +> **Warning** +> Uninstalling the chart does not remove the plugin's CRDs (for example `ObjectStore`). Deleting them removes +> every `ObjectStore` resource and the backup configuration it holds, so only delete the CRDs if you are sure +> no resource depends on them. ## Source Code @@ -27,12 +84,13 @@ Kubernetes: `>=1.29.0-0` | Key | Type | Default | Description | |-----|------|---------|-------------| | additionalArgs | list | `[]` | Additional arguments to be added to the operator's args list. | -| additionalEnv | list | `[]` | Array containing extra environment variables which can be templated. For example: - name: RELEASE_NAME value: "{{ .Release.Name }}" - name: MY_VAR value: "mySpecialKey" | +| additionalEnv | list | `[]` | Array containing extra environment variables which can be templated. | | affinity | object | `{}` | Affinity for the operator to be installed. | | certificate.createClientCertificate | bool | `true` | Specifies whether the client certificate should be created. | +| certificate.createIssuer | bool | `true` | Specifies whether the issuer should be created. | | certificate.createServerCertificate | bool | `true` | Specifies whether the server certificate should be created. | | certificate.duration | string | `"2160h"` | The duration of the certificates. | -| certificate.issuerName | string | `"selfsigned-issuer"` | The name of the issuer to use for the certificates. | +| certificate.issuerName | string | `""` | The name of the issuer to use for the certificates. | | certificate.renewBefore | string | `"360h"` | The renew before time for the certificates. | | commonAnnotations | object | `{}` | Annotations to be added to all other resources. | | containerSecurityContext | object | `{"allowPrivilegeEscalation":false,"capabilities":{"drop":["ALL"]},"readOnlyRootFilesystem":true,"runAsGroup":10001,"runAsUser":10001,"seccompProfile":{"type":"RuntimeDefault"}}` | Container Security Context. | @@ -52,6 +110,7 @@ Kubernetes: `>=1.29.0-0` | podLabels | object | `{}` | Labels to be added to the pod. | | podSecurityContext | object | `{"runAsNonRoot":true,"seccompProfile":{"type":"RuntimeDefault"}}` | Security Context for the whole pod. | | priorityClassName | string | `""` | Priority indicates the importance of a Pod relative to other Pods. | +| rbac.cnpgGroup | string | `"postgresql.cnpg.io"` | The API group of the Cluster CRD the plugin is granted access to (get/list/watch on backups, update on clusters/finalizers). Override this if you run a CloudNativePG-based operator whose Cluster CRD lives under a different API group. | | rbac.create | bool | `true` | Specifies whether Role and RoleBinding should be created. | | replicaCount | int | `1` | | | resources | object | `{}` | | @@ -66,4 +125,23 @@ Kubernetes: `>=1.29.0-0` | sidecarImage.tag | string | `""` | Overrides the image tag whose default is the chart appVersion. | | tolerations | list | `[]` | Tolerations for the operator to be installed. | | topologySpreadConstraints | list | `[]` | Topology Spread Constraints for the operator to be installed. | -| updateStrategy | object | `{}` | Update strategy for the operator. ref: https://kubernetes.io/docs/concepts/workloads/controllers/deployment/#strategy For example: type: RollingUpdate rollingUpdate: maxSurge: 25% maxUnavailable: 25% WARNING: the RollingUpdate strategy is not supported by the operator yet so it can currently only use the Recreate strategy. | +| updateStrategy | object | `{}` | Update strategy for the operator. ref: https://kubernetes.io/docs/concepts/workloads/controllers/deployment/#strategy | + +## Maintainers + +| Name | Email | Url | +| ---- | ------ | --- | +| itay-grudev | | | +| quantumenigmaa | | | +| quentinbisson | | | + +Contributing +------------ + +Please read the [code of conduct](https://github.com/cloudnative-pg/charts/blob/main/CODE-OF-CONDUCT.md) and the +[guidelines](https://github.com/cloudnative-pg/charts/blob/main/CONTRIBUTING.md) to contribute to the project. + +Copyright +--------- + +Helm charts for CloudNativePG are distributed under [Apache License 2.0](./LICENSE). diff --git a/charts/cloudnative-pg-plugin-barman-cloud/README.md.gotmpl b/charts/cloudnative-pg-plugin-barman-cloud/README.md.gotmpl new file mode 100644 index 0000000000..77c421d642 --- /dev/null +++ b/charts/cloudnative-pg-plugin-barman-cloud/README.md.gotmpl @@ -0,0 +1,108 @@ +{{ template "chart.header" . }} + + +{{ template "chart.deprecationWarning" . }} + + +{{ template "chart.badgesSection" . }} + + +{{ template "chart.description" . }} + + +{{ template "chart.homepageLine" . }} + + +About this chart +---------------- + +Helm chart to install the [CNPG-I Barman Cloud Plugin](https://github.com/cloudnative-pg/plugin-barman-cloud), +the [CloudNativePG](https://cloudnative-pg.io) plugin that adds backup and restore capabilities to PostgreSQL +`Cluster` resources via [Barman Cloud](https://pgbarman.org/). + +**NOTE**: this chart supports only the latest point release of the plugin. + +**IMPORTANT**: this chart requires a working installation of [cert-manager](https://cert-manager.io/). +Please refer to the cert-manager +[installation page](https://cert-manager.io/docs/installation/helm/) for more information. + +The chart deploys the plugin only. It does **not** install the CloudNativePG operator (use the companion +[`cloudnative-pg`](https://github.com/cloudnative-pg/charts/tree/main/charts/cloudnative-pg) chart for that), +and it does not create any `Cluster` resource. To provision a PostgreSQL cluster that uses this plugin, use +the [`cluster`](https://github.com/cloudnative-pg/charts/tree/main/charts/cluster) chart +(see the [Cluster chart README](https://github.com/cloudnative-pg/charts/blob/main/charts/cluster/README.md) for details) +or apply your own `Cluster` manifest. + + +Getting Started +--------------- + +### Prerequisites + +This chart requires [cert-manager](https://cert-manager.io/) to issue the plugin's TLS certificates. +Install it and wait until it is ready **before** installing this chart, otherwise the install fails because +the certificates cannot be issued. + +### Add the chart repository + +```console +helm repo add cnpg https://cloudnative-pg.github.io/charts +helm repo update +``` + +### Install the plugin + +```console +helm upgrade --install plugin-barman-cloud \ + --namespace cnpg-system \ + cnpg/plugin-barman-cloud +``` + +See the [Values](#values) section below for the full list of configurable parameters. + +### Verify the installation + +```console +kubectl -n cnpg-system get deploy +kubectl -n cnpg-system rollout status deploy/plugin-barman-cloud +``` + + +Uninstalling +------------ + +```console +helm uninstall plugin-barman-cloud --namespace cnpg-system +``` + +> **Warning** +> Uninstalling the chart does not remove the plugin's CRDs (for example `ObjectStore`). Deleting them removes +> every `ObjectStore` resource and the backup configuration it holds, so only delete the CRDs if you are sure +> no resource depends on them. + +{{ template "chart.sourcesSection" . }} + + +{{ template "chart.requirementsSection" . }} + + +{{ template "chart.valuesSection" . }} + +{{ template "chart.maintainersSection" . }} + +Contributing +------------ + +Please read the [code of conduct](https://github.com/cloudnative-pg/charts/blob/main/CODE-OF-CONDUCT.md) and the +[guidelines](https://github.com/cloudnative-pg/charts/blob/main/CONTRIBUTING.md) to contribute to the project. + + +Copyright +--------- + +Helm charts for CloudNativePG are distributed under [Apache License 2.0](./LICENSE). + + +{{- if not .SkipVersionFooter }} +{{ template "helm-docs.versionFooter" . }} +{{- end }} diff --git a/charts/cloudnative-pg-plugin-barman-cloud/templates/_helpers.tpl b/charts/cloudnative-pg-plugin-barman-cloud/templates/_helpers.tpl index 150573ae92..07ec56e53b 100644 --- a/charts/cloudnative-pg-plugin-barman-cloud/templates/_helpers.tpl +++ b/charts/cloudnative-pg-plugin-barman-cloud/templates/_helpers.tpl @@ -71,3 +71,10 @@ Create the name of the service account to use {{- default "default" .Values.serviceAccount.name }} {{- end }} {{- end }} + +{{/* +Create the name of the certificate issuer to use +*/}} +{{- define "plugin-barman-cloud.certificateIssuerName" -}} +{{- default (printf "%s-selfsigned-issuer" (include "plugin-barman-cloud.fullname" .)) .Values.certificate.issuerName }} +{{- end }} diff --git a/charts/cloudnative-pg-plugin-barman-cloud/templates/certificate-issuer.yaml b/charts/cloudnative-pg-plugin-barman-cloud/templates/certificate-issuer.yaml index 64f078e8e6..4ee90c66c0 100644 --- a/charts/cloudnative-pg-plugin-barman-cloud/templates/certificate-issuer.yaml +++ b/charts/cloudnative-pg-plugin-barman-cloud/templates/certificate-issuer.yaml @@ -16,11 +16,13 @@ # # SPDX-License-Identifier: Apache-2.0 # +{{- if .Values.certificate.createIssuer }} --- apiVersion: cert-manager.io/v1 kind: Issuer metadata: - name: {{ include "plugin-barman-cloud.fullname" . }}-selfsigned-issuer + name: {{ include "plugin-barman-cloud.certificateIssuerName" . }} namespace: {{ include "plugin-barman-cloud.namespace" . }} spec: selfSigned: {} +{{- end }} diff --git a/charts/cloudnative-pg-plugin-barman-cloud/templates/client-certificate.yaml b/charts/cloudnative-pg-plugin-barman-cloud/templates/client-certificate.yaml index 5f4aeafe76..fcce3ac0e5 100644 --- a/charts/cloudnative-pg-plugin-barman-cloud/templates/client-certificate.yaml +++ b/charts/cloudnative-pg-plugin-barman-cloud/templates/client-certificate.yaml @@ -30,7 +30,7 @@ spec: issuerRef: group: cert-manager.io kind: Issuer - name: {{ include "plugin-barman-cloud.fullname" . }}-selfsigned-issuer + name: {{ include "plugin-barman-cloud.certificateIssuerName" . }} renewBefore: {{ .Values.certificate.renewBefore | default "360h" }} secretName: barman-cloud-client-tls usages: diff --git a/charts/cloudnative-pg-plugin-barman-cloud/templates/crds/crds.yaml b/charts/cloudnative-pg-plugin-barman-cloud/templates/crds/crds.yaml index 7b316b6ca0..1cde99b057 100644 --- a/charts/cloudnative-pg-plugin-barman-cloud/templates/crds/crds.yaml +++ b/charts/cloudnative-pg-plugin-barman-cloud/templates/crds/crds.yaml @@ -3,7 +3,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.20.1 + controller-gen.kubebuilder.io/version: v0.21.0 helm.sh/resource-policy: keep name: objectstores.barmancloud.cnpg.io spec: @@ -145,10 +145,11 @@ spec: description: |- Compress a backup file (a tar file per tablespace) while streaming it to the object store. Available options are empty string (no - compression, default), `gzip`, `bzip2`, and `snappy`. + compression, default), `gzip`, `bzip2`, `lz4`, and `snappy`. enum: - bzip2 - gzip + - lz4 - snappy type: string encryption: @@ -176,6 +177,25 @@ spec: format: int32 minimum: 1 type: integer + restoreAdditionalCommandArgs: + description: |- + Additional arguments that can be appended to the 'barman-cloud-restore' + command-line invocation. These arguments provide flexibility to customize + the data restore process further, according to specific requirements or + configurations. + + Example: + In a scenario where specialized restore options are required, such as setting + a specific read timeout or defining custom behavior, users can use this field + to specify additional command arguments. + + Note: + It's essential to ensure that the provided arguments are valid and supported + by the 'barman-cloud-restore' command, to avoid potential errors or unintended + behavior during execution. + items: + type: string + type: array type: object destinationPath: description: |- diff --git a/charts/cloudnative-pg-plugin-barman-cloud/templates/deployment.yaml b/charts/cloudnative-pg-plugin-barman-cloud/templates/deployment.yaml index 893fdc2fc8..630113b74d 100644 --- a/charts/cloudnative-pg-plugin-barman-cloud/templates/deployment.yaml +++ b/charts/cloudnative-pg-plugin-barman-cloud/templates/deployment.yaml @@ -78,7 +78,12 @@ spec: initialDelaySeconds: 10 periodSeconds: 10 tcpSocket: - port: 9090 + port: 8081 + livenessProbe: + initialDelaySeconds: 10 + periodSeconds: 10 + tcpSocket: + port: 8081 resources: {{- toYaml .Values.resources | nindent 10 }} securityContext: diff --git a/charts/cloudnative-pg-plugin-barman-cloud/templates/rbac.yaml b/charts/cloudnative-pg-plugin-barman-cloud/templates/rbac.yaml index 6a550c136f..c3ce711e26 100644 --- a/charts/cloudnative-pg-plugin-barman-cloud/templates/rbac.yaml +++ b/charts/cloudnative-pg-plugin-barman-cloud/templates/rbac.yaml @@ -74,7 +74,7 @@ rules: - patch - update - apiGroups: - - postgresql.cnpg.io + - {{ .Values.rbac.cnpgGroup }} resources: - backups verbs: @@ -82,7 +82,7 @@ rules: - list - watch - apiGroups: - - postgresql.cnpg.io + - {{ .Values.rbac.cnpgGroup }} resources: - clusters/finalizers verbs: diff --git a/charts/cloudnative-pg-plugin-barman-cloud/templates/server-certificate.yaml b/charts/cloudnative-pg-plugin-barman-cloud/templates/server-certificate.yaml index e82eaa34ba..662251c1e1 100644 --- a/charts/cloudnative-pg-plugin-barman-cloud/templates/server-certificate.yaml +++ b/charts/cloudnative-pg-plugin-barman-cloud/templates/server-certificate.yaml @@ -32,7 +32,7 @@ spec: issuerRef: group: cert-manager.io kind: Issuer - name: {{ include "plugin-barman-cloud.fullname" . }}-selfsigned-issuer + name: {{ include "plugin-barman-cloud.certificateIssuerName" . }} renewBefore: {{ .Values.certificate.renewBefore | default "360h" }} secretName: barman-cloud-server-tls usages: diff --git a/charts/cloudnative-pg-plugin-barman-cloud/test/simple-deployment/01-simple_deployment-assert.yaml b/charts/cloudnative-pg-plugin-barman-cloud/test/simple-deployment/01-simple_deployment-assert.yaml index 37e11d27bf..961ae76fad 100644 --- a/charts/cloudnative-pg-plugin-barman-cloud/test/simple-deployment/01-simple_deployment-assert.yaml +++ b/charts/cloudnative-pg-plugin-barman-cloud/test/simple-deployment/01-simple_deployment-assert.yaml @@ -23,7 +23,12 @@ spec: initialDelaySeconds: 10 periodSeconds: 10 tcpSocket: - port: 9090 + port: 8081 + livenessProbe: + initialDelaySeconds: 10 + periodSeconds: 10 + tcpSocket: + port: 8081 resources: limits: cpu: 100m diff --git a/charts/cloudnative-pg-plugin-barman-cloud/values.schema.json b/charts/cloudnative-pg-plugin-barman-cloud/values.schema.json index 112c01ae19..dc8396aaf7 100644 --- a/charts/cloudnative-pg-plugin-barman-cloud/values.schema.json +++ b/charts/cloudnative-pg-plugin-barman-cloud/values.schema.json @@ -7,85 +7,67 @@ "items": { "required": [] }, - "required": [], - "title": "additionalArgs" + "required": [] }, "additionalEnv": { "additionalProperties": true, - "description": "Array containing extra environment variables which can be templated.\nFor example:\n - name: RELEASE_NAME\n value: \"{{ .Release.Name }}\"\n - name: MY_VAR\n value: \"mySpecialKey\"", + "description": "Array containing extra environment variables which can be templated.", "items": { "required": [] }, - "required": [], - "title": "additionalEnv" + "required": [] }, "affinity": { "additionalProperties": true, "description": "Affinity for the operator to be installed.", - "required": [], - "title": "affinity" + "required": [] }, "certificate": { "properties": { "createClientCertificate": { "default": true, "description": "Specifies whether the client certificate should be created.", - "required": [], - "title": "createClientCertificate", + "type": "boolean" + }, + "createIssuer": { + "default": true, + "description": "Specifies whether the issuer should be created.", "type": "boolean" }, "createServerCertificate": { "default": true, "description": "Specifies whether the server certificate should be created.", - "required": [], - "title": "createServerCertificate", "type": "boolean" }, "duration": { "default": "2160h", "description": "The duration of the certificates.", - "required": [], - "title": "duration", "type": "string" }, "issuerName": { - "default": "selfsigned-issuer", + "default": "", "description": "The name of the issuer to use for the certificates.", - "required": [], - "title": "issuerName", "type": "string" }, "renewBefore": { "default": "360h", "description": "The renew before time for the certificates.", - "required": [], - "title": "renewBefore", "type": "string" } }, - "required": [ - "createClientCertificate", - "createServerCertificate", - "issuerName", - "duration", - "renewBefore" - ], - "title": "certificate", + "required": [], "type": "object" }, "commonAnnotations": { "additionalProperties": true, "description": "Annotations to be added to all other resources.", - "required": [], - "title": "commonAnnotations" + "required": [] }, "containerSecurityContext": { "description": "Container Security Context.", "properties": { "allowPrivilegeEscalation": { "default": false, - "required": [], - "title": "allowPrivilegeEscalation", "type": "boolean" }, "capabilities": { @@ -94,66 +76,41 @@ "items": { "anyOf": [ { - "required": [], "type": "string" } ], "required": [] }, - "required": [], - "title": "drop", "type": "array" } }, - "required": [ - "drop" - ], - "title": "capabilities", + "required": [], "type": "object" }, "readOnlyRootFilesystem": { "default": true, - "required": [], - "title": "readOnlyRootFilesystem", "type": "boolean" }, "runAsGroup": { "default": 10001, - "required": [], - "title": "runAsGroup", "type": "integer" }, "runAsUser": { "default": 10001, - "required": [], - "title": "runAsUser", "type": "integer" }, "seccompProfile": { "properties": { "type": { "default": "RuntimeDefault", - "required": [], - "title": "type", "type": "string" } }, - "required": [ - "type" - ], - "title": "seccompProfile", + "required": [], "type": "object" } }, - "required": [ - "allowPrivilegeEscalation", - "readOnlyRootFilesystem", - "runAsUser", - "runAsGroup", - "seccompProfile", - "capabilities" - ], - "title": "containerSecurityContext", + "required": [], "type": "object" }, "crds": { @@ -161,76 +118,50 @@ "create": { "default": true, "description": "Specifies whether the CRDs should be created when installing the chart.", - "required": [], - "title": "create", "type": "boolean" } }, - "required": [ - "create" - ], - "title": "crds", + "required": [], "type": "object" }, "dnsPolicy": { "default": "", - "required": [], - "title": "dnsPolicy", "type": "string" }, "fullnameOverride": { "default": "", - "required": [], - "title": "fullnameOverride", "type": "string" }, "global": { "description": "Global values are values that can be accessed from any chart or subchart by exactly the same name.", "required": [], - "title": "global", "type": "object" }, "hostNetwork": { "default": false, - "required": [], - "title": "hostNetwork", "type": "boolean" }, "image": { "properties": { "pullPolicy": { "default": "IfNotPresent", - "required": [], - "title": "pullPolicy", "type": "string" }, "registry": { "default": "ghcr.io", - "required": [], - "title": "registry", "type": "string" }, "repository": { "default": "cloudnative-pg/plugin-barman-cloud", - "required": [], - "title": "repository", "type": "string" }, "tag": { "default": "", "description": "Overrides the image tag whose default is the chart appVersion.", - "required": [], - "title": "tag", "type": "string" } }, - "required": [ - "registry", - "repository", - "pullPolicy", - "tag" - ], - "title": "image", + "required": [], "type": "object" }, "imagePullSecrets": { @@ -238,104 +169,80 @@ "items": { "required": [] }, - "required": [], - "title": "imagePullSecrets" + "required": [] }, "nameOverride": { "default": "", - "required": [], - "title": "nameOverride", "type": "string" }, "namespaceOverride": { "default": "", - "required": [], - "title": "namespaceOverride", "type": "string" }, "nodeSelector": { "additionalProperties": true, "description": "Nodeselector for the operator to be installed.", - "required": [], - "title": "nodeSelector" + "required": [] }, "podAnnotations": { "additionalProperties": true, "description": "Annotations to be added to the pod.", - "required": [], - "title": "podAnnotations" + "required": [] }, "podLabels": { "additionalProperties": true, "description": "Labels to be added to the pod.", - "required": [], - "title": "podLabels" + "required": [] }, "podSecurityContext": { "description": "Security Context for the whole pod.", "properties": { "runAsNonRoot": { "default": true, - "required": [], - "title": "runAsNonRoot", "type": "boolean" }, "seccompProfile": { "properties": { "type": { "default": "RuntimeDefault", - "required": [], - "title": "type", "type": "string" } }, - "required": [ - "type" - ], - "title": "seccompProfile", + "required": [], "type": "object" } }, - "required": [ - "runAsNonRoot", - "seccompProfile" - ], - "title": "podSecurityContext", + "required": [], "type": "object" }, "priorityClassName": { "default": "", "description": "Priority indicates the importance of a Pod relative to other Pods.", - "required": [], - "title": "priorityClassName", "type": "string" }, "rbac": { "properties": { + "cnpgGroup": { + "default": "postgresql.cnpg.io", + "description": "The API group of the Cluster CRD the plugin is granted access to\n(get/list/watch on backups, update on clusters/finalizers). Override\nthis if you run a CloudNativePG-based operator whose Cluster CRD lives\nunder a different API group.", + "type": "string" + }, "create": { "default": true, "description": "Specifies whether Role and RoleBinding should be created.", - "required": [], - "title": "create", "type": "boolean" } }, - "required": [ - "create" - ], - "title": "rbac", + "required": [], "type": "object" }, "replicaCount": { "default": 1, - "required": [], - "title": "replicaCount", "type": "integer" }, "resources": { "additionalProperties": true, - "required": [], - "title": "resources" + "required": [] }, "service": { "properties": { @@ -348,37 +255,24 @@ ], "required": [] }, - "required": [], - "title": "ipFamilies", "type": "array" }, "ipFamilyPolicy": { "default": "", "description": "Set the ip family policy to configure dual-stack see [Configure dual-stack](https://kubernetes.io/docs/concepts/services-networking/dual-stack/#services)", - "required": [], - "title": "ipFamilyPolicy", "type": "string" }, "name": { "default": "barman-cloud", "description": "DO NOT CHANGE THE SERVICE NAME as it is currently used to generate the certificate\nand can not be configured", - "required": [], - "title": "name", "type": "string" }, "port": { "default": 9090, - "required": [], - "title": "port", "type": "integer" } }, - "required": [ - "name", - "port", - "ipFamilyPolicy" - ], - "title": "service", + "required": [], "type": "object" }, "serviceAccount": { @@ -386,53 +280,34 @@ "create": { "default": true, "description": "Specifies whether the service account should be created.", - "required": [], - "title": "create", "type": "boolean" }, "name": { "default": "", "description": "The name of the service account to use.\nIf not set and create is true, a name is generated using the fullname template.", - "required": [], - "title": "name", "type": "string" } }, - "required": [ - "create", - "name" - ], - "title": "serviceAccount", + "required": [], "type": "object" }, "sidecarImage": { "properties": { "registry": { "default": "ghcr.io", - "required": [], - "title": "registry", "type": "string" }, "repository": { "default": "cloudnative-pg/plugin-barman-cloud-sidecar", - "required": [], - "title": "repository", "type": "string" }, "tag": { "default": "", "description": "Overrides the image tag whose default is the chart appVersion.", - "required": [], - "title": "tag", "type": "string" } }, - "required": [ - "registry", - "repository", - "tag" - ], - "title": "sidecarImage", + "required": [], "type": "object" }, "tolerations": { @@ -441,8 +316,7 @@ "items": { "required": [] }, - "required": [], - "title": "tolerations" + "required": [] }, "topologySpreadConstraints": { "additionalProperties": true, @@ -450,33 +324,14 @@ "items": { "required": [] }, - "required": [], - "title": "topologySpreadConstraints" + "required": [] }, "updateStrategy": { "additionalProperties": true, - "description": "Update strategy for the operator.\nref: https://kubernetes.io/docs/concepts/workloads/controllers/deployment/#strategy\nFor example:\n type: RollingUpdate\n rollingUpdate:\n maxSurge: 25%\n maxUnavailable: 25%\n\nWARNING: the RollingUpdate strategy is not supported by the operator yet so it can\ncurrently only use the Recreate strategy.", - "required": [], - "title": "updateStrategy" + "description": "Update strategy for the operator.\nref: https://kubernetes.io/docs/concepts/workloads/controllers/deployment/#strategy", + "required": [] } }, - "required": [ - "replicaCount", - "image", - "sidecarImage", - "nameOverride", - "fullnameOverride", - "namespaceOverride", - "hostNetwork", - "dnsPolicy", - "crds", - "serviceAccount", - "rbac", - "containerSecurityContext", - "podSecurityContext", - "priorityClassName", - "service", - "certificate" - ], + "required": [], "type": "object" -} \ No newline at end of file +} diff --git a/charts/cloudnative-pg-plugin-barman-cloud/values.yaml b/charts/cloudnative-pg-plugin-barman-cloud/values.yaml index ea37056316..892b816c41 100644 --- a/charts/cloudnative-pg-plugin-barman-cloud/values.yaml +++ b/charts/cloudnative-pg-plugin-barman-cloud/values.yaml @@ -51,6 +51,7 @@ dnsPolicy: "" # @schema # -- Update strategy for the operator. # ref: https://kubernetes.io/docs/concepts/workloads/controllers/deployment/#strategy +updateStrategy: {} # For example: # type: RollingUpdate # rollingUpdate: @@ -59,7 +60,6 @@ dnsPolicy: "" # # WARNING: the RollingUpdate strategy is not supported by the operator yet so it can # currently only use the Recreate strategy. -updateStrategy: {} crds: # -- Specifies whether the CRDs should be created when installing the chart. @@ -75,12 +75,12 @@ additionalArgs: [] # additionalProperties: true # @schema # -- Array containing extra environment variables which can be templated. +additionalEnv: [] # For example: # - name: RELEASE_NAME # value: "{{ .Release.Name }}" # - name: MY_VAR # value: "mySpecialKey" -additionalEnv: [] serviceAccount: # -- Specifies whether the service account should be created. @@ -92,6 +92,11 @@ serviceAccount: rbac: # -- Specifies whether Role and RoleBinding should be created. create: true + # -- The API group of the Cluster CRD the plugin is granted access to + # (get/list/watch on backups, update on clusters/finalizers). Override + # this if you run a CloudNativePG-based operator whose Cluster CRD lives + # under a different API group. + cnpgGroup: postgresql.cnpg.io # @schema # additionalProperties: true @@ -189,8 +194,10 @@ certificate: createClientCertificate: true # -- Specifies whether the server certificate should be created. createServerCertificate: true + # -- Specifies whether the issuer should be created. + createIssuer: true # -- The name of the issuer to use for the certificates. - issuerName: selfsigned-issuer + issuerName: "" # -- The duration of the certificates. duration: 2160h # -- The renew before time for the certificates.