# A ConfigMap applied by a Flux Kustomization holds a shell script using ${HOME}, and postBuild substitution blanks it out. What stops that?

Flux CD, Hard (Expert), Troubleshooting. https://k8wiz.com/uquiz/a-configmap-applied-by-a-flux-kustomization-holds-a-shell-script-using-home-and-postbuild-substitution-blanks-it-out-what-stops

- A. Wrapping the variable in single quotes, as '${HOME}', in the YAML
- B. Storing the script in a Secret instead of a ConfigMap
- C. Annotating it with kustomize.toolkit.fluxcd.io/substitute: disabled
- D. Writing the variable name in lower case so Flux skips it

**Answer:** Annotating it with kustomize.toolkit.fluxcd.io/substitute: disabled

**Explanation:** postBuild substitution replaces every ${var} in the built manifests, and an undefined variable without a default becomes an empty string. The substitute: disabled annotation skips the object. You can also write $HOME without braces, or $${HOME}, which comes out as ${HOME}.
