diff --git a/internal/cnpgi/common/common.go b/internal/cnpgi/common/common.go index 8d99482..d09d2a2 100644 --- a/internal/cnpgi/common/common.go +++ b/internal/cnpgi/common/common.go @@ -2,9 +2,12 @@ package common import ( "fmt" + "path" "strings" barmanapi "github.com/cloudnative-pg/barman-cloud/pkg/api" + + "github.com/cloudnative-pg/plugin-barman-cloud/internal/cnpgi/metadata" ) // TODO: refactor. @@ -70,3 +73,8 @@ func MergeEnv(env []string, incomingEnv []string) []string { return result } + +// BuildCertificateFilePath builds the path to the barman objectStore certificate +func BuildCertificateFilePath(objectStoreName string) string { + return path.Join(metadata.BarmanCertificatesPath, objectStoreName, metadata.BarmanCertificatesFileName) +} diff --git a/internal/cnpgi/common/wal.go b/internal/cnpgi/common/wal.go index 9f7fc2e..586991d 100644 --- a/internal/cnpgi/common/wal.go +++ b/internal/cnpgi/common/wal.go @@ -83,7 +83,7 @@ func (w WALServiceImplementation) Archive( objectStore.Namespace, &objectStore.Spec.Configuration, os.Environ(), - path.Join(metadata.BarmanCertificatesPath, objectStore.Name, metadata.BarmanCertificatesFileName), + BuildCertificateFilePath(objectStore.Name), ) if err != nil { if apierrors.IsForbidden(err) { @@ -199,7 +199,7 @@ func (w WALServiceImplementation) restoreFromBarmanObjectStore( objectStore.Namespace, &objectStore.Spec.Configuration, os.Environ(), - path.Join(metadata.BarmanCertificatesPath, objectStore.Name, metadata.BarmanCertificatesFileName), + BuildCertificateFilePath(objectStore.Name), ) if err != nil { return fmt.Errorf("while getting recover credentials: %w", err) diff --git a/internal/cnpgi/instance/backup.go b/internal/cnpgi/instance/backup.go index 144cb6f..687cae7 100644 --- a/internal/cnpgi/instance/backup.go +++ b/internal/cnpgi/instance/backup.go @@ -4,7 +4,6 @@ import ( "context" "fmt" "os" - "path" "strconv" "time" @@ -105,7 +104,7 @@ func (b BackupServiceImplementation) Backup( objectStore.Namespace, &objectStore.Spec.Configuration, common.MergeEnv(osEnvironment, caBundleEnvironment), - path.Join(metadata.BarmanCertificatesPath, objectStore.Name, metadata.BarmanCertificatesFileName), + common.BuildCertificateFilePath(objectStore.Name), ) if err != nil { contextLogger.Error(err, "while setting backup cloud credentials") diff --git a/internal/cnpgi/restore/restore.go b/internal/cnpgi/restore/restore.go index 063423c..1f0cb93 100644 --- a/internal/cnpgi/restore/restore.go +++ b/internal/cnpgi/restore/restore.go @@ -26,6 +26,7 @@ import ( "sigs.k8s.io/controller-runtime/pkg/client" barmancloudv1 "github.com/cloudnative-pg/plugin-barman-cloud/api/v1" + "github.com/cloudnative-pg/plugin-barman-cloud/internal/cnpgi/common" "github.com/cloudnative-pg/plugin-barman-cloud/internal/cnpgi/metadata" "github.com/cloudnative-pg/plugin-barman-cloud/internal/cnpgi/operator/config" ) @@ -234,7 +235,7 @@ func (impl *JobHookImpl) checkBackupDestination( cluster.Namespace, barmanConfiguration, os.Environ(), - path.Join(metadata.BarmanCertificatesPath, objectStoreName, metadata.BarmanCertificatesFileName), + common.BuildCertificateFilePath(objectStoreName), ) if err != nil { return fmt.Errorf("can't get credentials for cluster %v: %w", cluster.Name, err) @@ -353,7 +354,7 @@ func loadBackupObjectFromExternalCluster( cluster.Namespace, recoveryObjectStore, os.Environ(), - path.Join(metadata.BarmanCertificatesPath, recoveryObjectStoreName, metadata.BarmanCertificatesFileName)) + common.BuildCertificateFilePath(recoveryObjectStoreName)) if err != nil { return nil, nil, err }