DopplerHQ / kubernetes-operator

Apache License 2.0
44 stars 18 forks source link

Can't create managed secret for a project's root config #59

Open jv4n5e opened 6 months ago

jv4n5e commented 6 months ago

Logs say: ERROR controllers.DopplerSecret Unable to update dopplersecret {"dopplersecret": "namespace/dopplersecret-root", "error": "Cannot change existing managed secret type from Opaque to . Delete the managed secret and re-apply the DopplerSecret."}

DopplerSecret manifest: apiVersion: secrets.doppler.com/v1alpha1 kind: DopplerSecret metadata: annotations: helm.sh/hook: pre-install,pre-upgrade helm.sh/resource-policy: keep meta.helm.sh/release-name: namespace labels: app.kubernetes.io/name: app name: dopplersecret-root namespace: namespace spec: config: root managedSecret: name: dopplersecrets-root namespace: namespace project: project tokenSecret: name: dopplertoken-root

Status of DopplerSecret object: status: conditions:

I am not sure why it states that the managed secret exists, as it is the DopplerSecret itself that is creating it and then complaining about an incorrect secret type (which is not being expanded correctly since it says 'from Opaque to .'). I tried recreating the DopplerSecret multiple times, but it did not help.

watsonian commented 6 months ago

@jv4n5e It sounds like you need to update your CRDs. Another user ran into this in #51. Essentially, what you need to do is this:

# Update doppler Helm repo
helm repo update

# Update the dopplersecrets CRD, which is not automatically upgraded by Helm
helm pull doppler/doppler-kubernetes-operator --untar
kubectl apply -f doppler-kubernetes-operator/crds/all.yaml

# Update the chart
helm upgrade <release_name> doppler/doppler-kubernetes-operator