X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/f34a8d68bdd096cf1b019a9806bd1e6eba028d77..1d068f13d0c9148dcee20c7802bf61956f8e3267:/tools/salt-install/provision.sh?ds=sidebyside diff --git a/tools/salt-install/provision.sh b/tools/salt-install/provision.sh index 5dd40dd76c..a93899a61a 100755 --- a/tools/salt-install/provision.sh +++ b/tools/salt-install/provision.sh @@ -173,9 +173,14 @@ apply_var_substitutions() { s#__INITIAL_USER_PASSWORD__#${INITIAL_USER_PASSWORD}#g; s#__INITIAL_USER__#${INITIAL_USER}#g; s#__LE_AWS_REGION__#${LE_AWS_REGION:-}#g; - s#__LE_AWS_SECRET_ACCESS_KEY__#${LE_AWS_SECRET_ACCESS_KEY}#g; - s#__LE_AWS_ACCESS_KEY_ID__#${LE_AWS_ACCESS_KEY_ID}#g; + s#__LE_AWS_SECRET_ACCESS_KEY__#${LE_AWS_SECRET_ACCESS_KEY:-}#g; + s#__LE_AWS_ACCESS_KEY_ID__#${LE_AWS_ACCESS_KEY_ID:-}#g; + s#__DATABASE_NAME__#${DATABASE_NAME}#g; + s#__DATABASE_USER__#${DATABASE_USER}#g; s#__DATABASE_PASSWORD__#${DATABASE_PASSWORD}#g; + s#__DATABASE_INT_IP__#${DATABASE_INT_IP:-}#g; + s#__DATABASE_EXTERNAL_SERVICE_HOST_OR_IP__#${DATABASE_EXTERNAL_SERVICE_HOST_OR_IP:-}#g; + s#__DATABASE_POSTGRESQL_VERSION__#${DATABASE_POSTGRESQL_VERSION}#g; s#__KEEPWEB_EXT_SSL_PORT__#${KEEPWEB_EXT_SSL_PORT}#g; s#__KEEP_EXT_SSL_PORT__#${KEEP_EXT_SSL_PORT}#g; s#__MANAGEMENT_TOKEN__#${MANAGEMENT_TOKEN}#g; @@ -196,7 +201,6 @@ apply_var_substitutions() { s#__SHELL_INT_IP__#${SHELL_INT_IP}#g; s#__WORKBENCH1_INT_IP__#${WORKBENCH1_INT_IP}#g; s#__WORKBENCH2_INT_IP__#${WORKBENCH2_INT_IP}#g; - s#__DATABASE_INT_IP__#${DATABASE_INT_IP}#g; s#__WORKBENCH_SECRET_KEY__#${WORKBENCH_SECRET_KEY}#g; s#__SSL_KEY_ENCRYPTED__#${SSL_KEY_ENCRYPTED}#g; s#__SSL_KEY_AWS_REGION__#${SSL_KEY_AWS_REGION:-}#g; @@ -211,6 +215,7 @@ apply_var_substitutions() { s#__DISABLED_CONTROLLER__#${DISABLED_CONTROLLER}#g; s#__BALANCER_NODENAME__#${ROLE2NODES['balancer']:-}#g; s#__PROMETHEUS_NODENAME__#${ROLE2NODES['monitoring']:-}#g; + s#__PROMETHEUS_DATA_RETENTION_TIME__#${PROMETHEUS_DATA_RETENTION_TIME:-15d}#g; s#__CONTROLLER_NODES__#${ROLE2NODES['controller']:-}#g; s#__NODELIST__#${NODELIST}#g; s#__DISPATCHER_INT_IP__#${DISPATCHER_INT_IP}#g; @@ -220,6 +225,8 @@ apply_var_substitutions() { s#__COMPUTE_SUBNET__#${COMPUTE_SUBNET:-}#g; s#__COMPUTE_AWS_REGION__#${COMPUTE_AWS_REGION:-}#g; s#__COMPUTE_USER__#${COMPUTE_USER:-}#g; + s#__KEEP_AWS_S3_BUCKET__#${KEEP_AWS_S3_BUCKET:-}#g; + s#__KEEP_AWS_IAM_ROLE__#${KEEP_AWS_IAM_ROLE:-}#g; s#__KEEP_AWS_REGION__#${KEEP_AWS_REGION:-}#g" \ "${SRCFILE}" > "${DSTFILE}" } @@ -449,7 +456,7 @@ echo "...arvados" test -d arvados || git clone --quiet https://git.arvados.org/arvados-formula.git ${F_DIR}/arvados # If we want to try a specific branch of the formula -if [ "x${BRANCH:-}" != "xmain" ]; then +if [[ ! -z "${BRANCH:-}" && "x${BRANCH}" != "xmain" ]]; then ( cd ${F_DIR}/arvados && git checkout --quiet -t origin/"${BRANCH}" -b "${BRANCH}" ) elif [ "x${ARVADOS_TAG:-}" != "x" ]; then ( cd ${F_DIR}/arvados && git checkout --quiet tags/"${ARVADOS_TAG}" -b "${ARVADOS_TAG}" ) @@ -669,7 +676,7 @@ if [ -z "${ROLES:-}" ]; then grep -q ${CERT_NAME} ${P_DIR}/extra_custom_certs.sls || echo " - ${CERT_NAME}" >> ${P_DIR}/extra_custom_certs.sls # As the pillar differs whether we use LE or custom certs, we need to do a final edition on them - sed -i "s/__CERT_REQUIRES__/file: extra_custom_certs_file_copy_arvados-${CERT_NAME}.pem/g; + sed -i "s/__CERT_REQUIRES__/file: extra_custom_certs_${CERT_NAME}_cert_file_copy/g; s#__CERT_PEM__#/etc/nginx/ssl/arvados-${CERT_NAME}.pem#g; s#__CERT_KEY__#/etc/nginx/ssl/arvados-${CERT_NAME}.key#g" \ ${P_DIR}/nginx_${c}_configuration.sls @@ -759,7 +766,7 @@ else elif [ "${SSL_MODE}" = "bring-your-own" ]; then grep -q "ssl_key_encrypted" ${PILLARS_TOP} || echo " - ssl_key_encrypted" >> ${PILLARS_TOP} for SVC in grafana prometheus; do - sed -i "s/__CERT_REQUIRES__/file: extra_custom_certs_file_copy_arvados-${SVC}.pem/g; + sed -i "s/__CERT_REQUIRES__/file: extra_custom_certs_${SVC}_cert_file_copy/g; s#__CERT_PEM__#/etc/nginx/ssl/arvados-${SVC}.pem#g; s#__CERT_KEY__#/etc/nginx/ssl/arvados-${SVC}.key#g" \ ${P_DIR}/nginx_${SVC}_configuration.sls @@ -797,7 +804,7 @@ else fi elif [ "${SSL_MODE}" = "bring-your-own" ]; then grep -q "ssl_key_encrypted" ${PILLARS_TOP} || echo " - ssl_key_encrypted" >> ${PILLARS_TOP} - sed -i "s/__CERT_REQUIRES__/file: extra_custom_certs_file_copy_arvados-${R}.pem/g; + sed -i "s/__CERT_REQUIRES__/file: extra_custom_certs_${R}_cert_file_copy/g; s#__CERT_PEM__#/etc/nginx/ssl/arvados-${R}.pem#g; s#__CERT_KEY__#/etc/nginx/ssl/arvados-${R}.key#g" \ ${P_DIR}/nginx_${R}_configuration.sls @@ -813,6 +820,7 @@ else echo " - nginx.passenger" >> ${STATES_TOP} fi echo " - extra.passenger_rvm" >> ${STATES_TOP} + grep -q "^ - postgres\\.client$" ${STATES_TOP} || echo " - postgres.client" >> ${STATES_TOP} ### If we don't install and run LE before arvados-api-server, it fails and breaks everything ### after it. So we add this here as we are, after all, sharing the host for api and controller @@ -852,7 +860,7 @@ else ${P_DIR}/nginx_${R}_configuration.sls else grep -q "ssl_key_encrypted" ${PILLARS_TOP} || echo " - ssl_key_encrypted" >> ${PILLARS_TOP} - sed -i "s/__CERT_REQUIRES__/file: extra_custom_certs_file_copy_arvados-${R}.pem/g; + sed -i "s/__CERT_REQUIRES__/file: extra_custom_certs_${R}_cert_file_copy/g; s#__CERT_PEM__#/etc/nginx/ssl/arvados-${R}.pem#g; s#__CERT_KEY__#/etc/nginx/ssl/arvados-${R}.key#g" \ ${P_DIR}/nginx_${R}_configuration.sls @@ -941,14 +949,14 @@ else # Special case for keepweb if [ ${R} = "keepweb" ]; then for kwsub in download collections; do - sed -i "s/__CERT_REQUIRES__/file: extra_custom_certs_file_copy_arvados-${kwsub}.pem/g; + sed -i "s/__CERT_REQUIRES__/file: extra_custom_certs_${kwsub}_cert_file_copy/g; s#__CERT_PEM__#/etc/nginx/ssl/arvados-${kwsub}.pem#g; s#__CERT_KEY__#/etc/nginx/ssl/arvados-${kwsub}.key#g" \ ${P_DIR}/nginx_${kwsub}_configuration.sls grep -q ${kwsub} ${P_DIR}/extra_custom_certs.sls || echo " - ${kwsub}" >> ${P_DIR}/extra_custom_certs.sls done else - sed -i "s/__CERT_REQUIRES__/file: extra_custom_certs_file_copy_arvados-${R}.pem/g; + sed -i "s/__CERT_REQUIRES__/file: extra_custom_certs_${R}_cert_file_copy/g; s#__CERT_PEM__#/etc/nginx/ssl/arvados-${R}.pem#g; s#__CERT_KEY__#/etc/nginx/ssl/arvados-${R}.key#g" \ ${P_DIR}/nginx_${R}_configuration.sls