diff --git a/hack/examples/sync.sh b/hack/examples/sync.sh index 1fffc9ee8..4d11c0e70 100755 --- a/hack/examples/sync.sh +++ b/hack/examples/sync.sh @@ -11,17 +11,16 @@ readonly SCRIPT_DIR trap 'find "${SCRIPT_DIR}" -name kustomization.yaml -delete' EXIT +# For details why the exec command is structured like this , see +# https://www.shellcheck.net/wiki/SC2156. find "${SCRIPT_DIR}" -name kustomization.yaml.tmpl \ - -exec bash -ec 'mkdir -p $(dirname {}) && envsubst -no-unset <"{}" >"$(dirname {})/$(basename -s .tmpl {})"' \; + -exec sh -c 'k="${1}"; envsubst -no-unset -i "${k}" -o "${k%.tmpl}"' shell {} \; readonly EXAMPLE_CLUSTERCLASSES_DIR=charts/cluster-api-runtime-extensions-nutanix/defaultclusterclasses mkdir -p "${EXAMPLE_CLUSTERCLASSES_DIR}" readonly EXAMPLE_CLUSTERS_DIR=examples/capi-quick-start mkdir -p "${EXAMPLE_CLUSTERS_DIR}" -kustomize build ./hack/examples/overlays/clusterclasses/aws >"${EXAMPLE_CLUSTERCLASSES_DIR}/aws-cluster-class.yaml" -kustomize build ./hack/examples/overlays/clusterclasses/docker >"${EXAMPLE_CLUSTERCLASSES_DIR}/docker-cluster-class.yaml" - for provider in "aws" "docker"; do kustomize build --load-restrictor LoadRestrictionsNone \ ./hack/examples/overlays/clusterclasses/"${provider}" >"${EXAMPLE_CLUSTERCLASSES_DIR}"/"${provider}"-cluster-class.yaml