#!/bin/bash # Met à jour la configuration de ${CONF} en fonction du modèle ${TMPL} # Viariables misent à jour : # - __DOMAIN__ # Il est possible de prendre en considération ou d'occulter des blocks. # Le début du block est repéré par une ligne contenant {{XXX # La fin du block est repéré par une ligne contenant }} # L'affiche est fonction de XXX # XXX = on => affichage systématique # XXX = off => masquage systématique # XXX = compose => affichage si la variable d'environnement proxy_compose à la valeur on KAZ_ROOT=$(cd "$(dirname $0)/.."; pwd) . "${KAZ_ROOT}/bin/.commonFunctions.sh" setKazVars . "${DOCKERS_ENV}" . "${KAZ_KEY_DIR}/SetAllPass.sh" usage () { echo $(basename "$0") " [-h] [-help] [-timestamp] template dst" echo " -h" echo " -help Display this help." echo " -timestamp produce timestamp comment." } TIMESTAMP="" case "$1" in '-h' | '-help' ) usage shift exit;; '-time' | '-timestamp' ) TIMESTAMP=YES shift;; esac # no more export in .env PROXY_VARS=$(set | grep "proxy_.*=") for var in ${PROXY_VARS} do export ${var} done ( # $1 = template # $2 = target if [ "${TIMESTAMP}" == "YES" ]; then echo "# Generated by $(pwd)$(basename $0)" echo "# à partir du modèle $1" echo "#" $(date "+%x %X") echo fi sed \ -e "/^[ \t]*$/d"\ -e "/^[ ]*#.*$/d"\ -e "s|__CACHET_HOST__|${cachetHost}|g"\ -e "s|__CALC_HOST__|${calcHost}|g"\ -e "s|__CLOUD_HOST__|${cloudHost}|g"\ -e "s|__DATE_HOST__|${dateHost}|g"\ -e "s|__DOKUWIKI_HOST__|${dokuwikiHost}|g"\ -e "s|__DOMAIN__|${domain}|g"\ -e "s|__FILE_HOST__|${fileHost}|g"\ -e "s|__PAHEKO_API_PASSWORD__|${paheko_API_PASSWORD}|g"\ -e "s|__PAHEKO_API_USER__|${paheko_API_USER}|g"\ -e "s|__PAHEKO_HOST__|${pahekoHost}|g"\ -e "s|__GIT_HOST__|${gitHost}|g"\ -e "s|__GRAV_HOST__|${gravHost}|g"\ -e "s|__HTTP_PROTO__|${httpProto}|g"\ -e "s|__LDAP_HOST__|${ldapHost}|g"\ -e "s|__LDAPUI_HOST__|${ldapUIHost}|g"\ -e "s|__MATTER_HOST__|${matterHost}|g"\ -e "s|__OFFICE_HOST__|${officeHost}|g"\ -e "s|__PAD_HOST__|${padHost}|g"\ -e "s|__QUOTAS_HOST__|${quotasHost}|g"\ -e "s|__SMTP_HOST__|${smtpHost}|g"\ -e "s|__SYMPADB__|${sympaDBName}|g"\ -e "s|__SYMPA_HOST__|${sympaHost}|g"\ -e "s|__SYMPA_MYSQL_DATABASE__|${sympa_MYSQL_DATABASE}|g"\ -e "s|__SYMPA_MYSQL_PASSWORD__|${sympa_MYSQL_PASSWORD}|g"\ -e "s|__SYMPA_MYSQL_USER__|${sympa_MYSQL_USER}|g"\ -e "s|__VIGILO_HOST__|${vigiloHost}|g"\ -e "s|__WEBMAIL_HOST__|${webmailHost}|g"\ -e "s|__CASTOPOD_HOST__|${castopodHost}|g"\ -e "s|__IMAPSYNC_HOST__|${imapsyncHost}|g"\ -e "s|__YAKFORMS_HOST__|${yakformsHost}|g"\ -e "s|__WORDPRESS_HOST__|${wordpressHost}|g"\ -e "s|__MOBILIZON_HOST__|${mobilizonHost}|g"\ -e "s|__API_HOST__|${apiHost}|g"\ -e "s|__VAULTWARDEN_HOST__|${vaultwardenHost}|g"\ -e "s|__DOMAIN_SYMPA__|${domain_sympa}|g"\ $1 | awk ' BEGIN {cp=1} /}}/ {cp=1 ; next}; /{{on/ {cp=1; next}; /{{off/ {cp=0; next}; match($0, /{{[a-zA-Z0-9_]+/) {cp=(ENVIRON["proxy_" substr($0,RSTART+2,RLENGTH)] == "on"); next}; {if (cp) print $0};' ) > $2