FindReferencingConfigMaps and FindReferencingSecrets miss CronJob references

Aperta Adatta ai principianti
#6,761 1 commento 0 reazioni 0 assegnatari Vedi su GitHub

I maintainer di solito rispondono entro 2 giorni

@Ankitdotraider ci sta già lavorando.

Dal 15/7/2026.

  • #6762 di @Ram04102007 — chiusa senza merge
  • #7030 di @Ankitdotraider — chiusa senza merge

Valutazione

Difficoltà
2/5
Tempo stimato
1-2 giorni
Idoneità per principianti
68/100
Tipo di issue
Bug
Chiarezza
Specificata chiaramente
Stato di attività
Tranquilla
Stack tecnologico
go, kubernetes

Direzione di ricerca

Cerca FindReferencingConfigMaps e FindReferencingSecrets nei package provider kubernetes e kubernetes_multicluster, quindi confronta le probe nestedStringSlice esistenti per i template dei pod. Aggiungi probe corrispondenti per i path jobTemplate di CronJob elencati nell’issue e verifica che vengano trovati i riferimenti a ConfigMap e Secret provenienti da volumi, container e container init.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

What's the problem

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 look through spec.template.spec.*, which works
for Deployments, StatefulSets, and DaemonSets. But CronJobs put their
pod template under spec.jobTemplate.spec.template.spec.*, so any
ConfigMap or Secret referenced inside a CronJob is completely invisible
to these functions.

What breaks

If a CronJob mounts a ConfigMap as a volume or pulls credentials from a
Secret via env, PipeCD won't know about it. That means drift detection
won't catch config changes, and re-deploys won't be triggered when those
configs change.

Paths that are currently missed

FindReferencingConfigMaps:

  • spec.jobTemplate.spec.template.spec.volumes.configMap.name
  • spec.jobTemplate.spec.template.spec.containers.env.valueFrom.configMapKeyRef.name
  • spec.jobTemplate.spec.template.spec.containers.envFrom.configMapRef.name
  • spec.jobTemplate.spec.template.spec.initContainers.env.valueFrom.configMapKeyRef.name
  • spec.jobTemplate.spec.template.spec.initContainers.envFrom.configMapRef.name

FindReferencingSecrets:

  • spec.jobTemplate.spec.template.spec.volumes.secret.secretName
  • spec.jobTemplate.spec.template.spec.containers.env.valueFrom.secretKeyRef.name
  • spec.jobTemplate.spec.template.spec.containers.envFrom.secretRef.name
  • spec.jobTemplate.spec.template.spec.initContainers.env.valueFrom.secretKeyRef.name
  • spec.jobTemplate.spec.template.spec.initContainers.envFrom.secretRef.name

The fix is straightforward — add the missing nestedStringSlice probes
for the jobTemplate paths, same pattern already used for the existing paths.

Affects both kubernetes and kubernetes_multicluster provider packages.

Lingua principale
Go
Stelle
1.4k
Fork
391
Merge medio
4g 1h
PR unite (30g)
58

Preparare l'ambiente

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di pipe-cd/pipecd

Tutte le issue di pipe-cd/pipecd

Issue simili

Altre issue su Go

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.