Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Where does Helm store installation state?

When you run a helm install command, Helm outputs information like the revision of this installation.

Where does Helm store this information? (I assume it's in the cluster somewhere.)

like image 593
Nathan Long Avatar asked Feb 04 '26 20:02

Nathan Long


2 Answers

Depends on configuration

I found the answer in the docs.

Helm 3 changed the default release information storage to Secrets in the namespace of the release. https://helm.sh/docs/topics/advanced/#storage-backends

It goes on to say that you can configure it to instead store that state in a ConfigMap or in a PostgreSQL database.

So by default, kubectl get secret --namespace my-namespace will include an entry like

sh.helm.release.v1.st.v1   helm.sh/release.v1                    1      13m

And kubectl describe secret sh.helm.release.v1.st.v1 will output something like

Name:         sh.helm.release.v1.st.v1
Namespace:    my-namespace
Labels:       modifiedAt=1613580504
              name=st
              owner=helm
              status=deployed
              version=1
Annotations:  <none>

Type:  helm.sh/release.v1
like image 70
Nathan Long Avatar answered Feb 12 '26 19:02

Nathan Long


The storage is changed in Helm 3 as follows:

  • Releases are stored as Secrets by default (it could use PostgreSQL).
  • Storage is in the namespace of the release.
  • Naming is changed to sh.helm.release.v1.<release_name>.v<revision_version>.
  • The Secret type is set as helm.sh/release.v1.

List installed helm Charts:

      $ helm ls --all-namespaces
      NAME           NAMESPACE    REVISION    UPDATED   STATUS  CHART     APP VERSION
      chrt-foobar    default      2           2019-10-14 15:18:31.529138228 +0100 IST    deployed    chrt-foobar-0.1.0    1.16.0     
      chrt-test      test         1           2019-10-14 15:20:28.196338611 +0100 IST    deployed    chrt-test-0.1.0      1.16.0

List helm releases history

    $ kubectl get secret -l "owner=helm" --all-namespaces
    NAMESPACE   NAME                                TYPE                 DATA   AGE
    default     sh.helm.release.v1.chrt-foobar.v1   helm.sh/release.v1   1      3m2s
    default     sh.helm.release.v1.chrt-foobar.v2   helm.sh/release.v1   1      2m40s
    test        sh.helm.release.v1.chrt-test.v1     helm.sh/release.v1   1      43s
like image 22
Gautam Sharma Avatar answered Feb 12 '26 19:02

Gautam Sharma



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!