Skip to main content
Version: 0.4.0

Installation

important
  1. The plugin must be installed in the same namespace as the CloudNativePG operator (typically cnpg-system).

  2. Keep in mind that the operator's listening namespaces may differ from its installation namespace. Double-check this to avoid configuration issues.

Verifying the Requirements

Before installing the plugin, make sure the requirements are met.

CloudNativePG Version

Ensure you're running a version of CloudNativePG that is compatible with the plugin. If installed in the default cnpg-system namespace, you can verify the version with:

kubectl get deployment -n cnpg-system cnpg-controller-manager -o yaml \
| grep ghcr.io/cloudnative-pg/cloudnative-pg

Example output:

image: ghcr.io/cloudnative-pg/cloudnative-pg:1.26.0

The version must be 1.26 or newer.

cert-manager

Use the cmctl tool to confirm that cert-manager is installed and available:

cmctl check api

Example output:

The cert-manager API is ready

Both checks are required before proceeding with the installation.

Installing the Barman Cloud Plugin

Install the plugin using kubectl by applying the manifest for the latest release:

kubectl apply -f \
https://github.com/cloudnative-pg/plugin-barman-cloud/releases/download/v0.4.0/manifest.yaml

Example output:

customresourcedefinition.apiextensions.k8s.io/objectstores.barmancloud.cnpg.io created
serviceaccount/plugin-barman-cloud created
role.rbac.authorization.k8s.io/leader-election-role created
clusterrole.rbac.authorization.k8s.io/metrics-auth-role created
clusterrole.rbac.authorization.k8s.io/metrics-reader created
clusterrole.rbac.authorization.k8s.io/objectstore-editor-role created
clusterrole.rbac.authorization.k8s.io/objectstore-viewer-role created
clusterrole.rbac.authorization.k8s.io/plugin-barman-cloud created
rolebinding.rbac.authorization.k8s.io/leader-election-rolebinding created
clusterrolebinding.rbac.authorization.k8s.io/metrics-auth-rolebinding created
clusterrolebinding.rbac.authorization.k8s.io/plugin-barman-cloud-binding created
secret/plugin-barman-cloud-8tfddg42gf created
service/barman-cloud created
deployment.apps/barman-cloud configured
certificate.cert-manager.io/barman-cloud-client created
certificate.cert-manager.io/barman-cloud-server created
issuer.cert-manager.io/selfsigned-issuer created

Finally, check that the deployment is up and running:

kubectl rollout status deployment \
-n cnpg-system barman-cloud

Example output:

deployment "barman-cloud" successfully rolled out

This confirms that the plugin is deployed and ready to use.

Testing the latest development snapshot

You can also test the latest development snapshot of the plugin with the following command:

kubectl apply -f \
https://raw.githubusercontent.com/cloudnative-pg/plugin-barman-cloud/refs/heads/main/manifest.yaml