77 "strings"
88 "time"
99
10- "github.com/openshift/api/annotations"
1110 corev1 "k8s.io/api/core/v1"
1211 apierrors "k8s.io/apimachinery/pkg/api/errors"
1312 metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
@@ -58,11 +57,8 @@ type RotatedSelfSignedCertKeySecret struct {
5857 // certificate is used, early deletion will be catastrophic.
5958 Owner * metav1.OwnerReference
6059
61- // JiraComponent annotates tls artifacts so that owner could be easily found
62- JiraComponent string
63-
64- // Description is a human-readable one sentence description of certificate purpose
65- Description string
60+ // AdditionalAnnotations is a collection of annotations set for the secret
61+ AdditionalAnnotations AdditionalAnnotations
6662
6763 // CertCreator does the actual cert generation.
6864 CertCreator TargetCertCreator
@@ -104,8 +100,7 @@ func (c RotatedSelfSignedCertKeySecret) EnsureTargetCertKeyPair(ctx context.Cont
104100 targetCertKeyPairSecret = & corev1.Secret {ObjectMeta : NewTLSArtifactObjectMeta (
105101 c .Name ,
106102 c .Namespace ,
107- c .JiraComponent ,
108- c .Description ,
103+ c .AdditionalAnnotations ,
109104 )}
110105 }
111106 targetCertKeyPairSecret .Type = corev1 .SecretTypeTLS
@@ -114,9 +109,7 @@ func (c RotatedSelfSignedCertKeySecret) EnsureTargetCertKeyPair(ctx context.Cont
114109 if c .Owner != nil {
115110 needsMetadataUpdate = ensureOwnerReference (& targetCertKeyPairSecret .ObjectMeta , c .Owner )
116111 }
117- if len (c .JiraComponent ) > 0 || len (c .Description ) > 0 {
118- needsMetadataUpdate = EnsureTLSMetadataUpdate (& targetCertKeyPairSecret .ObjectMeta , c .JiraComponent , c .Description ) || needsMetadataUpdate
119- }
112+ needsMetadataUpdate = c .AdditionalAnnotations .EnsureTLSMetadataUpdate (& targetCertKeyPairSecret .ObjectMeta ) || needsMetadataUpdate
120113 if needsMetadataUpdate && len (targetCertKeyPairSecret .ResourceVersion ) > 0 {
121114 _ , _ , err := resourceapply .ApplySecret (ctx , c .Client , c .EventRecorder , targetCertKeyPairSecret )
122115 if err != nil {
@@ -126,7 +119,7 @@ func (c RotatedSelfSignedCertKeySecret) EnsureTargetCertKeyPair(ctx context.Cont
126119
127120 if reason := c .CertCreator .NeedNewTargetCertKeyPair (targetCertKeyPairSecret .Annotations , signingCertKeyPair , caBundleCerts , c .Refresh , c .RefreshOnlyWhenExpired ); len (reason ) > 0 {
128121 c .EventRecorder .Eventf ("TargetUpdateRequired" , "%q in %q requires a new target cert/key pair: %v" , c .Name , c .Namespace , reason )
129- if err := setTargetCertKeyPairSecret (targetCertKeyPairSecret , c .Validity , signingCertKeyPair , c .CertCreator , c .JiraComponent , c . Description ); err != nil {
122+ if err := setTargetCertKeyPairSecret (targetCertKeyPairSecret , c .Validity , signingCertKeyPair , c .CertCreator , c .AdditionalAnnotations ); err != nil {
130123 return nil , err
131124 }
132125
@@ -217,7 +210,7 @@ func needNewTargetCertKeyPairForTime(annotations map[string]string, signer *cryp
217210
218211// setTargetCertKeyPairSecret creates a new cert/key pair and sets them in the secret. Only one of client, serving, or signer rotation may be specified.
219212// TODO refactor with an interface for actually signing and move the one-of check higher in the stack.
220- func setTargetCertKeyPairSecret (targetCertKeyPairSecret * corev1.Secret , validity time.Duration , signer * crypto.CA , certCreator TargetCertCreator , jiraComponent , description string ) error {
213+ func setTargetCertKeyPairSecret (targetCertKeyPairSecret * corev1.Secret , validity time.Duration , signer * crypto.CA , certCreator TargetCertCreator , annotations AdditionalAnnotations ) error {
221214 if targetCertKeyPairSecret .Annotations == nil {
222215 targetCertKeyPairSecret .Annotations = map [string ]string {}
223216 }
@@ -244,12 +237,8 @@ func setTargetCertKeyPairSecret(targetCertKeyPairSecret *corev1.Secret, validity
244237 targetCertKeyPairSecret .Annotations [CertificateNotAfterAnnotation ] = certKeyPair .Certs [0 ].NotAfter .Format (time .RFC3339 )
245238 targetCertKeyPairSecret .Annotations [CertificateNotBeforeAnnotation ] = certKeyPair .Certs [0 ].NotBefore .Format (time .RFC3339 )
246239 targetCertKeyPairSecret .Annotations [CertificateIssuer ] = certKeyPair .Certs [0 ].Issuer .CommonName
247- if len (jiraComponent ) > 0 {
248- targetCertKeyPairSecret .Annotations [annotations .OpenShiftComponent ] = jiraComponent
249- }
250- if len (description ) > 0 {
251- targetCertKeyPairSecret .Annotations [annotations .OpenShiftDescription ] = description
252- }
240+
241+ _ = annotations .EnsureTLSMetadataUpdate (& targetCertKeyPairSecret .ObjectMeta )
253242 certCreator .SetAnnotations (certKeyPair , targetCertKeyPairSecret .Annotations )
254243
255244 return nil
0 commit comments