Set up an S3 bucket for the postgres daily logs
This commit is contained in:
		
							parent
							
								
									4a3ccad362
								
							
						
					
					
						commit
						c45219bafa
					
				| 
						 | 
					@ -360,10 +360,16 @@ func (c *Cluster) generatePodTemplate(
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
	if c.OpConfig.WALES3Bucket != "" {
 | 
						if c.OpConfig.WALES3Bucket != "" {
 | 
				
			||||||
		envVars = append(envVars, v1.EnvVar{Name: "WAL_S3_BUCKET", Value: c.OpConfig.WALES3Bucket})
 | 
							envVars = append(envVars, v1.EnvVar{Name: "WAL_S3_BUCKET", Value: c.OpConfig.WALES3Bucket})
 | 
				
			||||||
		envVars = append(envVars, v1.EnvVar{Name: "WAL_BUCKET_SCOPE_SUFFIX", Value: getWALBucketScopeSuffix(string(uid))})
 | 
							envVars = append(envVars, v1.EnvVar{Name: "WAL_BUCKET_SCOPE_SUFFIX", Value: getBucketScopeSuffix(string(uid))})
 | 
				
			||||||
		envVars = append(envVars, v1.EnvVar{Name: "WAL_BUCKET_SCOPE_PREFIX", Value: ""})
 | 
							envVars = append(envVars, v1.EnvVar{Name: "WAL_BUCKET_SCOPE_PREFIX", Value: ""})
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						if c.OpConfig.PgDailyLogS3Bucket != "" {
 | 
				
			||||||
 | 
							envVars = append(envVars, v1.EnvVar{Name: "PG_DAILY_LOG_S3_BUCKET", Value: c.OpConfig.PgDailyLogS3Bucket})
 | 
				
			||||||
 | 
							envVars = append(envVars, v1.EnvVar{Name: "PG_DAILY_LOG_BUCKET_SCOPE_SUFFIX", Value: getBucketScopeSuffix(string(uid))})
 | 
				
			||||||
 | 
							envVars = append(envVars, v1.EnvVar{Name: "PG_DAILY_LOG_BUCKET_SCOPE_PREFIX", Value: ""})
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	if c.patroniUsesKubernetes() {
 | 
						if c.patroniUsesKubernetes() {
 | 
				
			||||||
		envVars = append(envVars, v1.EnvVar{Name: "DCS_ENABLE_KUBERNETES_API", Value: "true"})
 | 
							envVars = append(envVars, v1.EnvVar{Name: "DCS_ENABLE_KUBERNETES_API", Value: "true"})
 | 
				
			||||||
	} else {
 | 
						} else {
 | 
				
			||||||
| 
						 | 
					@ -504,7 +510,7 @@ func (c *Cluster) generatePodTemplate(
 | 
				
			||||||
	return &template
 | 
						return &template
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
func getWALBucketScopeSuffix(uid string) string {
 | 
					func getBucketScopeSuffix(uid string) string {
 | 
				
			||||||
	if uid != "" {
 | 
						if uid != "" {
 | 
				
			||||||
		return fmt.Sprintf("/%s", uid)
 | 
							return fmt.Sprintf("/%s", uid)
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
| 
						 | 
					@ -819,7 +825,7 @@ func (c *Cluster) generateCloneEnvironment(description *spec.CloneDescription) [
 | 
				
			||||||
		result = append(result, v1.EnvVar{Name: "CLONE_METHOD", Value: "CLONE_WITH_WALE"})
 | 
							result = append(result, v1.EnvVar{Name: "CLONE_METHOD", Value: "CLONE_WITH_WALE"})
 | 
				
			||||||
		result = append(result, v1.EnvVar{Name: "CLONE_WAL_S3_BUCKET", Value: c.OpConfig.WALES3Bucket})
 | 
							result = append(result, v1.EnvVar{Name: "CLONE_WAL_S3_BUCKET", Value: c.OpConfig.WALES3Bucket})
 | 
				
			||||||
		result = append(result, v1.EnvVar{Name: "CLONE_TARGET_TIME", Value: description.EndTimestamp})
 | 
							result = append(result, v1.EnvVar{Name: "CLONE_TARGET_TIME", Value: description.EndTimestamp})
 | 
				
			||||||
		result = append(result, v1.EnvVar{Name: "CLONE_WAL_BUCKET_SCOPE_SUFFIX", Value: getWALBucketScopeSuffix(description.Uid)})
 | 
							result = append(result, v1.EnvVar{Name: "CLONE_WAL_BUCKET_SCOPE_SUFFIX", Value: getBucketScopeSuffix(description.Uid)})
 | 
				
			||||||
		result = append(result, v1.EnvVar{Name: "CLONE_WAL_BUCKET_SCOPE_PREFIX", Value: ""})
 | 
							result = append(result, v1.EnvVar{Name: "CLONE_WAL_BUCKET_SCOPE_PREFIX", Value: ""})
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -78,6 +78,7 @@ type Config struct {
 | 
				
			||||||
	DbHostedZone                string `name:"db_hosted_zone" default:"db.example.com"`
 | 
						DbHostedZone                string `name:"db_hosted_zone" default:"db.example.com"`
 | 
				
			||||||
	EtcdScope                   string `name:"etcd_scope" default:"service"`
 | 
						EtcdScope                   string `name:"etcd_scope" default:"service"`
 | 
				
			||||||
	WALES3Bucket                string `name:"wal_s3_bucket"`
 | 
						WALES3Bucket                string `name:"wal_s3_bucket"`
 | 
				
			||||||
 | 
						PgDailyLogS3Bucket          string `name:"pg_daily_log_s3_bucket"`
 | 
				
			||||||
	KubeIAMRole                 string `name:"kube_iam_role"`
 | 
						KubeIAMRole                 string `name:"kube_iam_role"`
 | 
				
			||||||
	DebugLogging                bool   `name:"debug_logging" default:"true"`
 | 
						DebugLogging                bool   `name:"debug_logging" default:"true"`
 | 
				
			||||||
	EnableDBAccess              bool   `name:"enable_database_access" default:"true"`
 | 
						EnableDBAccess              bool   `name:"enable_database_access" default:"true"`
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in New Issue