Loading .gitlab-ci.yml +15 −10 Original line number Diff line number Diff line Loading @@ -23,12 +23,14 @@ variables: COMPOSE_FILE: docker-compose.${CI_PROJECT_NAME}.tmpl.yml:docker-compose.${CI_PROJECT_NAME}.dev.yml script: - > deploy.sh IMAGE_NAME=${IMAGE_NAME} IMAGE_TAG=${IMAGE_TAG} COMPOSE_FILE=${COMPOSE_FILE} POSTGRES_USER=${POSTGRES_USER} POSTGRES_PASSWORD=${POSTGRES_PASSWORD} INTERVAL=${INTERVAL} MAINTENANCE_INTERVAL_MINUTE="${MAINTENANCE_INTERVAL_MINUTE}" MAINTENANCE_INTERVAL_HOUR="${MAINTENANCE_INTERVAL_HOUR}" MAINTENANCE_INTERVAL_DAY_OF_MONTH="${MAINTENANCE_INTERVAL_DAY_OF_MONTH}" MAINTENANCE_INTERVAL_MONTH="${MAINTENANCE_INTERVAL_MONTH}" deploy.sh IMAGE_NAME=${IMAGE_NAME} IMAGE_TAG=${IMAGE_TAG} POSTGRES_USER=${POSTGRES_USER} POSTGRES_PASSWORD=${POSTGRES_PASSWORD} INTERVAL=${INTERVAL} MAINTENANCE_INTERVAL_MINUTE="${MAINTENANCE_INTERVAL_MINUTE}" MAINTENANCE_INTERVAL_HOUR="${MAINTENANCE_INTERVAL_HOUR}" MAINTENANCE_INTERVAL_DAY_OF_MONTH="${MAINTENANCE_INTERVAL_DAY_OF_MONTH}" MAINTENANCE_INTERVAL_MONTH="${MAINTENANCE_INTERVAL_MONTH}" MAINTENANCE_INTERVAL_DAY_OF_WEEK="${MAINTENANCE_INTERVAL_DAY_OF_WEEK}" RETENTION_TIME="${RETENTION_TIME}" POSTGRES_WORK_MEM=${POSTGRES_WORK_MEM} POSTGRES_WORK_MEM=${POSTGRES_WORK_MEM} EXPORTER_USER=${EXPORTER_USER} EXPORTER_PASS=${EXPORTER_PASS} environment: name: dev/${CI_PROJECT_NAME} Loading @@ -37,12 +39,15 @@ variables: COMPOSE_FILE: docker-compose.${CI_PROJECT_NAME}.tmpl.yml:docker-compose.${CI_PROJECT_NAME}.prod.yml script: - > deploy.sh IMAGE_NAME=${IMAGE_NAME} IMAGE_TAG=${IMAGE_TAG} COMPOSE_FILE=${COMPOSE_FILE} POSTGRES_USER=${POSTGRES_USER} POSTGRES_PASSWORD=${POSTGRES_PASSWORD} INTERVAL=${INTERVAL} MAINTENANCE_INTERVAL_MINUTE="${MAINTENANCE_INTERVAL_MINUTE}" MAINTENANCE_INTERVAL_HOUR="${MAINTENANCE_INTERVAL_HOUR}" MAINTENANCE_INTERVAL_DAY_OF_MONTH="${MAINTENANCE_INTERVAL_DAY_OF_MONTH}" MAINTENANCE_INTERVAL_MONTH="${MAINTENANCE_INTERVAL_MONTH}" deploy.sh IMAGE_NAME=${IMAGE_NAME} IMAGE_TAG=${IMAGE_TAG} POSTGRES_USER=${POSTGRES_USER} POSTGRES_PASSWORD=${POSTGRES_PASSWORD} INTERVAL=${INTERVAL} MAINTENANCE_INTERVAL_MINUTE="${MAINTENANCE_INTERVAL_MINUTE}" MAINTENANCE_INTERVAL_HOUR="${MAINTENANCE_INTERVAL_HOUR}" MAINTENANCE_INTERVAL_DAY_OF_MONTH="${MAINTENANCE_INTERVAL_DAY_OF_MONTH}" MAINTENANCE_INTERVAL_MONTH="${MAINTENANCE_INTERVAL_MONTH}" MAINTENANCE_INTERVAL_DAY_OF_WEEK="${MAINTENANCE_INTERVAL_DAY_OF_WEEK}" RETENTION_TIME="${RETENTION_TIME}" POSTGRES_WORK_MEM=${POSTGRES_WORK_MEM} AWS_REGION=${AWS_REGION} POSTGRES_WORK_MEM=${POSTGRES_WORK_MEM} EXPORTER_USER=${EXPORTER_USER} EXPORTER_PASS=${EXPORTER_PASS} AWS_REGION=${AWS_REGION} environment: name: pro/${CI_PROJECT_NAME} Loading deploy/.env +2 −0 Original line number Diff line number Diff line Loading @@ -4,3 +4,5 @@ MAINTENANCE_INTERVAL=30 * * * * RETENTION_TIME=7 days POSTGRES_DB=ais POSTGRES_WORK_MEM=1GB EXPORTER_USER=exporter-user EXPORTER_PASS=exporter-pass deploy/docker-compose.postgresql.tmpl.yml +2 −0 Original line number Diff line number Diff line Loading @@ -16,6 +16,8 @@ services: - MAINTENANCE_INTERVAL_MONTH - MAINTENANCE_INTERVAL_DAY_OF_WEEK - RETENTION_TIME - EXPORTER_USER - EXPORTER_PASS networks: postgres-net: aliases: Loading rootfs/docker-entrypoint-initdb.d/vessel.sh +4 −1 Original line number Diff line number Diff line Loading @@ -15,6 +15,9 @@ maintenanceInterval="$MAINTENANCE_INTERVAL_MINUTE $MAINTENANCE_INTERVAL_HOUR $MA psql -v ON_ERROR_STOP=1 --username "$POSTGRES_USER" --dbname "$POSTGRES_DB" <<-EOSQL CREATE SCHEMA IF NOT EXISTS ais; CREATE USER "${EXPORTER_USER}" WITH PASSWORD '${EXPORTER_PASS}'; GRANT pg_monitor, pg_read_all_settings, pg_read_all_stats, pg_stat_scan_tables TO "${EXPORTER_USER}"; -- Install extensions CREATE EXTENSION IF NOT EXISTS "uuid-ossp"; CREATE EXTENSION IF NOT EXISTS pg_cron; Loading Loading
.gitlab-ci.yml +15 −10 Original line number Diff line number Diff line Loading @@ -23,12 +23,14 @@ variables: COMPOSE_FILE: docker-compose.${CI_PROJECT_NAME}.tmpl.yml:docker-compose.${CI_PROJECT_NAME}.dev.yml script: - > deploy.sh IMAGE_NAME=${IMAGE_NAME} IMAGE_TAG=${IMAGE_TAG} COMPOSE_FILE=${COMPOSE_FILE} POSTGRES_USER=${POSTGRES_USER} POSTGRES_PASSWORD=${POSTGRES_PASSWORD} INTERVAL=${INTERVAL} MAINTENANCE_INTERVAL_MINUTE="${MAINTENANCE_INTERVAL_MINUTE}" MAINTENANCE_INTERVAL_HOUR="${MAINTENANCE_INTERVAL_HOUR}" MAINTENANCE_INTERVAL_DAY_OF_MONTH="${MAINTENANCE_INTERVAL_DAY_OF_MONTH}" MAINTENANCE_INTERVAL_MONTH="${MAINTENANCE_INTERVAL_MONTH}" deploy.sh IMAGE_NAME=${IMAGE_NAME} IMAGE_TAG=${IMAGE_TAG} POSTGRES_USER=${POSTGRES_USER} POSTGRES_PASSWORD=${POSTGRES_PASSWORD} INTERVAL=${INTERVAL} MAINTENANCE_INTERVAL_MINUTE="${MAINTENANCE_INTERVAL_MINUTE}" MAINTENANCE_INTERVAL_HOUR="${MAINTENANCE_INTERVAL_HOUR}" MAINTENANCE_INTERVAL_DAY_OF_MONTH="${MAINTENANCE_INTERVAL_DAY_OF_MONTH}" MAINTENANCE_INTERVAL_MONTH="${MAINTENANCE_INTERVAL_MONTH}" MAINTENANCE_INTERVAL_DAY_OF_WEEK="${MAINTENANCE_INTERVAL_DAY_OF_WEEK}" RETENTION_TIME="${RETENTION_TIME}" POSTGRES_WORK_MEM=${POSTGRES_WORK_MEM} POSTGRES_WORK_MEM=${POSTGRES_WORK_MEM} EXPORTER_USER=${EXPORTER_USER} EXPORTER_PASS=${EXPORTER_PASS} environment: name: dev/${CI_PROJECT_NAME} Loading @@ -37,12 +39,15 @@ variables: COMPOSE_FILE: docker-compose.${CI_PROJECT_NAME}.tmpl.yml:docker-compose.${CI_PROJECT_NAME}.prod.yml script: - > deploy.sh IMAGE_NAME=${IMAGE_NAME} IMAGE_TAG=${IMAGE_TAG} COMPOSE_FILE=${COMPOSE_FILE} POSTGRES_USER=${POSTGRES_USER} POSTGRES_PASSWORD=${POSTGRES_PASSWORD} INTERVAL=${INTERVAL} MAINTENANCE_INTERVAL_MINUTE="${MAINTENANCE_INTERVAL_MINUTE}" MAINTENANCE_INTERVAL_HOUR="${MAINTENANCE_INTERVAL_HOUR}" MAINTENANCE_INTERVAL_DAY_OF_MONTH="${MAINTENANCE_INTERVAL_DAY_OF_MONTH}" MAINTENANCE_INTERVAL_MONTH="${MAINTENANCE_INTERVAL_MONTH}" deploy.sh IMAGE_NAME=${IMAGE_NAME} IMAGE_TAG=${IMAGE_TAG} POSTGRES_USER=${POSTGRES_USER} POSTGRES_PASSWORD=${POSTGRES_PASSWORD} INTERVAL=${INTERVAL} MAINTENANCE_INTERVAL_MINUTE="${MAINTENANCE_INTERVAL_MINUTE}" MAINTENANCE_INTERVAL_HOUR="${MAINTENANCE_INTERVAL_HOUR}" MAINTENANCE_INTERVAL_DAY_OF_MONTH="${MAINTENANCE_INTERVAL_DAY_OF_MONTH}" MAINTENANCE_INTERVAL_MONTH="${MAINTENANCE_INTERVAL_MONTH}" MAINTENANCE_INTERVAL_DAY_OF_WEEK="${MAINTENANCE_INTERVAL_DAY_OF_WEEK}" RETENTION_TIME="${RETENTION_TIME}" POSTGRES_WORK_MEM=${POSTGRES_WORK_MEM} AWS_REGION=${AWS_REGION} POSTGRES_WORK_MEM=${POSTGRES_WORK_MEM} EXPORTER_USER=${EXPORTER_USER} EXPORTER_PASS=${EXPORTER_PASS} AWS_REGION=${AWS_REGION} environment: name: pro/${CI_PROJECT_NAME} Loading
deploy/.env +2 −0 Original line number Diff line number Diff line Loading @@ -4,3 +4,5 @@ MAINTENANCE_INTERVAL=30 * * * * RETENTION_TIME=7 days POSTGRES_DB=ais POSTGRES_WORK_MEM=1GB EXPORTER_USER=exporter-user EXPORTER_PASS=exporter-pass
deploy/docker-compose.postgresql.tmpl.yml +2 −0 Original line number Diff line number Diff line Loading @@ -16,6 +16,8 @@ services: - MAINTENANCE_INTERVAL_MONTH - MAINTENANCE_INTERVAL_DAY_OF_WEEK - RETENTION_TIME - EXPORTER_USER - EXPORTER_PASS networks: postgres-net: aliases: Loading
rootfs/docker-entrypoint-initdb.d/vessel.sh +4 −1 Original line number Diff line number Diff line Loading @@ -15,6 +15,9 @@ maintenanceInterval="$MAINTENANCE_INTERVAL_MINUTE $MAINTENANCE_INTERVAL_HOUR $MA psql -v ON_ERROR_STOP=1 --username "$POSTGRES_USER" --dbname "$POSTGRES_DB" <<-EOSQL CREATE SCHEMA IF NOT EXISTS ais; CREATE USER "${EXPORTER_USER}" WITH PASSWORD '${EXPORTER_PASS}'; GRANT pg_monitor, pg_read_all_settings, pg_read_all_stats, pg_stat_scan_tables TO "${EXPORTER_USER}"; -- Install extensions CREATE EXTENSION IF NOT EXISTS "uuid-ossp"; CREATE EXTENSION IF NOT EXISTS pg_cron; Loading