@@ -2360,6 +2360,8 @@ func (c *Cluster) generateLogicalBackupJob() (*batchv1.CronJob, error) {
23602360
23612361func (c * Cluster ) generateLogicalBackupPodEnvVars () []v1.EnvVar {
23622362
2363+ backupProvider := c .OpConfig .LogicalBackup .LogicalBackupProvider
2364+
23632365 envVars := []v1.EnvVar {
23642366 {
23652367 Name : "SCOPE" ,
@@ -2378,55 +2380,6 @@ func (c *Cluster) generateLogicalBackupPodEnvVars() []v1.EnvVar {
23782380 },
23792381 },
23802382 },
2381- // Bucket env vars
2382- {
2383- Name : "LOGICAL_BACKUP_PROVIDER" ,
2384- Value : c .OpConfig .LogicalBackup .LogicalBackupProvider ,
2385- },
2386- {
2387- Name : "LOGICAL_BACKUP_S3_BUCKET" ,
2388- Value : c .OpConfig .LogicalBackup .LogicalBackupS3Bucket ,
2389- },
2390- {
2391- Name : "LOGICAL_BACKUP_S3_REGION" ,
2392- Value : c .OpConfig .LogicalBackup .LogicalBackupS3Region ,
2393- },
2394- {
2395- Name : "LOGICAL_BACKUP_S3_ENDPOINT" ,
2396- Value : c .OpConfig .LogicalBackup .LogicalBackupS3Endpoint ,
2397- },
2398- {
2399- Name : "LOGICAL_BACKUP_S3_SSE" ,
2400- Value : c .OpConfig .LogicalBackup .LogicalBackupS3SSE ,
2401- },
2402- {
2403- Name : "LOGICAL_BACKUP_S3_RETENTION_TIME" ,
2404- Value : c .OpConfig .LogicalBackup .LogicalBackupS3RetentionTime ,
2405- },
2406- {
2407- Name : "LOGICAL_BACKUP_S3_BUCKET_PREFIX" ,
2408- Value : c .OpConfig .LogicalBackup .LogicalBackupS3BucketPrefix ,
2409- },
2410- {
2411- Name : "LOGICAL_BACKUP_S3_BUCKET_SCOPE_SUFFIX" ,
2412- Value : getBucketScopeSuffix (string (c .Postgresql .GetUID ())),
2413- },
2414- {
2415- Name : "LOGICAL_BACKUP_GOOGLE_APPLICATION_CREDENTIALS" ,
2416- Value : c .OpConfig .LogicalBackup .LogicalBackupGoogleApplicationCredentials ,
2417- },
2418- {
2419- Name : "LOGICAL_BACKUP_AZURE_STORAGE_ACCOUNT_NAME" ,
2420- Value : c .OpConfig .LogicalBackup .LogicalBackupAzureStorageAccountName ,
2421- },
2422- {
2423- Name : "LOGICAL_BACKUP_AZURE_STORAGE_CONTAINER" ,
2424- Value : c .OpConfig .LogicalBackup .LogicalBackupAzureStorageContainer ,
2425- },
2426- {
2427- Name : "LOGICAL_BACKUP_AZURE_STORAGE_ACCOUNT_KEY" ,
2428- Value : c .OpConfig .LogicalBackup .LogicalBackupAzureStorageAccountKey ,
2429- },
24302383 // Postgres env vars
24312384 {
24322385 Name : "PG_VERSION" ,
@@ -2459,19 +2412,83 @@ func (c *Cluster) generateLogicalBackupPodEnvVars() []v1.EnvVar {
24592412 },
24602413 },
24612414 },
2415+ // Bucket env vars
2416+ {
2417+ Name : "LOGICAL_BACKUP_PROVIDER" ,
2418+ Value : backupProvider ,
2419+ },
2420+ {
2421+ Name : "LOGICAL_BACKUP_S3_BUCKET" ,
2422+ Value : c .OpConfig .LogicalBackup .LogicalBackupS3Bucket ,
2423+ },
2424+ {
2425+ Name : "LOGICAL_BACKUP_S3_BUCKET_PREFIX" ,
2426+ Value : c .OpConfig .LogicalBackup .LogicalBackupS3BucketPrefix ,
2427+ },
2428+ {
2429+ Name : "LOGICAL_BACKUP_S3_BUCKET_SCOPE_SUFFIX" ,
2430+ Value : getBucketScopeSuffix (string (c .Postgresql .GetUID ())),
2431+ },
24622432 }
24632433
2464- if c .OpConfig .LogicalBackup .LogicalBackupS3AccessKeyID != "" {
2465- envVars = append (envVars , v1.EnvVar {Name : "AWS_ACCESS_KEY_ID" , Value : c .OpConfig .LogicalBackup .LogicalBackupS3AccessKeyID })
2466- }
2434+ switch backupProvider {
2435+ case "s3" :
2436+ envVars = appendEnvVars (envVars , []v1.EnvVar {
2437+ {
2438+ Name : "LOGICAL_BACKUP_S3_REGION" ,
2439+ Value : c .OpConfig .LogicalBackup .LogicalBackupS3Region ,
2440+ },
2441+ {
2442+ Name : "LOGICAL_BACKUP_S3_ENDPOINT" ,
2443+ Value : c .OpConfig .LogicalBackup .LogicalBackupS3Endpoint ,
2444+ },
2445+ {
2446+ Name : "LOGICAL_BACKUP_S3_SSE" ,
2447+ Value : c .OpConfig .LogicalBackup .LogicalBackupS3SSE ,
2448+ },
2449+ {
2450+ Name : "LOGICAL_BACKUP_S3_RETENTION_TIME" ,
2451+ Value : c .getLogicalBackupRetentionTime (),
2452+ }}... )
2453+
2454+ if c .OpConfig .LogicalBackup .LogicalBackupS3AccessKeyID != "" {
2455+ envVars = append (envVars , v1.EnvVar {Name : "AWS_ACCESS_KEY_ID" , Value : c .OpConfig .LogicalBackup .LogicalBackupS3AccessKeyID })
2456+ }
24672457
2468- if c .OpConfig .LogicalBackup .LogicalBackupS3SecretAccessKey != "" {
2469- envVars = append (envVars , v1.EnvVar {Name : "AWS_SECRET_ACCESS_KEY" , Value : c .OpConfig .LogicalBackup .LogicalBackupS3SecretAccessKey })
2458+ if c .OpConfig .LogicalBackup .LogicalBackupS3SecretAccessKey != "" {
2459+ envVars = append (envVars , v1.EnvVar {Name : "AWS_SECRET_ACCESS_KEY" , Value : c .OpConfig .LogicalBackup .LogicalBackupS3SecretAccessKey })
2460+ }
2461+
2462+ case "gcs" :
2463+ envVars = append (envVars , v1.EnvVar {Name : "LOGICAL_BACKUP_GOOGLE_APPLICATION_CREDENTIALS" , Value : c .OpConfig .LogicalBackup .LogicalBackupGoogleApplicationCredentials })
2464+
2465+ case "az" :
2466+ envVars = appendEnvVars (envVars , []v1.EnvVar {
2467+ {
2468+ Name : "LOGICAL_BACKUP_AZURE_STORAGE_ACCOUNT_NAME" ,
2469+ Value : c .OpConfig .LogicalBackup .LogicalBackupAzureStorageAccountName ,
2470+ },
2471+ {
2472+ Name : "LOGICAL_BACKUP_AZURE_STORAGE_CONTAINER" ,
2473+ Value : c .OpConfig .LogicalBackup .LogicalBackupAzureStorageContainer ,
2474+ },
2475+ {
2476+ Name : "LOGICAL_BACKUP_AZURE_STORAGE_ACCOUNT_KEY" ,
2477+ Value : c .OpConfig .LogicalBackup .LogicalBackupAzureStorageAccountKey ,
2478+ }}... )
24702479 }
24712480
24722481 return envVars
24732482}
24742483
2484+ func (c * Cluster ) getLogicalBackupRetentionTime () (retentionTime string ) {
2485+ if c .Spec .LogicalBackupRetention != "" {
2486+ return c .Spec .LogicalBackupRetention
2487+ }
2488+
2489+ return c .OpConfig .LogicalBackup .LogicalBackupS3RetentionTime
2490+ }
2491+
24752492// getLogicalBackupJobName returns the name; the job itself may not exists
24762493func (c * Cluster ) getLogicalBackupJobName () (jobName string ) {
24772494 return trimCronjobName (fmt .Sprintf ("%s%s" , c .OpConfig .LogicalBackupJobPrefix , c .clusterName ().Name ))
0 commit comments