in argocd-clusterprofile-syncer/cmd/main.go [140:164]
func (r *ClusterProfileReconciler) createOrUpdateClusterSecret(ctx context.Context, cp *clusterinventoryv1alpha1.ClusterProfile) error {
logger := log.FromContext(ctx)
serverURL, ok := cp.Annotations[gkeEndpointAnnotation]
if !ok {
return fmt.Errorf("cluster endpoint annotation %q not found", gkeEndpointAnnotation)
}
secretName := fmt.Sprintf("%s.%s", cp.Namespace, cp.Name)
secret := &corev1.Secret{
ObjectMeta: metav1.ObjectMeta{
Name: secretName,
Namespace: argoCDNamespace,
},
}
logger.Info("Reconciling secret", "name", secretName)
if _, err := controllerutil.CreateOrUpdate(ctx, r.Client, secret, func() error {
return r.mutateSecret(secret, cp, serverURL, secretName)
}); err != nil {
return fmt.Errorf("failed to create/update secret: %w", err)
}
return nil
}