in pkg/cert/store.go [75:109]
func (s *secretCertStore) Update(cert, key []byte) (*tls.Certificate, error) {
var secret *v1.Secret
var err error
secret, err = s.clientset.CoreV1().Secrets(s.namespace).Get(
context.TODO(),
s.secretName,
metav1.GetOptions{},
)
if err != nil {
secret = &v1.Secret{}
secret.Name = s.secretName
secret.Namespace = s.namespace
secret.Data = map[string][]byte{
v1.TLSCertKey: cert,
v1.TLSPrivateKeyKey: key,
}
secret.Type = v1.SecretTypeTLS
_, err = s.clientset.CoreV1().Secrets(s.namespace).Create(context.TODO(), secret, metav1.CreateOptions{})
if err != nil {
klog.Errorf("Error creating secret: %v", err.Error())
return nil, err
}
return loadX509KeyPairData(cert, key)
}
secret.Data = map[string][]byte{
v1.TLSCertKey: cert,
v1.TLSPrivateKeyKey: key,
}
_, err = s.clientset.CoreV1().Secrets(s.namespace).Update(context.TODO(), secret, metav1.UpdateOptions{})
if err != nil {
klog.Errorf("Error updating secret: %v", err.Error())
return nil, err
}
return loadX509KeyPairData(cert, key)
}