diff --git a/config/manager/kustomization.yaml b/config/manager/kustomization.yaml index 5c5f0b8..ebc1f9c 100644 --- a/config/manager/kustomization.yaml +++ b/config/manager/kustomization.yaml @@ -1,2 +1,8 @@ resources: - manager.yaml +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization +images: +- name: controller + newName: devolutions/devolutions-kubernetes-operator + newTag: latest diff --git a/config/rbac/auth_proxy_service.yaml b/config/rbac/auth_proxy_service.yaml index bf0eac5..f33ff57 100644 --- a/config/rbac/auth_proxy_service.yaml +++ b/config/rbac/auth_proxy_service.yaml @@ -4,12 +4,12 @@ metadata: labels: control-plane: controller-manager app.kubernetes.io/name: service - app.kubernetes.io/instance: controller-manager-metrics-service + app.kubernetes.io/instance: ctrl-mgr-metrics-service app.kubernetes.io/component: kube-rbac-proxy app.kubernetes.io/created-by: devolutions-kubernetes-operator app.kubernetes.io/part-of: devolutions-kubernetes-operator app.kubernetes.io/managed-by: kustomize - name: controller-manager-metrics-service + name: ctrl-mgr-metrics-service namespace: system spec: ports: diff --git a/config/samples/dvls_v1alpha1_dvlssecret.yaml b/config/samples/dvls_v1alpha1_dvlssecret.yaml index 8d70b32..cde0560 100644 --- a/config/samples/dvls_v1alpha1_dvlssecret.yaml +++ b/config/samples/dvls_v1alpha1_dvlssecret.yaml @@ -11,5 +11,3 @@ metadata: spec: # TODO(user): Add fields here entryId: (entry id) - secretName: test-dvls-secret - namespace: default diff --git a/controllers/dvlssecret_controller.go b/controllers/dvlssecret_controller.go index 62a8c4d..a262d5f 100644 --- a/controllers/dvlssecret_controller.go +++ b/controllers/dvlssecret_controller.go @@ -99,9 +99,28 @@ func (r *DvlsSecretReconciler) Reconcile(ctx context.Context, req ctrl.Request) } } + entry, err := DvlsClient.GetEntry(dvlsSecret.Spec.EntryID) + if err != nil { + log.Error(err, "unable to fetch dvls entry", "entryId", dvlsSecret.Spec.EntryID) + meta.SetStatusCondition(&dvlsSecret.Status.Conditions, v1.Condition{Type: statusDegradedDvlsSecret, Status: v1.ConditionTrue, Reason: "Reconciling", Message: "Unable to fetch entry on DVLS instance"}) + if err := r.Status().Update(ctx, dvlsSecret); err != nil { + log.Error(err, "Failed to update DvlsSecret status") + } + return ctrl.Result{}, nil + } + + if entry.ConnectionType != dvls.ServerConnectionCredential || entry.ConnectionSubType != dvls.ServerConnectionSubTypeDefault { + log.Error(err, "entry type not supported, only username/password entries are supported", "entryId", dvlsSecret.Spec.EntryID, "entryType", entry.ConnectionType, "entrySubType", entry.ConnectionSubType) + meta.SetStatusCondition(&dvlsSecret.Status.Conditions, v1.Condition{Type: statusDegradedDvlsSecret, Status: v1.ConditionTrue, Reason: "Reconciling", Message: "Entry type not supported, only username/password entries are supported"}) + if err := r.Status().Update(ctx, dvlsSecret); err != nil { + log.Error(err, "Failed to update DvlsSecret status") + } + return ctrl.Result{}, nil + } + secret, err := DvlsClient.GetSecret(dvlsSecret.Spec.EntryID) if err != nil { - log.Error(err, "unable to fetch dvls secret", "entry-id", dvlsSecret.Spec.EntryID) + log.Error(err, "unable to fetch dvls secret", "entryId", dvlsSecret.Spec.EntryID) meta.SetStatusCondition(&dvlsSecret.Status.Conditions, v1.Condition{Type: statusDegradedDvlsSecret, Status: v1.ConditionTrue, Reason: "Reconciling", Message: "Unable to fetch secret on DVLS instance"}) if err := r.Status().Update(ctx, dvlsSecret); err != nil { log.Error(err, "Failed to update DvlsSecret status")