wave-k8s / wave

Kubernetes configuration tracking controller
Apache License 2.0
646 stars 82 forks source link

Children Tracking Issue: Required and Non-Required Keys are mixed up #170

Closed jabdoa2 closed 1 week ago

jabdoa2 commented 1 month ago

This bug has existed for a long time in wave. It does not currently expose any externally visible bugs.

Wave tracks its children (configmaps and secrets) in a map. Each child can either be required or not required. However, if you use multiple key references (i.e. in projections, env vars or others) this currently gets mixed up. As soon as one key is required the complete map is marked as required (in parseSecretKeyRef).

The incorrect behavior is even asserted in unit tests. We need to fix it to resolve #172.