@@ -86,22 +86,29 @@ func reconcileStatefulSet(ctx context.Context, logger logr.Logger, ec *ecv1alpha
86
86
}
87
87
88
88
// Add or remove server and peer certificate
89
- if addMember {
90
- if replicas > 0 {
91
- if ec .Spec .TLS != nil {
92
- createServerPeerCertErr := createServerPeerCertificate (ec , replicas , ctx , c )
93
- if createServerPeerCertErr != nil {
94
- logger .Error (createServerPeerCertErr , "Error creating Server or Peer Certificate" )
89
+ if ec .Spec .TLS != nil {
90
+ if addMember {
91
+ if replicas > 0 {
92
+ createServerCertErr := createServerCertificate (ec , replicas , ctx , c )
93
+ if createServerCertErr != nil {
94
+ logger .Error (createServerCertErr , "Error creating Server or Peer Certificate" )
95
+
96
+ }
97
+ createPeerCertErr := createPeerCertificate (ec , replicas , ctx , c )
98
+ if createPeerCertErr != nil {
99
+ logger .Error (createPeerCertErr , "Error creating Server or Peer Certificate" )
100
+
95
101
}
96
- } else {
97
- // TODO: instead of logging error, set default autoConfig
98
- logger .Error (nil , fmt .Sprintf ("missing TLS config for %s" , ec .Name ))
99
102
}
100
- }
101
- } else {
102
- deleteServerPeerCertErr := deleteServerPeerCertificate (ec , replicas , ctx , c )
103
- if deleteServerPeerCertErr != nil {
104
- logger .Error (deleteServerPeerCertErr , "Error deleting Server or Peer Certificate" )
103
+ } else {
104
+ deleteServerCertErr := deleteServerCertificate (ec , replicas , ctx , c )
105
+ if deleteServerCertErr != nil {
106
+ logger .Error (deleteServerCertErr , "Error deleting Server or Peer Certificate" )
107
+ }
108
+ deletePeerCertErr := deletePeerCertificate (ec , replicas , ctx , c )
109
+ if deletePeerCertErr != nil {
110
+ logger .Error (deletePeerCertErr , "Error deleting Server or Peer Certificate" )
111
+ }
105
112
}
106
113
}
107
114
@@ -601,13 +608,8 @@ func createCertificate(ec *ecv1alpha1.EtcdCluster, ctx context.Context, c client
601
608
}
602
609
return nil
603
610
default :
604
- if ec .Spec .TLS .ProviderCfg .AutoCfg == nil {
605
- // TODO: instead of error, set default autoConfig which will be applied if Provider/ProviderConfig is not set
606
- return errors .New ("default autoCertificate config not defined" )
607
- }
608
- cmConfig := createAutoCertificateConfig (ec .Spec .TLS .ProviderCfg .AutoCfg )
609
- createCertErr := cert .EnsureCertificateSecret (ctx , certName , ec .Namespace , cmConfig )
610
- log .Printf ("Error creating certificate, maybe already present: %s" , createCertErr )
611
+ // TODO: Use AuthProvider, since both AutoCfg and CertManagerCfg is not present
612
+ log .Printf ("Error creating certificate, valid certificate provider not defined." )
611
613
return nil
612
614
}
613
615
} else {
@@ -640,27 +642,34 @@ func createClientCertificate(ec *ecv1alpha1.EtcdCluster, ctx context.Context, c
640
642
return createClientCertErr
641
643
}
642
644
643
- func createServerPeerCertificate (ec * ecv1alpha1.EtcdCluster , replicas int32 , ctx context.Context , c client.Client ) error {
645
+ func createServerCertificate (ec * ecv1alpha1.EtcdCluster , replicas int32 , ctx context.Context , c client.Client ) error {
644
646
serverCertName := fmt .Sprintf ("%s-%s-%s-tls" , ec .Name , string (replicas - 1 ), "server" )
645
- peerCertName := fmt .Sprintf ("%s-%s-%s-tls" , ec .Name , string (replicas - 1 ), "peer" )
646
647
createServerCertErr := createCertificate (ec , ctx , c , serverCertName )
647
648
if createServerCertErr != nil {
648
649
return createServerCertErr
649
650
}
651
+ return nil
652
+ }
653
+
654
+ func createPeerCertificate (ec * ecv1alpha1.EtcdCluster , replicas int32 , ctx context.Context , c client.Client ) error {
655
+ peerCertName := fmt .Sprintf ("%s-%s-%s-tls" , ec .Name , string (replicas - 1 ), "peer" )
650
656
createPeerCertErr := createCertificate (ec , ctx , c , peerCertName )
651
657
if createPeerCertErr != nil {
652
658
return createPeerCertErr
653
659
}
654
660
return nil
655
661
}
656
662
657
- func deleteServerPeerCertificate (ec * ecv1alpha1.EtcdCluster , replicas int32 , ctx context.Context , c client.Client ) error {
663
+ func deleteServerCertificate (ec * ecv1alpha1.EtcdCluster , replicas int32 , ctx context.Context , c client.Client ) error {
658
664
serverCertName := fmt .Sprintf ("%s-%s-%s-tls" , ec .Name , string (replicas ), "server" )
659
- peerCertName := fmt .Sprintf ("%s-%s-%s-tls" , ec .Name , string (replicas ), "peer" )
660
665
deleteServerCertErr := deleteCertificate (ec , ctx , c , serverCertName )
661
666
if deleteServerCertErr != nil {
662
667
return deleteServerCertErr
663
668
}
669
+ return nil
670
+ }
671
+ func deletePeerCertificate (ec * ecv1alpha1.EtcdCluster , replicas int32 , ctx context.Context , c client.Client ) error {
672
+ peerCertName := fmt .Sprintf ("%s-%s-%s-tls" , ec .Name , string (replicas ), "peer" )
664
673
deletePeerCertErr := deleteCertificate (ec , ctx , c , peerCertName )
665
674
if deletePeerCertErr != nil {
666
675
return deletePeerCertErr
0 commit comments