@@ -32,6 +32,8 @@ const (
3232 defaultCalcMemoryKB = int64 (16 * 1024 * 1024 ) // 16GB in KB — used when DBResources not specified
3333 defaultCalcCPU = int64 (4 ) // used when DBResources not specified
3434 defaultFailoverDelaySec = int32 (30 )
35+
36+ cnpgCAMountPath = "/etc/cnpg-ca"
3537)
3638
3739// ReconcileCNPGCluster reconciles the CNPG cluster
@@ -303,6 +305,15 @@ func (r *Reconciler) reconcileClusterSpec(dbSpec *nbv1.NooBaaDBSpec) error {
303305 Enabled : true ,
304306 }
305307
308+ if r .CNPGCluster .Spec .Certificates == nil {
309+ r .CNPGCluster .Spec .Certificates = & cnpgv1.CertificatesConfiguration {}
310+ }
311+ r .CNPGCluster .Spec .Certificates .ServerAltDNSNames = []string {
312+ r .ServiceDbPg .Name ,
313+ r .ServiceDbPg .Name + "." + r .Request .Namespace ,
314+ r .ServiceDbPg .Name + "." + r .Request .Namespace + ".svc" ,
315+ }
316+
306317 r .CNPGCluster .Spec .FailoverDelay = defaultFailoverDelaySec
307318
308319 r .setPostgresConfig ()
@@ -610,6 +621,17 @@ func (r *Reconciler) setPostgresConfig() {
610621 }
611622 r .cnpgLog ("PGTune config: memory=%dKB, cpu=%d, endpoints=%d" , totalMemoryKB , cpuNum , endpointMaxCount )
612623
624+ // propagate TLS security settings to the PostgreSQL server
625+ tlsSec := r .NooBaa .Spec .Security .APIServerSecurity
626+ if tlsSec != nil && ! util .IsTLSConfigDisabled () {
627+ if tlsSec .TLSMinVersion != nil {
628+ overrideParameters ["ssl_min_protocol_version" ] = string (* tlsSec .TLSMinVersion )
629+ }
630+ if len (tlsSec .TLSCiphers ) > 0 {
631+ overrideParameters ["ssl_ciphers" ] = util .MapCiphersToOpenSSL (tlsSec .TLSCiphers )
632+ }
633+ }
634+
613635 // apply any user-specified DBConf overrides on top of the calculated values
614636 if r .NooBaa .Spec .DBSpec .DBConf != nil {
615637 for k , v := range r .NooBaa .Spec .DBSpec .DBConf {
@@ -843,6 +865,10 @@ func (r *Reconciler) getClusterSecretName() string {
843865 return r .CNPGCluster .Name + "-app"
844866}
845867
868+ func (r * Reconciler ) getClusterCASecretName () string {
869+ return r .CNPGCluster .GetServerCASecretName ()
870+ }
871+
846872func (r * Reconciler ) cnpgLog (format string , args ... interface {}) {
847873 r .Logger .Infof ("cnpg:: " + format , args ... )
848874}
@@ -891,6 +917,7 @@ func (r *Reconciler) wasClusterSpecChanged(existingClusterSpec *cnpgv1.ClusterSp
891917 ! reflect .DeepEqual (existingClusterSpec .Monitoring , r .CNPGCluster .Spec .Monitoring ) ||
892918 ! reflect .DeepEqual (existingClusterSpec .PostgresConfiguration .Parameters , r .CNPGCluster .Spec .PostgresConfiguration .Parameters ) ||
893919 ! reflect .DeepEqual (existingClusterSpec .Backup , r .CNPGCluster .Spec .Backup ) ||
920+ ! reflect .DeepEqual (existingClusterSpec .Certificates , r .CNPGCluster .Spec .Certificates ) ||
894921 existingClusterSpec .PriorityClassName != r .CNPGCluster .Spec .PriorityClassName ||
895922 existingClusterSpec .FailoverDelay != r .CNPGCluster .Spec .FailoverDelay
896923}
0 commit comments