Files

plugin-barman-cloud

Version: 0.7.0 Type: application AppVersion: v0.13.0

Helm Chart for CloudNativePG's CNPG-I backup plugin using Barman Cloud

Homepage: https://cloudnative-pg.io

About this chart

Helm chart to install the CNPG-I Barman Cloud Plugin, the CloudNativePG plugin that adds backup and restore capabilities to PostgreSQL Cluster resources via Barman Cloud.

NOTE: this chart supports only the latest point release of the plugin.

IMPORTANT: this chart requires a working installation of cert-manager. Please refer to the cert-manager installation page for more information.

The chart deploys the plugin only. It does not install the CloudNativePG operator (use the companion 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 chart (see the Cluster chart README for details) or apply your own Cluster manifest.

Getting Started

Prerequisites

This chart requires cert-manager 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

helm repo add cnpg https://cloudnative-pg.github.io/charts
helm repo update

Install the plugin

helm upgrade --install plugin-barman-cloud \
  --namespace cnpg-system \
  cnpg/plugin-barman-cloud

See the Values section below for the full list of configurable parameters.

Verify the installation

kubectl -n cnpg-system get deploy
kubectl -n cnpg-system rollout status deploy/plugin-barman-cloud

Uninstalling

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

Requirements

Kubernetes: >=1.29.0-0

Values

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.
affinity object {} Affinity for the operator to be installed.
certificate.createClientCertificate bool true Specifies whether the client certificate 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.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.
crds.create bool true Specifies whether the CRDs should be created when installing the chart.
dnsPolicy string ""
fullnameOverride string ""
hostNetwork bool false
image.pullPolicy string "IfNotPresent"
image.registry string "ghcr.io"
image.repository string "cloudnative-pg/plugin-barman-cloud"
image.tag string "" Overrides the image tag whose default is the chart appVersion.
imagePullSecrets list []
nameOverride string ""
namespaceOverride string ""
nodeSelector object {} Nodeselector for the operator to be installed.
podAnnotations object {} Annotations to be added to the pod.
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.create bool true Specifies whether Role and RoleBinding should be created.
replicaCount int 1
resources object {}
service.ipFamilies list [] Sets the families that should be supported and the order in which they should be applied to ClusterIP as well. Can be IPv4 and/or IPv6.
service.ipFamilyPolicy string "" Set the ip family policy to configure dual-stack see Configure dual-stack
service.name string "barman-cloud" DO NOT CHANGE THE SERVICE NAME as it is currently used to generate the certificate and can not be configured
service.port int 9090
serviceAccount.create bool true Specifies whether the service account should be created.
serviceAccount.name string "" The name of the service account to use. If not set and create is true, a name is generated using the fullname template.
sidecarImage.registry string "ghcr.io"
sidecarImage.repository string "cloudnative-pg/plugin-barman-cloud-sidecar"
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

Maintainers

Name Email Url
itay-grudev itay@verito.digital
quantumenigmaa thibaud.vaisseau@gmail.com
quentinbisson quentin.bisson@gmail.com

Contributing

Please read the code of conduct and the guidelines to contribute to the project.

Helm charts for CloudNativePG are distributed under Apache License 2.0.