Step 7 · dev becomes a release
Helm does not take over objects that kubectl apply created:
$ helm upgrade --install dev chart -f values-dev.yaml --set image.tag=0fa0b979
Error: unable to continue with install: Service "db-dev" in namespace "000007test" exists and cannot be imported
into the current release: invalid ownership metadata; label validation error: missing key
"app.kubernetes.io/managed-by": must be set to "Helm"; …
The error names the first object it meets. Every object of dev that kubectl made has to go, the ConfigMap too if you made one by hand. Not the volume claim, not the Secret: the data is in the claim, and the new StatefulSet, same name, picks it up again.
$ kubectl delete deployment,service,ingress api-dev
$ kubectl delete statefulset,service db-dev
$ kubectl delete configmap api-dev
$ kubectl get pvc data-db-dev-0
NAME STATUS VOLUME CAPACITY ACCESS MODES STORAGECLASS AGE
data-db-dev-0 Bound pvc-2ba786ef-88a7-4310-8c7e-8915fcb390cf 1Gi RWO local-path 35m
Install, with the tag of an image that exists in your registry:
$ helm upgrade --install dev chart -f values-dev.yaml --set image.tag=0fa0b979 --wait --timeout 2m
Release "dev" does not exist. Installing it now.
NAME: dev
STATUS: deployed
REVISION: 1
$ helm list
NAME NAMESPACE REVISION UPDATED STATUS CHART
dev 000007test 1 2026-10-05 23:02:26 deployed boardgames-0.1.0
$ curl -s http://000007test-dev.k8s.digivader.com/health
{"status":"ok"}