in appconfigmgrv2/controllers/secrets.go [71:113]
func (r *AppEnvConfigTemplateV2Reconciler) reconcileSecret(
ctx context.Context,
s *corev1.Secret,
toSecret *corev1.Secret,
) error {
foundOriginal := &corev1.Secret{}
log.Info("Check", "resource", "secrets", "namespace", s.Namespace, "name", s.Name)
err := r.Get(ctx, types.NamespacedName{Name: s.Name, Namespace: s.Namespace}, foundOriginal)
if err != nil {
log.Error(err, "resource", "namespace", s.Namespace, "name", s.Name)
return err
}
found := &corev1.Secret{}
err = r.Get(ctx, types.NamespacedName{Name: toSecret.Name, Namespace: toSecret.Namespace}, found)
if err != nil && errors.IsNotFound(err) {
log.Info("Creating Copy", "resource", "secrets", "namespace", toSecret.Namespace, "name", toSecret.Name)
found = foundOriginal.DeepCopy()
found.Namespace = toSecret.Namespace
found.SetResourceVersion("")
err = r.Create(ctx, found)
return err
} else if err != nil {
return err
}
if !reflect.DeepEqual(foundOriginal, found) {
// ClusterIP is assigned after creation when it is not originally set
// so we will preserve the value.
found = foundOriginal.DeepCopy()
found.Namespace = s.Namespace
found.SetResourceVersion("")
log.Info("Updating", "resource", "services", "namespace", toSecret.Namespace, "name", toSecret.Name)
if err := r.Update(ctx, found); err != nil {
return err
}
}
return nil
}