Commit 63f14962 authored by Pedro Eduardo Trujillo's avatar Pedro Eduardo Trujillo
Browse files

Merge branch 'dev' into 'master'

Actualiza configuración y simplifica el proyecto

See merge request redmic-project/gis/geoserver!72
parents 2b07ec89 4c8deff8
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
+7 −0
Original line number Diff line number Diff line
# GeoServer

GeoServer is an open source server for sharing geospatial data

## Requirements

You must deploy [PostgreSQL GWC](https://gitlab.com/redmic-project/gis/postgresql-gwc) first, in order to create required external network.
+27 −26
Original line number Diff line number Diff line
@@ -11,7 +11,7 @@ HTTP_SCHEME=https
GEOSERVER_ADMIN_USER=admin
GEOSERVER_ADMIN_PASSWORD=changeme
STABLE_EXTENSIONS=css-plugin,inspire-plugin,csw-plugin,netcdf-plugin,netcdf-out-plugin,ysld-plugin
COMMUNITY_EXTENSIONS=jms-cluster-plugin
COMMUNITY_EXTENSIONS=jms-cluster-plugin,cog-http-plugin,stac-datastore-plugin
TOMCAT_EXTRAS=false
ROOT_WEBAPP_REDIRECT=true
GEOSERVER_LABEL_COLOR=white
@@ -21,53 +21,54 @@ 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=postgres-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
POSTGRES_DATA_VOL_NAME=postgres-gwc-data-vol
WAL_VOL_NAME=postgres-gwc-wal-vol

PUBLIC_HOSTNAME=change.me
GEOSERVER_HEALTH_PATH=/geoserver/rest/about/version.xml
+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