Search code examples
kubernetesgoogle-cloud-platformkubernetes-helm

How to get which user has created a revision of a resource?


I can get all revisions of a resource my_resource

$ helm history my_resource

It gives me an output

REVISION    UPDATED                     STATUS      CHART               DESCRIPTION     
1           Thu Jun 2  11:25:22 2018    SUPERSEDED  my_resource-1.0.0   Install complete
2           Mon Jun 6  15:11:50 2018    SUPERSEDED  my_resource-1.0.1   Upgrade complete
3           Tue Jun 11 18:40:55 2018    SUPERSEDED  my_resource-1.0.2   Upgrade complete
4           Thu Oct 9  16:12:45 2018    DEPLOYED    my_resource-1.0.3   Upgrade complete

Is there any way to get a username/account which created a specific revision?


Solution

  • By default, helm tracks deployed releases using component Tiller that is installed in kube-system namespace. It has the following jobs: - Answer requests from Helm clients - Expand and render charts into a set of Kubernetes resources - Manage releases

    When we run helm list, Tiller shows us all of the releases. And we can use helm history to see all of the revisions for a given release. Tiller stores all of this information in Kubernetes ConfigMap objects. And those objects are located in the same namespace as Tiller.

    Release list:

    kubectl get configmap -n kube-system -l "OWNER=TILLER"
     NAME           DATA            AGE  
     elastic1.v1    1               57m
    
    
    kubectl get configmap -n kube-system -l "OWNER=TILLER" -o yaml   
    
      kind: ConfigMap   metadata:
         creationTimestamp: 2018-10-05T08:54:50Z
         labels:
           MODIFIED_AT: "1538731409"
           NAME: elastic1
           OWNER: TILLER
           STATUS: DEPLOYED
           VERSION: "1"
         name: elastic1.v1
         namespace: kube-system
         resourceVersion: "103223"
         selfLink: /api/v1/namespaces/kube-system/configmaps/elastic1.v1
         uid: 5170941d-c87c-11e8-aa86-42010a840002 kind: List metadata:   resourceVersion: ""   selfLink: ""
    

    Good article: click here

    Also, there is an open proposal on GitHub to add an additional label like release owner into helm ls command: github

    Hope it will help you in further investigations.