Commit 0546907e authored by Pedro Eduardo Trujillo's avatar Pedro Eduardo Trujillo
Browse files

Actualiza configuración y simplifica el proyecto

Elimina servicio postgres-gwc, extraído a proyecto propio.

Agrega nuevas variables de configuración, para ampliar posibilidades.

Renombra red interna propia y agrega red externa para postgres-gwc.

Unifica definición de router traefik para ambos servicios, exponiendo a
ambos servicios bajo uno solo. Renombra routers.

Simplifica nombres de variable, omitiendo prefijos innecesarios.

Elimina recursos CI para despliegue y uso de servicio de backup.

Actualiza parámetros de volúmenes, con nuevas variables y ajustes de
conexión NFS para entorno dev.

Retoca valores por defecto de parámetros para retrasar reinicio y
actualización del servicio.

Añade fichero readme.
parent 27d32570
Loading
Loading
Loading
Loading
+1 −24
Original line number Diff line number Diff line
@@ -2,34 +2,11 @@ include:
  - project: 'redmic-project/gitlab-ci-templates'
    ref: master
    file: '/deployment-service/docker-deploy.yml'
  - project: 'redmic-project/gitlab-ci-templates'
    ref: master
    file: '/deployment-external-service/backup-files.yml'
  - project: 'redmic-project/gitlab-ci-templates'
    ref: master
    file: '/deployment-service/maintenance.yml'

stages:
  - deploy
  - deploy-external-service
  - maintenance

variables:
  PROJECT_PARENT_NAME: gis

.deploy:
  variables:
    STACK: ${PROJECT_PARENT_NAME}
    STACK: gis
    STATUS_CHECK_DELAY: 360

