in controllers/stage/chain/configure_secret_manager.go [108:141]
func (h ConfigureSecretManager) configureOwn(ctx context.Context, stage *cdPipeApi.Stage) error {
logger := ctrl.LoggerFrom(ctx)
logger.Info("Configuring own secrets management")
recred := &corev1.Secret{}
if err := h.internalClient.Get(ctx, client.ObjectKey{
Namespace: stage.Namespace,
Name: externalSecretName,
}, recred); err != nil {
return fmt.Errorf("failed to get %s secret: %w", externalSecretName, err)
}
externalRecred := &corev1.Secret{
ObjectMeta: metaV1.ObjectMeta{
Name: externalSecretName,
Namespace: stage.Spec.Namespace,
},
Type: recred.Type,
Data: recred.Data,
}
if err := h.multiClusterClient.Create(ctx, externalRecred); err != nil {
if !k8sErrors.IsAlreadyExists(err) {
return fmt.Errorf("failed to create %s secret: %w", externalSecretName, err)
}
logger.Info(fmt.Sprintf("Secret %s already exists", externalSecretName))
}
logger.Info("Own secrets management has been configured successfully")
return nil
}