NetApp / trident

Storage orchestrator for containers
Apache License 2.0
759 stars 222 forks source link

Custom labels for trident-csi pods #719

Open lukasz-borek opened 2 years ago

lukasz-borek commented 2 years ago

Describe the solution you'd like Our log scraping based on custom labels. Is it possible to add custom labels to trident-csi-* pods? Both DaemonSet/trident-csi and ReplicaSet/trident-csi are created via trident-operator (if i'm reading the code correctly) and can't find smart way to do so.

scaleoutsean commented 2 years ago

You can edit them, you can patch them as they run, and you can use custom deployment to deploy them with desired labels.

lukasz-borek commented 2 years ago

I can add label to trident operator via helm chart, but don't know how to add label to trident-csi-* (created by operator?) without manual patch after pod is up (for example after new node added to cluster).

scaleoutsean commented 2 years ago

That's covered by " you can use custom deployment to deploy them with desired labels". https://docs.netapp.com/us-en/trident-2201/trident-get-started/kubernetes-customize-deploy-tridentctl.html

Personally I don't deploy with Helm, but you could edit Helm chart before you deploy.

CodeGlitcher commented 2 years ago

Would also like this option. We use labels for both log scraping and network policies. I dont think override the crd's or editing the helm template is a valid solution. Because this make updating the operator very hard. (Somehow you need to remember every setting you change)

Most other operators we use have a option for custom labels. Banzai vault has a dedicated label vaultLabel (That is applied to all objects)

Or rabbitmq operator has a override field:

  override:
    statefulSet:
      metadata:
        labels:
          app.kubernetes.io/component: broker
CodeGlitcher commented 2 years ago

We are planning to try to add custom label support to the helm chart. (We tried looking adding the custom label support to the deamonset and orchistrator but we could not really find how this should work in golang :( )