.deploy-external-service:
  variables:
    STACK: ${PROJECT_PARENT_NAME}
    DD_BACKUP_VOL_NAME: geoserver-data-vol
    DD_PATHS_TO_EXCLUDE: cluster monitoring logs/*.log temp tmp
    DD_PUSHGATEWAY_LABEL: files-backup-redmic-geoserver

.scheduled-run:
  variables:
    STACK: ${PROJECT_PARENT_NAME}
    SERVICE: ${PROJECT_PARENT_NAME}_backup-files

README.md

0 → 100644
+3 −0
Original line number Diff line number Diff line
# GeoServer

GeoServer is an open source server for sharing geospatial data
+26 −23
Original line number Diff line number Diff line
@@ -21,48 +21,51 @@ DISK_QUOTA_SIZE=5
GEOSERVER_LOG_LEVEL=PRODUCTION_LOGGING
DISABLE_CORS=false
GEOSERVER_XSTREAM_WHITELIST=org.geotools.jdbc.**
CHOWN_DATA_DIR=true

CLUSTERING=true
CLUSTER_DURABILITY=false
CLUSTER_CONNECTION_RETRY_COUNT=10
CLUSTER_CONNECTION_MAX_WAIT=500

POSTGRES_HOST=postgresql-gwc
POSTGRES_PORT=5432
POSTGRES_USER=geowebcache
POSTGRES_PASS=changeme
POSTGRES_DB=gwc

DEV_MASTER_INITIAL_MEMORY=1G
DEV_MASTER_MAXIMUM_MEMORY=1G
DEV_GEOSERVER_MASTER_RESOURCES_RESERVATIONS_MEMORY=1500M
DEV_GEOSERVER_MASTER_RESOURCES_LIMITS_MEMORY=2G
DEV_MASTER_RESOURCES_RESERVATIONS_MEMORY=1500M
DEV_MASTER_RESOURCES_LIMITS_MEMORY=2G
DEV_NODE_INITIAL_MEMORY=1G
DEV_NODE_MAXIMUM_MEMORY=1G
DEV_GEOSERVER_NODE_RESOURCES_RESERVATIONS_MEMORY=1500M
DEV_GEOSERVER_NODE_RESOURCES_LIMITS_MEMORY=2G
DEV_NODE_RESOURCES_RESERVATIONS_MEMORY=1500M
DEV_NODE_RESOURCES_LIMITS_MEMORY=2G

PRO_MASTER_INITIAL_MEMORY=1G
PRO_MASTER_MAXIMUM_MEMORY=1G
PRO_GEOSERVER_MASTER_RESOURCES_RESERVATIONS_MEMORY=1500M
PRO_GEOSERVER_MASTER_RESOURCES_LIMITS_MEMORY=2500M
PRO_MASTER_RESOURCES_RESERVATIONS_MEMORY=1500M
PRO_MASTER_RESOURCES_LIMITS_MEMORY=2500M
PRO_NODE_INITIAL_MEMORY=1500M
PRO_NODE_MAXIMUM_MEMORY=1500M
PRO_GEOSERVER_NODE_RESOURCES_RESERVATIONS_MEMORY=2G
PRO_GEOSERVER_NODE_RESOURCES_LIMITS_MEMORY=3G
PRO_NODE_RESOURCES_RESERVATIONS_MEMORY=2G
PRO_NODE_RESOURCES_LIMITS_MEMORY=3G

GEOSERVER_MASTER_RESOURCES_LIMITS_CPUS=1
GEOSERVER_MASTER_RESOURCES_RESERVATIONS_CPUS=0.1
GEOSERVER_NODE_RESOURCES_LIMITS_CPUS=1
GEOSERVER_NODE_RESOURCES_RESERVATIONS_CPUS=0.1
MASTER_RESOURCES_LIMITS_CPUS=1
MASTER_RESOURCES_RESERVATIONS_CPUS=0.1
NODE_RESOURCES_LIMITS_CPUS=1
NODE_RESOURCES_RESERVATIONS_CPUS=0.1

POSTGRES_GWC_WORK_MEM=16MB
POSTGRES_GWC_MAX_WAL_SIZE=256MB
POSTGRES_USER=geowebcache
POSTGRES_PASSWORD=changeme
POSTGRES_DB=gwc
PGDATA=/var/lib/postgresql/data
POSTGRES_INITDB_WALDIR=/var/lib/postgresql/wal

VOL_TYPE=nfs4
DEV_VOL_DRIVER=local
VOL_TYPE=nfs
VOL_ADDR=127.0.0.1
VOL_OPTS=rw,nolock,noatime,tcp,rsize=8192,wsize=8192,timeo=14
VOL_VERS=4.2
VOL_OPTS=nolock,noacl,noatime,nodiratime

PRO_VOL_DRIVER=cloudstor:aws

GEOSERVER_DATA_VOL_NAME=geoserver-data-vol
DATA_VOL_NAME=geoserver-data-vol
CACHE_VOL_NAME=geoserver-cache-vol
FONTS_VOL_NAME=geoserver-fonts-vol
FOOTPRINTS_VOL_NAME=geoserver-footprints-vol
+22 −38
Original line number Diff line number Diff line
@@ -6,11 +6,11 @@ services:
    deploy:
      resources:
        limits:
          cpus: '${GEOSERVER_MASTER_RESOURCES_LIMITS_CPUS}'
          memory: ${DEV_GEOSERVER_MASTER_RESOURCES_LIMITS_MEMORY}
          cpus: '${MASTER_RESOURCES_LIMITS_CPUS}'
          memory: ${DEV_MASTER_RESOURCES_LIMITS_MEMORY}
        reservations:
          cpus: '${GEOSERVER_MASTER_RESOURCES_RESERVATIONS_CPUS}'
          memory: ${DEV_GEOSERVER_MASTER_RESOURCES_RESERVATIONS_MEMORY}
          cpus: '${MASTER_RESOURCES_RESERVATIONS_CPUS}'
          memory: ${DEV_MASTER_RESOURCES_RESERVATIONS_MEMORY}

  geoserver-node:
    environment:
@@ -19,57 +19,41 @@ services:
    deploy:
      resources:
        limits:
          cpus: '${GEOSERVER_NODE_RESOURCES_LIMITS_CPUS}'
          memory: ${DEV_GEOSERVER_NODE_RESOURCES_LIMITS_MEMORY}
          cpus: '${NODE_RESOURCES_LIMITS_CPUS}'
          memory: ${DEV_NODE_RESOURCES_LIMITS_MEMORY}
        reservations:
          cpus: '${GEOSERVER_NODE_RESOURCES_RESERVATIONS_CPUS}'
          memory: ${DEV_GEOSERVER_NODE_RESOURCES_RESERVATIONS_MEMORY}
          cpus: '${NODE_RESOURCES_RESERVATIONS_CPUS}'
          memory: ${DEV_NODE_RESOURCES_RESERVATIONS_MEMORY}

volumes:
  geoserver-data-vol:
    name: ${GEOSERVER_DATA_VOL_NAME}
    driver: local
  data-vol:
    name: ${DATA_VOL_NAME}
    driver: ${DEV_VOL_DRIVER}
    driver_opts:
      type: ${VOL_TYPE}
      o: addr=${VOL_ADDR},${VOL_OPTS}
      device: ${GEOSERVER_DATA_VOL_DEVICE:-:/geoserver-data-vol/}
      o: addr=${VOL_ADDR},vers=${VOL_VERS},${VOL_OPTS}
      device: :${VOL_DEVICE_PREFIX}${DATA_VOL_DEVICE:-/geoserver-data-vol/}

  cache-vol:
    name: ${CACHE_VOL_NAME}
    driver: local
    driver: ${DEV_VOL_DRIVER}
    driver_opts:
      type: ${VOL_TYPE}
      o: addr=${VOL_ADDR},${VOL_OPTS}
      device: ${CACHE_VOL_DEVICE:-:/geoserver-cache-vol/}
      o: addr=${VOL_ADDR},vers=${VOL_VERS},${VOL_OPTS}
      device: :${VOL_DEVICE_PREFIX}${CACHE_VOL_DEVICE:-/geoserver-cache-vol/}

  fonts-vol:
    name: ${FONTS_VOL_NAME}
    driver: local
    driver: ${DEV_VOL_DRIVER}
    driver_opts:
      type: ${VOL_TYPE}
      o: addr=${VOL_ADDR},${VOL_OPTS}
      device: ${FONTS_VOL_DEVICE:-:/geoserver-fonts-vol/}
      o: addr=${VOL_ADDR},vers=${VOL_VERS},${VOL_OPTS}
      device: :${VOL_DEVICE_PREFIX}${FONTS_VOL_DEVICE:-/geoserver-fonts-vol/}

  footprints-vol:
    name: ${FOOTPRINTS_VOL_NAME}
    driver: local
    driver: ${DEV_VOL_DRIVER}
    driver_opts:
      type: ${VOL_TYPE}
      o: addr=${VOL_ADDR},${VOL_OPTS}
      device: ${FOOTPRINTS_VOL_DEVICE:-:/geoserver-footprints-vol/}

  postgres-data-vol:
    name: ${POSTGRES_DATA_VOL_NAME}
    driver: local
    driver_opts:
      type: ${VOL_TYPE}
      o: addr=${VOL_ADDR},${VOL_OPTS}
      device: ${POSTGRES_DATA_VOL_DEVICE:-:/postgres-gwc-data-vol/}

  wal-vol:
    name: ${WAL_VOL_NAME}
    driver: local
    driver_opts:
      type: ${VOL_TYPE}
      o: addr=${VOL_ADDR},${VOL_OPTS}
      device: ${WAL_VOL_DEVICE:-:/postgres-gwc-wal-vol/}
      o: addr=${VOL_ADDR},vers=${VOL_VERS},${VOL_OPTS}
      device: :${VOL_DEVICE_PREFIX}${FOOTPRINTS_VOL_DEVICE:-/geoserver-footprints-vol/}
+14 −26
Original line number Diff line number Diff line
@@ -9,11 +9,11 @@ services:
          - node.role == worker
      resources:
        limits:
          cpus: '${GEOSERVER_MASTER_RESOURCES_LIMITS_CPUS}'
          memory: ${PRO_GEOSERVER_MASTER_RESOURCES_LIMITS_MEMORY}
          cpus: '${MASTER_RESOURCES_LIMITS_CPUS}'
          memory: ${PRO_MASTER_RESOURCES_LIMITS_MEMORY}
        reservations:
          cpus: '${GEOSERVER_MASTER_RESOURCES_RESERVATIONS_CPUS}'
          memory: ${PRO_GEOSERVER_MASTER_RESOURCES_RESERVATIONS_MEMORY}
          cpus: '${MASTER_RESOURCES_RESERVATIONS_CPUS}'
          memory: ${PRO_MASTER_RESOURCES_RESERVATIONS_MEMORY}

  geoserver-node:
    environment:
@@ -25,47 +25,35 @@ services:
          - node.role == worker
      resources:
        limits:
          cpus: '${GEOSERVER_NODE_RESOURCES_LIMITS_CPUS}'
          memory: ${PRO_GEOSERVER_NODE_RESOURCES_LIMITS_MEMORY}
          cpus: '${NODE_RESOURCES_LIMITS_CPUS}'
          memory: ${PRO_NODE_RESOURCES_LIMITS_MEMORY}
        reservations:
          cpus: '${GEOSERVER_NODE_RESOURCES_RESERVATIONS_CPUS}'
          memory: ${PRO_GEOSERVER_NODE_RESOURCES_RESERVATIONS_MEMORY}
          cpus: '${NODE_RESOURCES_RESERVATIONS_CPUS}'
          memory: ${PRO_NODE_RESOURCES_RESERVATIONS_MEMORY}

volumes:
  geoserver-data-vol:
    name: ${GEOSERVER_DATA_VOL_NAME}
    driver: 'cloudstor:aws'
  data-vol:
    name: ${DATA_VOL_NAME}
    driver: ${PRO_VOL_DRIVER}
    driver_opts:
      backing: shared
      perfmode: maxio

  cache-vol:
    name: ${CACHE_VOL_NAME}
    driver: 'cloudstor:aws'
    driver: ${PRO_VOL_DRIVER}
    driver_opts:
      backing: shared
      perfmode: maxio

  fonts-vol:
    name: ${FONTS_VOL_NAME}
    driver: 'cloudstor:aws'
    driver: ${PRO_VOL_DRIVER}
    driver_opts:
      backing: shared

  footprints-vol:
    name: ${FOOTPRINTS_VOL_NAME}
    driver: 'cloudstor:aws'
    driver_opts:
      backing: shared

  postgres-data-vol:
    name: ${POSTGRES_DATA_VOL_NAME}
    driver: 'cloudstor:aws'
    driver_opts:
      backing: shared

  wal-vol:
    name: ${WAL_VOL_NAME}
    driver: 'cloudstor:aws'
    driver: ${PRO_VOL_DRIVER}
    driver_opts:
      backing: shared
Loading