feat: add global.images registry, pullSecrets, and pullPolicy support to k8s-agents-operator #421
+32
−3
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Summary
Add support for cascading registry, pullSecrets, and pullPolicy from global settings to k8s-agents-operator.
Phase 1: Global.Images.Registry Support ✅
k8s-agents-operator.manager.imagein _helpers.tpl to check global.images.registry fallbackPhase 2: Global.Images.PullSecrets Support ✅
Phase 3: Global.Images.PullPolicy Support ✅ (NEW)
k8s-agents-operator.manager.imagePullPolicyin _helpers.tplConfiguration Hierarchy
For Image Registry:
global.images.registry(if set AND repository matches default)For ImagePullSecrets:
global.images.pullSecrets(highest priority)controllerManager.manager.image.pullSecretsBoth sources are concatenated to support flexible secret management.
For ImagePullPolicy:
global.images.pullPolicy(highest priority)controllerManager.manager.image.pullPolicyIfNotPresentImplementation Details
newrelic/k8s-agents-operator)Backward Compatibility
✅ Fully backward compatible:
controllerManager.manager.image.repositoryis explicitly set, it takes precedenceglobal.images.registrynow work correctlyTest Plan
Phase 1 (Registry):
my.private.registry.com/newrelic/k8s-agents-operator:0.32.2newrelic/k8s-agents-operator:0.32.2Phase 2 (PullSecrets):
Phase 3 (PullPolicy):
Impact
Once merged, users can now configure k8s-agents-operator with global image settings:
```yaml
global:
images:
registry: "my.private.registry.com"
pullSecrets:
- name: my-registry-credentials
pullPolicy: Always
```
This is part of a broader effort to ensure all New Relic Helm charts in the nri-bundle support consistent private registry configuration through
global.imagessettings.