Loading .gitlab-ci.yml +57 −142 Original line number Diff line number Diff line include: - project: 'redmic-project/gitlab-ci-templates' ref: master file: '/packaging.yml' - project: 'redmic-project/gitlab-ci-templates' ref: master file: '/deployment.yml' - project: 'redmic-project/gitlab-ci-templates' ref: master file: '/maintenance.yml' stages: - package - test-package - deploy - maintenance services: - docker:dind variables: DOCKER_DRIVER: overlay2 POSTGRESQL_IMAGE_NAME: ${CI_REGISTRY_IMAGE} POSTGRESQL_IMAGE_TAG: ${CI_COMMIT_SHA} BACKUP_IMAGE_NAME: registry.gitlab.com/redmic-project/postgres/backup-db BACKUP_IMAGE_TAG: latest STACK: postgres docker-build-commit-non-master-branches: stage: package image: docker:stable only: - branches except: - master - schedules .deploy: script: - docker login -u gitlab-ci-token -p ${CI_JOB_TOKEN} ${CI_REGISTRY} - docker build -t ${CI_REGISTRY_IMAGE}:${CI_COMMIT_SHA} -t ${CI_REGISTRY_IMAGE}:${CI_COMMIT_REF_NAME}-latest . - docker push ${CI_REGISTRY_IMAGE} docker-build-commit-master-branch: stage: package image: docker:stable only: - master except: - schedules script: - docker login -u gitlab-ci-token -p ${CI_JOB_TOKEN} ${CI_REGISTRY} - docker build -t ${CI_REGISTRY_IMAGE}:${CI_COMMIT_SHA} -t ${CI_REGISTRY_IMAGE}:latest . - docker push ${CI_REGISTRY_IMAGE} docker-tag-already-built-image: stage: package image: docker:stable only: - tags except: - schedules script: - docker login -u gitlab-ci-token -p ${CI_JOB_TOKEN} ${CI_REGISTRY} - docker tag ${CI_REGISTRY_IMAGE}:${CI_COMMIT_SHA} ${CI_REGISTRY_IMAGE}:${CI_COMMIT_TAG} - docker push ${CI_REGISTRY_IMAGE} container-scanning: stage: test-package image: docker:stable allow_failure: true only: - branches except: - schedules script: - docker run -d --name db arminc/clair-db:latest - docker run -p 6060:6060 --link db:postgres -d --name clair arminc/clair-local-scan:v2.0.1 - apk add -U wget ca-certificates - docker login -u gitlab-ci-token -p ${CI_JOB_TOKEN} ${CI_REGISTRY} - docker pull ${CI_REGISTRY_IMAGE}:${CI_COMMIT_SHA} - wget https://github.com/arminc/clair-scanner/releases/download/v8/clair-scanner_linux_amd64 - mv clair-scanner_linux_amd64 clair-scanner - chmod +x clair-scanner - touch clair-whitelist.yml - create-nets.sh postgres-net - > ./clair-scanner -c http://docker:6060 --ip $(hostname -i) -r gl-sast-container-report.json -l clair.log -w clair-whitelist.yml ${CI_REGISTRY_IMAGE}:${CI_COMMIT_SHA} || true artifacts: paths: [gl-sast-container-report.json] deploy.sh IMAGE_NAME=${IMAGE_NAME} IMAGE_TAG=${IMAGE_TAG} POSTGRES_USER=${POSTGRES_USER} POSTGRES_PASSWORD=${POSTGRES_PASSWORD} AWS_REGION=${AWS_REGION} deploy-supporting-branch: stage: deploy image: ${DOCKER_DEPLOY_IMAGE_NAME}:${DOCKER_DEPLOY_IMAGE_TAG} .deploy-development: variables: SSH_REMOTE: ${DEV_SSH_REMOTE} SERVICES_TO_CHECK: postgres_${CI_PROJECT_NAME} IMAGE_NAME: ${POSTGRESQL_IMAGE_NAME} IMAGE_TAG: ${POSTGRESQL_IMAGE_TAG} COMPOSE_FILE: docker-compose.postgresql.tmpl.yml:docker-compose.postgresql.dev.yml script: - create-nets.sh postgres-net - > deploy.sh IMAGE_NAME=${IMAGE_NAME} IMAGE_TAG=${IMAGE_TAG} COMPOSE_FILE=${COMPOSE_FILE} POSTGRES_PASSWORD=${POSTGRES_PASSWORD} COMPOSE_FILE: docker-compose.${CI_PROJECT_NAME}.tmpl.yml:docker-compose.${CI_PROJECT_NAME}.dev.yml environment: name: dev/postgresql only: - branches except: - master - schedules when: manual name: dev/${CI_PROJECT_NAME} deploy-pro: stage: deploy image: ${DOCKER_DEPLOY_IMAGE_NAME}:${DOCKER_DEPLOY_IMAGE_TAG} .deploy-production: variables: SSH_REMOTE: ${PRO_SSH_REMOTE} SERVICES_TO_CHECK: postgres_${CI_PROJECT_NAME} IMAGE_NAME: ${POSTGRESQL_IMAGE_NAME} IMAGE_TAG: ${POSTGRESQL_IMAGE_TAG} COMPOSE_FILE: docker-compose.postgresql.tmpl.yml:docker-compose.postgresql.prod.yml script: - create-nets.sh postgres-net - > deploy.sh IMAGE_NAME=${IMAGE_NAME} IMAGE_TAG=${IMAGE_TAG} COMPOSE_FILE=${COMPOSE_FILE} AWS_REGION=${AWS_REGION} POSTGRES_PASSWORD=${POSTGRES_PASSWORD} COMPOSE_FILE: docker-compose.${CI_PROJECT_NAME}.tmpl.yml:docker-compose.${CI_PROJECT_NAME}.prod.yml environment: name: pro/postgresql only: - master except: - schedules when: manual name: pro/${CI_PROJECT_NAME} deploy-backup-supporting-branch: stage: deploy image: ${DOCKER_DEPLOY_IMAGE_NAME}:${DOCKER_DEPLOY_IMAGE_TAG} .deploy-backup: extends: .deploy variables: SSH_REMOTE: ${DEV_SSH_REMOTE} SERVICES_TO_CHECK: postgres_backup-db IMAGE_NAME: ${BACKUP_IMAGE_NAME} IMAGE_TAG: ${BACKUP_IMAGE_TAG} COMPOSE_FILE: docker-compose.backup-db.tmpl.yml:docker-compose.backup-db.dev.yml SERVICES_TO_CHECK: ${STACK}_backup-db IMAGE_NAME: ${POSTGRES_BACKUP_IMAGE_NAME} IMAGE_TAG: ${POSTGRES_BACKUP_IMAGE_TAG} script: - > deploy.sh IMAGE_NAME=${IMAGE_NAME} IMAGE_TAG=${IMAGE_TAG} COMPOSE_FILE=${COMPOSE_FILE} deploy.sh IMAGE_NAME=${IMAGE_NAME} IMAGE_TAG=${IMAGE_TAG} AWS_REGION=${AWS_REGION} POSTGRES_USER=${POSTGRES_USER} POSTGRES_PASSWORD=${POSTGRES_PASSWORD} POSTGRES_HOSTNAME=${POSTGRES_HOSTNAME} BUCKET_BACKUP_DB=${BUCKET_BACKUP_DB} AWS_ACCESS_KEY_ID=${AWS_ACCESS_KEY_ID} AWS_SECRET_ACCESS_KEY=${AWS_SECRET_ACCESS_KEY} PUSHGATEWAY_HOST=${PUSHGATEWAY_HOST} PUSHGATEWAY_JOB=${PUSHGATEWAY_JOB} .deploy-backup-development: extends: .deploy-backup variables: SSH_REMOTE: ${DEV_SSH_REMOTE} COMPOSE_FILE: docker-compose.backup-db.tmpl.yml:docker-compose.backup-db.dev.yml environment: name: dev/backup-db only: - branches except: - master - schedules when: manual deploy-backup-pro: stage: deploy image: ${DOCKER_DEPLOY_IMAGE_NAME}:${DOCKER_DEPLOY_IMAGE_TAG} .deploy-backup-production: extends: .deploy-backup variables: SSH_REMOTE: ${PRO_SSH_REMOTE} SERVICES_TO_CHECK: postgres_backup-db IMAGE_NAME: ${BACKUP_IMAGE_NAME} IMAGE_TAG: ${BACKUP_IMAGE_TAG} COMPOSE_FILE: docker-compose.backup-db.tmpl.yml:docker-compose.backup-db.prod.yml script: - > deploy.sh IMAGE_NAME=${IMAGE_NAME} IMAGE_TAG=${IMAGE_TAG} COMPOSE_FILE=${COMPOSE_FILE} AWS_REGION=${AWS_REGION} POSTGRES_USER=${POSTGRES_USER} POSTGRES_PASSWORD=${POSTGRES_PASSWORD} POSTGRES_HOSTNAME=${POSTGRES_HOSTNAME} BUCKET_BACKUP_DB=${BUCKET_BACKUP_DB} AWS_ACCESS_KEY_ID=${AWS_ACCESS_KEY_ID} AWS_SECRET_ACCESS_KEY=${AWS_SECRET_ACCESS_KEY} PUSHGATEWAY_HOST=${PUSHGATEWAY_HOST} PUSHGATEWAY_JOB=${PUSHGATEWAY_JOB} environment: name: pro/backup-db deploy-backup-support-branch-development: extends: .deploy-backup-development only: - branches except: - master - schedules deploy-backup-stable-branch-development: extends: .deploy-backup-development only: - master except: - schedules when: manual scheduled-backup-pro: stage: maintenance image: ${DOCKER_DEPLOY_IMAGE_NAME}:${DOCKER_DEPLOY_IMAGE_TAG} variables: SSH_REMOTE: ${PRO_SSH_REMOTE} SERVICE: postgres_backup-db script: - relaunch.sh deploy-backup-stable-branch-production: extends: .deploy-backup-production only: - master except: - schedules .scheduled-run: variables: SERVICE: ${STACK}_backup-db scheduled-run-development: script: ':' LICENSE 0 → 100644 +21 −0 Original line number Diff line number Diff line MIT License Copyright (c) 2019 REDMIC Project / Postgres Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. deploy/.env +5 −0 Original line number Diff line number Diff line POSTGRES_USER=postgres ROLE=master PGDATA=/var/lib/postgresql/data/db-files POSTGRES_INITDB_WALDIR=/postgresql/wal/wal-files DESIRED_WORKER_ID=a PORT=5432 POSTGRES_DATA_VOLUME_NAME=postgres-data-vol POSTGRES_WAL_VOLUME_NAME=postgres-wal-vol POSTGRES_NET_NAME=postgres-net deploy/docker-compose.backup-db.tmpl.yml +16 −15 Original line number Diff line number Diff line Loading @@ -4,34 +4,35 @@ services: backup-db: image: ${IMAGE_NAME}:${IMAGE_TAG:-latest} environment: - POSTGRES_USER - POSTGRES_PASSWORD - POSTGRES_HOSTNAME - BUCKET_BACKUP_DB - AWS_ACCESS_KEY_ID - AWS_SECRET_ACCESS_KEY - PUSHGATEWAY_HOST - PUSHGATEWAY_JOB POSTGRES_USER: POSTGRES_PASSWORD: POSTGRES_HOSTNAME: BUCKET_BACKUP_DB: AWS_ACCESS_KEY_ID: AWS_SECRET_ACCESS_KEY: PUSHGATEWAY_HOST: PUSHGATEWAY_JOB: networks: - postgres-net - metric-net postgres-net: metric-net: deploy: mode: replicated replicas: 1 restart_policy: condition: on-failure delay: 1m window: 3m delay: 30s window: 1m resources: limits: cpus: '0.5' memory: 512M memory: 256M reservations: memory: 410M cpus: '0.001' memory: 64M networks: postgres-net: name: ${POSTGRES_NET_NAME:-postgres-net} name: ${POSTGRES_NET_NAME} external: true metric-net: Loading deploy/docker-compose.postgresql.dev.yml +7 −6 Original line number Diff line number Diff line Loading @@ -3,20 +3,21 @@ version: '3.5' services: postgresql: ports: - target: 5432 published: 5432 - target: ${PORT} published: ${PORT} mode: host deploy: resources: limits: cpus: '1' memory: 1G memory: 512M reservations: memory: 820M cpus: '0.001' memory: 128M volumes: postgres-data-vol: name: ${POSTGRES_DATA_VOLUME_NAME:-postgres-data-vol} name: ${POSTGRES_DATA_VOLUME_NAME} postgres-wal-vol: name: ${POSTGRES_WAL_VOLUME_NAME:-postgres-wal-vol} name: ${POSTGRES_WAL_VOLUME_NAME} Loading
.gitlab-ci.yml +57 −142 Original line number Diff line number Diff line include: - project: 'redmic-project/gitlab-ci-templates' ref: master file: '/packaging.yml' - project: 'redmic-project/gitlab-ci-templates' ref: master file: '/deployment.yml' - project: 'redmic-project/gitlab-ci-templates' ref: master file: '/maintenance.yml' stages: - package - test-package - deploy - maintenance services: - docker:dind variables: DOCKER_DRIVER: overlay2 POSTGRESQL_IMAGE_NAME: ${CI_REGISTRY_IMAGE} POSTGRESQL_IMAGE_TAG: ${CI_COMMIT_SHA} BACKUP_IMAGE_NAME: registry.gitlab.com/redmic-project/postgres/backup-db BACKUP_IMAGE_TAG: latest STACK: postgres docker-build-commit-non-master-branches: stage: package image: docker:stable only: - branches except: - master - schedules .deploy: script: - docker login -u gitlab-ci-token -p ${CI_JOB_TOKEN} ${CI_REGISTRY} - docker build -t ${CI_REGISTRY_IMAGE}:${CI_COMMIT_SHA} -t ${CI_REGISTRY_IMAGE}:${CI_COMMIT_REF_NAME}-latest . - docker push ${CI_REGISTRY_IMAGE} docker-build-commit-master-branch: stage: package image: docker:stable only: - master except: - schedules script: - docker login -u gitlab-ci-token -p ${CI_JOB_TOKEN} ${CI_REGISTRY} - docker build -t ${CI_REGISTRY_IMAGE}:${CI_COMMIT_SHA} -t ${CI_REGISTRY_IMAGE}:latest . - docker push ${CI_REGISTRY_IMAGE} docker-tag-already-built-image: stage: package image: docker:stable only: - tags except: - schedules script: - docker login -u gitlab-ci-token -p ${CI_JOB_TOKEN} ${CI_REGISTRY} - docker tag ${CI_REGISTRY_IMAGE}:${CI_COMMIT_SHA} ${CI_REGISTRY_IMAGE}:${CI_COMMIT_TAG} - docker push ${CI_REGISTRY_IMAGE} container-scanning: stage: test-package image: docker:stable allow_failure: true only: - branches except: - schedules script: - docker run -d --name db arminc/clair-db:latest - docker run -p 6060:6060 --link db:postgres -d --name clair arminc/clair-local-scan:v2.0.1 - apk add -U wget ca-certificates - docker login -u gitlab-ci-token -p ${CI_JOB_TOKEN} ${CI_REGISTRY} - docker pull ${CI_REGISTRY_IMAGE}:${CI_COMMIT_SHA} - wget https://github.com/arminc/clair-scanner/releases/download/v8/clair-scanner_linux_amd64 - mv clair-scanner_linux_amd64 clair-scanner - chmod +x clair-scanner - touch clair-whitelist.yml - create-nets.sh postgres-net - > ./clair-scanner -c http://docker:6060 --ip $(hostname -i) -r gl-sast-container-report.json -l clair.log -w clair-whitelist.yml ${CI_REGISTRY_IMAGE}:${CI_COMMIT_SHA} || true artifacts: paths: [gl-sast-container-report.json] deploy.sh IMAGE_NAME=${IMAGE_NAME} IMAGE_TAG=${IMAGE_TAG} POSTGRES_USER=${POSTGRES_USER} POSTGRES_PASSWORD=${POSTGRES_PASSWORD} AWS_REGION=${AWS_REGION} deploy-supporting-branch: stage: deploy image: ${DOCKER_DEPLOY_IMAGE_NAME}:${DOCKER_DEPLOY_IMAGE_TAG} .deploy-development: variables: SSH_REMOTE: ${DEV_SSH_REMOTE} SERVICES_TO_CHECK: postgres_${CI_PROJECT_NAME} IMAGE_NAME: ${POSTGRESQL_IMAGE_NAME} IMAGE_TAG: ${POSTGRESQL_IMAGE_TAG} COMPOSE_FILE: docker-compose.postgresql.tmpl.yml:docker-compose.postgresql.dev.yml script: - create-nets.sh postgres-net - > deploy.sh IMAGE_NAME=${IMAGE_NAME} IMAGE_TAG=${IMAGE_TAG} COMPOSE_FILE=${COMPOSE_FILE} POSTGRES_PASSWORD=${POSTGRES_PASSWORD} COMPOSE_FILE: docker-compose.${CI_PROJECT_NAME}.tmpl.yml:docker-compose.${CI_PROJECT_NAME}.dev.yml environment: name: dev/postgresql only: - branches except: - master - schedules when: manual name: dev/${CI_PROJECT_NAME} deploy-pro: stage: deploy image: ${DOCKER_DEPLOY_IMAGE_NAME}:${DOCKER_DEPLOY_IMAGE_TAG} .deploy-production: variables: SSH_REMOTE: ${PRO_SSH_REMOTE} SERVICES_TO_CHECK: postgres_${CI_PROJECT_NAME} IMAGE_NAME: ${POSTGRESQL_IMAGE_NAME} IMAGE_TAG: ${POSTGRESQL_IMAGE_TAG} COMPOSE_FILE: docker-compose.postgresql.tmpl.yml:docker-compose.postgresql.prod.yml script: - create-nets.sh postgres-net - > deploy.sh IMAGE_NAME=${IMAGE_NAME} IMAGE_TAG=${IMAGE_TAG} COMPOSE_FILE=${COMPOSE_FILE} AWS_REGION=${AWS_REGION} POSTGRES_PASSWORD=${POSTGRES_PASSWORD} COMPOSE_FILE: docker-compose.${CI_PROJECT_NAME}.tmpl.yml:docker-compose.${CI_PROJECT_NAME}.prod.yml environment: name: pro/postgresql only: - master except: - schedules when: manual name: pro/${CI_PROJECT_NAME} deploy-backup-supporting-branch: stage: deploy image: ${DOCKER_DEPLOY_IMAGE_NAME}:${DOCKER_DEPLOY_IMAGE_TAG} .deploy-backup: extends: .deploy variables: SSH_REMOTE: ${DEV_SSH_REMOTE} SERVICES_TO_CHECK: postgres_backup-db IMAGE_NAME: ${BACKUP_IMAGE_NAME} IMAGE_TAG: ${BACKUP_IMAGE_TAG} COMPOSE_FILE: docker-compose.backup-db.tmpl.yml:docker-compose.backup-db.dev.yml SERVICES_TO_CHECK: ${STACK}_backup-db IMAGE_NAME: ${POSTGRES_BACKUP_IMAGE_NAME} IMAGE_TAG: ${POSTGRES_BACKUP_IMAGE_TAG} script: - > deploy.sh IMAGE_NAME=${IMAGE_NAME} IMAGE_TAG=${IMAGE_TAG} COMPOSE_FILE=${COMPOSE_FILE} deploy.sh IMAGE_NAME=${IMAGE_NAME} IMAGE_TAG=${IMAGE_TAG} AWS_REGION=${AWS_REGION} POSTGRES_USER=${POSTGRES_USER} POSTGRES_PASSWORD=${POSTGRES_PASSWORD} POSTGRES_HOSTNAME=${POSTGRES_HOSTNAME} BUCKET_BACKUP_DB=${BUCKET_BACKUP_DB} AWS_ACCESS_KEY_ID=${AWS_ACCESS_KEY_ID} AWS_SECRET_ACCESS_KEY=${AWS_SECRET_ACCESS_KEY} PUSHGATEWAY_HOST=${PUSHGATEWAY_HOST} PUSHGATEWAY_JOB=${PUSHGATEWAY_JOB} .deploy-backup-development: extends: .deploy-backup variables: SSH_REMOTE: ${DEV_SSH_REMOTE} COMPOSE_FILE: docker-compose.backup-db.tmpl.yml:docker-compose.backup-db.dev.yml environment: name: dev/backup-db only: - branches except: - master - schedules when: manual deploy-backup-pro: stage: deploy image: ${DOCKER_DEPLOY_IMAGE_NAME}:${DOCKER_DEPLOY_IMAGE_TAG} .deploy-backup-production: extends: .deploy-backup variables: SSH_REMOTE: ${PRO_SSH_REMOTE} SERVICES_TO_CHECK: postgres_backup-db IMAGE_NAME: ${BACKUP_IMAGE_NAME} IMAGE_TAG: ${BACKUP_IMAGE_TAG} COMPOSE_FILE: docker-compose.backup-db.tmpl.yml:docker-compose.backup-db.prod.yml script: - > deploy.sh IMAGE_NAME=${IMAGE_NAME} IMAGE_TAG=${IMAGE_TAG} COMPOSE_FILE=${COMPOSE_FILE} AWS_REGION=${AWS_REGION} POSTGRES_USER=${POSTGRES_USER} POSTGRES_PASSWORD=${POSTGRES_PASSWORD} POSTGRES_HOSTNAME=${POSTGRES_HOSTNAME} BUCKET_BACKUP_DB=${BUCKET_BACKUP_DB} AWS_ACCESS_KEY_ID=${AWS_ACCESS_KEY_ID} AWS_SECRET_ACCESS_KEY=${AWS_SECRET_ACCESS_KEY} PUSHGATEWAY_HOST=${PUSHGATEWAY_HOST} PUSHGATEWAY_JOB=${PUSHGATEWAY_JOB} environment: name: pro/backup-db deploy-backup-support-branch-development: extends: .deploy-backup-development only: - branches except: - master - schedules deploy-backup-stable-branch-development: extends: .deploy-backup-development only: - master except: - schedules when: manual scheduled-backup-pro: stage: maintenance image: ${DOCKER_DEPLOY_IMAGE_NAME}:${DOCKER_DEPLOY_IMAGE_TAG} variables: SSH_REMOTE: ${PRO_SSH_REMOTE} SERVICE: postgres_backup-db script: - relaunch.sh deploy-backup-stable-branch-production: extends: .deploy-backup-production only: - master except: - schedules .scheduled-run: variables: SERVICE: ${STACK}_backup-db scheduled-run-development: script: ':'
LICENSE 0 → 100644 +21 −0 Original line number Diff line number Diff line MIT License Copyright (c) 2019 REDMIC Project / Postgres Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
deploy/.env +5 −0 Original line number Diff line number Diff line POSTGRES_USER=postgres ROLE=master PGDATA=/var/lib/postgresql/data/db-files POSTGRES_INITDB_WALDIR=/postgresql/wal/wal-files DESIRED_WORKER_ID=a PORT=5432 POSTGRES_DATA_VOLUME_NAME=postgres-data-vol POSTGRES_WAL_VOLUME_NAME=postgres-wal-vol POSTGRES_NET_NAME=postgres-net
deploy/docker-compose.backup-db.tmpl.yml +16 −15 Original line number Diff line number Diff line Loading @@ -4,34 +4,35 @@ services: backup-db: image: ${IMAGE_NAME}:${IMAGE_TAG:-latest} environment: - POSTGRES_USER - POSTGRES_PASSWORD - POSTGRES_HOSTNAME - BUCKET_BACKUP_DB - AWS_ACCESS_KEY_ID - AWS_SECRET_ACCESS_KEY - PUSHGATEWAY_HOST - PUSHGATEWAY_JOB POSTGRES_USER: POSTGRES_PASSWORD: POSTGRES_HOSTNAME: BUCKET_BACKUP_DB: AWS_ACCESS_KEY_ID: AWS_SECRET_ACCESS_KEY: PUSHGATEWAY_HOST: PUSHGATEWAY_JOB: networks: - postgres-net - metric-net postgres-net: metric-net: deploy: mode: replicated replicas: 1 restart_policy: condition: on-failure delay: 1m window: 3m delay: 30s window: 1m resources: limits: cpus: '0.5' memory: 512M memory: 256M reservations: memory: 410M cpus: '0.001' memory: 64M networks: postgres-net: name: ${POSTGRES_NET_NAME:-postgres-net} name: ${POSTGRES_NET_NAME} external: true metric-net: Loading
deploy/docker-compose.postgresql.dev.yml +7 −6 Original line number Diff line number Diff line Loading @@ -3,20 +3,21 @@ version: '3.5' services: postgresql: ports: - target: 5432 published: 5432 - target: ${PORT} published: ${PORT} mode: host deploy: resources: limits: cpus: '1' memory: 1G memory: 512M reservations: memory: 820M cpus: '0.001' memory: 128M volumes: postgres-data-vol: name: ${POSTGRES_DATA_VOLUME_NAME:-postgres-data-vol} name: ${POSTGRES_DATA_VOLUME_NAME} postgres-wal-vol: name: ${POSTGRES_WAL_VOLUME_NAME:-postgres-wal-vol} name: ${POSTGRES_WAL_VOLUME_NAME}