Skip to content

fix: FindReferencingConfigMaps and FindReferencingSecrets to scan Cro…#6762

Open
Ram04102007 wants to merge 2 commits into
pipe-cd:masterfrom
Ram04102007:fix/referencing-configmaps-secrets-cronjob
Open

fix: FindReferencingConfigMaps and FindReferencingSecrets to scan Cro…#6762
Ram04102007 wants to merge 2 commits into
pipe-cd:masterfrom
Ram04102007:fix/referencing-configmaps-secrets-cronjob

Conversation

@Ram04102007
Copy link
Copy Markdown

What this PR does / why we need it

Fixes #6761

While looking at the code after #6528 was fixed, I noticed that
FindReferencingConfigMaps and FindReferencingSecrets have the same
gap — they don't handle CronJobs.

Both functions only walked spec.template.spec.* paths, which works for
Deployments, StatefulSets, and DaemonSets. CronJob wraps its pod template
under spec.jobTemplate.spec.template.spec.*, so all ConfigMap/Secret
references inside a CronJob were silently missed.

Added the missing nestedStringSlice probes for all jobTemplate paths
in both functions, across both kubernetes and kubernetes_multicluster
provider packages. 10 new test cases added, all passing.

Does this PR introduce a user-facing change?

Yes — PipeCD now correctly detects ConfigMap/Secret references in CronJobs,
enabling proper drift detection and re-deploy triggering for CronJob workloads.

…nJob jobTemplate

Signed-off-by: Sriram Thiruveedhula <sriram.thiruveedhula2007@gmail.com>
@Ram04102007 Ram04102007 force-pushed the fix/referencing-configmaps-secrets-cronjob branch from 52638b5 to 0d88c4a Compare May 11, 2026 21:38
@vedantlavale
Copy link
Copy Markdown

The PR also adds initContainers and jobTemplate paths to FindContainerImages (deployment.go lines ~32-49), but I don't see test cases covering those new probes. The PR description mentions "10 new test cases" but the diff shows only 8 (all for FindReferencingConfigMaps/Secrets). Should FindContainerImages tests be added to cover those paths?

@Ram04102007
Copy link
Copy Markdown
Author

Thanks for the review! You're right — I noticed the same thing.
The deployment.go diff has the FindContainerImages changes mixed in
from when I was looking at #6528, didn't mean to include those here.

I can either strip them out and keep this PR focused purely on
FindReferencingConfigMaps/Secrets, or keep them and just add the
missing FindContainerImages test cases to make it complete.

What works better for you?

@Ram04102007 Ram04102007 force-pushed the fix/referencing-configmaps-secrets-cronjob branch from 8c2c0a5 to d1674fd Compare May 18, 2026 08:11
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

FindReferencingConfigMaps and FindReferencingSecrets miss CronJob references

2 participants