@@ -33,28 +33,28 @@ func (c *Controller) importConfigurationFromCRD(fromCRD *acidv1.OperatorConfigur
33
33
result := & config.Config {}
34
34
35
35
// general config
36
- result .EnableCRDValidation = fromCRD .EnableCRDValidation
36
+ result .EnableCRDValidation = util . CoalesceBool ( fromCRD .EnableCRDValidation , util . True ())
37
37
result .EnableLazySpiloUpgrade = fromCRD .EnableLazySpiloUpgrade
38
38
result .EtcdHost = fromCRD .EtcdHost
39
39
result .KubernetesUseConfigMaps = fromCRD .KubernetesUseConfigMaps
40
- result .DockerImage = fromCRD .DockerImage
40
+ result .DockerImage = util . Coalesce ( fromCRD .DockerImage , "registry.opensource.zalan.do/acid/spilo-cdp-12:1.6-p115" )
41
41
result .Workers = fromCRD .Workers
42
42
result .MinInstances = fromCRD .MinInstances
43
43
result .MaxInstances = fromCRD .MaxInstances
44
44
result .ResyncPeriod = time .Duration (fromCRD .ResyncPeriod )
45
45
result .RepairPeriod = time .Duration (fromCRD .RepairPeriod )
46
46
result .SetMemoryRequestToLimit = fromCRD .SetMemoryRequestToLimit
47
- result .ShmVolume = fromCRD .ShmVolume
47
+ result .ShmVolume = util . CoalesceBool ( fromCRD .ShmVolume , util . True ())
48
48
result .SidecarImages = fromCRD .SidecarImages
49
49
result .SidecarContainers = fromCRD .SidecarContainers
50
50
51
51
// user config
52
- result .SuperUsername = fromCRD .PostgresUsersConfiguration .SuperUsername
53
- result .ReplicationUsername = fromCRD .PostgresUsersConfiguration .ReplicationUsername
52
+ result .SuperUsername = util . Coalesce ( fromCRD .PostgresUsersConfiguration .SuperUsername , "postgres" )
53
+ result .ReplicationUsername = util . Coalesce ( fromCRD .PostgresUsersConfiguration .ReplicationUsername , "standby" )
54
54
55
55
// kubernetes config
56
56
result .CustomPodAnnotations = fromCRD .Kubernetes .CustomPodAnnotations
57
- result .PodServiceAccountName = fromCRD .Kubernetes .PodServiceAccountName
57
+ result .PodServiceAccountName = util . Coalesce ( fromCRD .Kubernetes .PodServiceAccountName , "postgres-pod" )
58
58
result .PodServiceAccountDefinition = fromCRD .Kubernetes .PodServiceAccountDefinition
59
59
result .PodServiceAccountRoleBindingDefinition = fromCRD .Kubernetes .PodServiceAccountRoleBindingDefinition
60
60
result .PodEnvironmentConfigMap = fromCRD .Kubernetes .PodEnvironmentConfigMap
@@ -64,31 +64,31 @@ func (c *Controller) importConfigurationFromCRD(fromCRD *acidv1.OperatorConfigur
64
64
result .ClusterDomain = util .Coalesce (fromCRD .Kubernetes .ClusterDomain , "cluster.local" )
65
65
result .WatchedNamespace = fromCRD .Kubernetes .WatchedNamespace
66
66
result .PDBNameFormat = fromCRD .Kubernetes .PDBNameFormat
67
- result .EnablePodDisruptionBudget = fromCRD .Kubernetes .EnablePodDisruptionBudget
68
- result .EnableInitContainers = fromCRD .Kubernetes .EnableInitContainers
69
- result .EnableSidecars = fromCRD .Kubernetes .EnableSidecars
67
+ result .EnablePodDisruptionBudget = util . CoalesceBool ( fromCRD .Kubernetes .EnablePodDisruptionBudget , util . True ())
68
+ result .EnableInitContainers = util . CoalesceBool ( fromCRD .Kubernetes .EnableInitContainers , util . True ())
69
+ result .EnableSidecars = util . CoalesceBool ( fromCRD .Kubernetes .EnableSidecars , util . True ())
70
70
result .SecretNameTemplate = fromCRD .Kubernetes .SecretNameTemplate
71
71
result .OAuthTokenSecretName = fromCRD .Kubernetes .OAuthTokenSecretName
72
72
result .InfrastructureRolesSecretName = fromCRD .Kubernetes .InfrastructureRolesSecretName
73
- result .PodRoleLabel = fromCRD .Kubernetes .PodRoleLabel
73
+ result .PodRoleLabel = util . Coalesce ( fromCRD .Kubernetes .PodRoleLabel , "spilo-role" )
74
74
result .ClusterLabels = fromCRD .Kubernetes .ClusterLabels
75
75
result .InheritedLabels = fromCRD .Kubernetes .InheritedLabels
76
76
result .DownscalerAnnotations = fromCRD .Kubernetes .DownscalerAnnotations
77
- result .ClusterNameLabel = fromCRD .Kubernetes .ClusterNameLabel
77
+ result .ClusterNameLabel = util . Coalesce ( fromCRD .Kubernetes .ClusterNameLabel , "cluster-name" )
78
78
result .NodeReadinessLabel = fromCRD .Kubernetes .NodeReadinessLabel
79
79
result .PodPriorityClassName = fromCRD .Kubernetes .PodPriorityClassName
80
- result .PodManagementPolicy = fromCRD .Kubernetes .PodManagementPolicy
80
+ result .PodManagementPolicy = util . Coalesce ( fromCRD .Kubernetes .PodManagementPolicy , "ordered_ready" )
81
81
result .MasterPodMoveTimeout = time .Duration (fromCRD .Kubernetes .MasterPodMoveTimeout )
82
82
result .EnablePodAntiAffinity = fromCRD .Kubernetes .EnablePodAntiAffinity
83
- result .PodAntiAffinityTopologyKey = fromCRD .Kubernetes .PodAntiAffinityTopologyKey
83
+ result .PodAntiAffinityTopologyKey = util . Coalesce ( fromCRD .Kubernetes .PodAntiAffinityTopologyKey , "kubernetes.io/hostname" )
84
84
85
85
// Postgres Pod resources
86
- result .DefaultCPURequest = fromCRD .PostgresPodResources .DefaultCPURequest
87
- result .DefaultMemoryRequest = fromCRD .PostgresPodResources .DefaultMemoryRequest
88
- result .DefaultCPULimit = fromCRD .PostgresPodResources .DefaultCPULimit
89
- result .DefaultMemoryLimit = fromCRD .PostgresPodResources .DefaultMemoryLimit
90
- result .MinCPULimit = fromCRD .PostgresPodResources .MinCPULimit
91
- result .MinMemoryLimit = fromCRD .PostgresPodResources .MinMemoryLimit
86
+ result .DefaultCPURequest = util . Coalesce ( fromCRD .PostgresPodResources .DefaultCPURequest , "100m" )
87
+ result .DefaultMemoryRequest = util . Coalesce ( fromCRD .PostgresPodResources .DefaultMemoryRequest , "100Mi" )
88
+ result .DefaultCPULimit = util . Coalesce ( fromCRD .PostgresPodResources .DefaultCPULimit , "1" )
89
+ result .DefaultMemoryLimit = util . Coalesce ( fromCRD .PostgresPodResources .DefaultMemoryLimit , "500Mi" )
90
+ result .MinCPULimit = util . Coalesce ( fromCRD .PostgresPodResources .MinCPULimit , "250m" )
91
+ result .MinMemoryLimit = util . Coalesce ( fromCRD .PostgresPodResources .MinMemoryLimit , "250Mi" )
92
92
93
93
// timeout config
94
94
result .ResourceCheckInterval = time .Duration (fromCRD .Timeouts .ResourceCheckInterval )
@@ -115,8 +115,8 @@ func (c *Controller) importConfigurationFromCRD(fromCRD *acidv1.OperatorConfigur
115
115
result .AdditionalSecretMountPath = fromCRD .AWSGCP .AdditionalSecretMountPath
116
116
117
117
// logical backup config
118
- result .LogicalBackupSchedule = fromCRD .LogicalBackup .Schedule
119
- result .LogicalBackupDockerImage = fromCRD .LogicalBackup .DockerImage
118
+ result .LogicalBackupSchedule = util . Coalesce ( fromCRD .LogicalBackup .Schedule , "30 00 * * *" )
119
+ result .LogicalBackupDockerImage = util . Coalesce ( fromCRD .LogicalBackup .DockerImage , "registry.opensource.zalan.do/acid/logical-backup" )
120
120
result .LogicalBackupS3Bucket = fromCRD .LogicalBackup .S3Bucket
121
121
result .LogicalBackupS3Region = fromCRD .LogicalBackup .S3Region
122
122
result .LogicalBackupS3Endpoint = fromCRD .LogicalBackup .S3Endpoint
0 commit comments