diff --git a/ctctl b/ctctl index 8af4324..efc0168 100755 --- a/ctctl +++ b/ctctl @@ -274,6 +274,10 @@ load_policies(){ kill -INT $$ fi for PFILE in $(ls ${DIR}/vault/policies/*.hcl 2>/dev/null); do + if [ "${DIR}" = "./output" -a -e "$(echo ${PFILE} | sed -E 's|^\./output/|./|')" ]; then + echo "Skiping ${FILE} as $(echo ${PFILE} | sed -E 's|^\./output/|./|') will take precedence" + continue + fi PNAME=$(basename ${PFILE} .hcl) echo "Loading vault policy ${PNA}" replace_conf_var ${PFILE} | vault policy write ${PNAME} - @@ -287,6 +291,10 @@ load_policies(){ CONSUL_CUR_POLICIES=$(consul acl policy list -format=json) for PFILE in $(ls ${DIR}/consul/policies/*.hcl 2>/dev/null); do PNAME=$(basename ${PFILE} .hcl) + if [ "${DIR}" = "./output" -a -e "$(echo ${PFILE} | sed -E 's|^\./output/|./|')" ]; then + echo "Skiping ${FILE} as $(echo ${PFILE} | sed -E 's|^\./output/|./|') will take precedence" + continue + fi # Consul do not use the same command to create a new policy and to update an existing one # so we need to detect if the policy already exists if [ "$(echo ${CONSUL_CUR_POLICIES} | jq -r '.[] | select(.Name=='\"${PNAME}\"') | .Name')" == "${PNAME}" ]; then @@ -305,6 +313,10 @@ load_policies(){ fi for PFILE in $(ls ${DIR}nomad/policies/*.hcl 2>/dev/null); do PNAME=$(basename ${PFILE} .hcl) + if [ "${DIR}" = "./output" -a -e "$(echo ${PFILE} | sed -E 's|^\./output/|./|')" ]; then + echo "Skiping ${FILE} as $(echo ${PFILE} | sed -E 's|^\./output/|./|') will take precedence" + continue + fi echo "Loading Nomad policy ${PNAME}" replace_conf_var ${PFILE} | nomad acl policy apply ${PNAME} - done @@ -324,6 +336,10 @@ load_consul_conf(){ # Note : service-defaults should be loaded before the others # but that should be the case for FILE in $(ls ${DIR}/consul/config/*.hcl 2>/dev/null); do + if [ "${DIR}" = "./output" -a -e "$(echo ${FILE} | sed -E 's|^\./output/|./|')" ]; then + echo "Skiping ${FILE} as $(echo ${FILE} | sed -E 's|^\./output/|./|') will take precedence" + continue + fi echo "Loading consul conf from ${FILE}" TEMP=$(mktemp) replace_conf_var ${FILE} > ${TEMP} @@ -336,6 +352,10 @@ load_consul_conf(){ for KIND in service-defaults service-intentions service-router service-resolver proxy-defaults; do if [ -d ${DIR}/consul/config/${KIND} ]; then for FILE in $(ls ${DIR}/consul/config/${KIND}/*.hcl 2>/dev/null); do + if [ "${DIR}" = "./output" -a -e "$(echo ${FILE} | sed -E 's|^\./output/|./|')" ]; then + echo "Skiping ${FILE} as $(echo ${FILE} | sed -E 's|^\./output/|./|') will take precedence" + continue + fi echo "Loading consul conf from ${FILE}" TEMP=$(mktemp) replace_conf_var ${FILE} > ${TEMP}