nats-io / k8s

NATS on Kubernetes with Helm Charts
Apache License 2.0
444 stars 300 forks source link

[nats helm] add chart-specific value support for imagePullSecrets #879

Closed walsm232 closed 5 months ago

walsm232 commented 5 months ago

This commit takes care of allowing a user to explicitly set imagePullSecrets at the NATS (StatefulSet) and NATS Box (Deployment) level instead of needing to do it via a global value.

Supporting this like it is currently via only a global value could be problematic for a couple of reasons when this NATS chart is a dependency of another chart:

Overview of scenarios with this potential change:

caleblloyd commented 5 months ago

First off, thank you for contributing. I see your point, but we try to add as little additional schema as possible to this chart.

When a property only affects a single resource, we prefer to merge/patch it into place using the same schema as it's k8s resource. This should be achievable today using:

# merge a pull secret for nats pods, this will override the global setting
podTemplate:
  merge:
    spec:
      imagePullSecrets:
      - name: regcred

# merge a pull secret for natsBox pods, this will override the global setting
natsBox:
  podTemplate:
    merge:
      spec:
        imagePullSecrets:
        - name: regcred