@@ -2360,6 +2360,8 @@ func (c *Cluster) generateLogicalBackupJob() (*batchv1.CronJob, error) {
2360
2360
2361
2361
func (c * Cluster ) generateLogicalBackupPodEnvVars () []v1.EnvVar {
2362
2362
2363
+ backupProvider := c .OpConfig .LogicalBackup .LogicalBackupProvider
2364
+
2363
2365
envVars := []v1.EnvVar {
2364
2366
{
2365
2367
Name : "SCOPE" ,
@@ -2378,55 +2380,6 @@ func (c *Cluster) generateLogicalBackupPodEnvVars() []v1.EnvVar {
2378
2380
},
2379
2381
},
2380
2382
},
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
- },
2430
2383
// Postgres env vars
2431
2384
{
2432
2385
Name : "PG_VERSION" ,
@@ -2459,19 +2412,83 @@ func (c *Cluster) generateLogicalBackupPodEnvVars() []v1.EnvVar {
2459
2412
},
2460
2413
},
2461
2414
},
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
+ },
2462
2432
}
2463
2433
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
+ }
2467
2457
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
+ }}... )
2470
2479
}
2471
2480
2472
2481
return envVars
2473
2482
}
2474
2483
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
+
2475
2492
// getLogicalBackupJobName returns the name; the job itself may not exists
2476
2493
func (c * Cluster ) getLogicalBackupJobName () (jobName string ) {
2477
2494
return trimCronjobName (fmt .Sprintf ("%s%s" , c .OpConfig .LogicalBackupJobPrefix , c .clusterName ().Name ))
0 commit comments