Commit 976ea76f authored by Pedro Eduardo Trujillo's avatar Pedro Eduardo Trujillo
Browse files

Revert to 0cf4e41e

parent d3619a85
Loading
Loading
Loading
Loading
+93 −15
Original line number Diff line number Diff line
@@ -53,17 +53,42 @@ container-scanning:
  artifacts:
    paths: [gl-sast-container-report.json]

deploy-geoserver-dev:
deploy-geoserver-master-dev:
  stage: deploy
  image: registry.gitlab.com/redmic-project/docker/docker-deploy
  variables:
    SSH_REMOTE: ${DEV_SSH_REMOTE}
    STACK: gis
    SERVICES_TO_CHECK: gis_geoserver
    STATUS_CHECK_DELAY: 300
    SERVICES_TO_CHECK: gis_geoserver-master
    STATUS_CHECK_DELAY: 180
    IMAGE_NAME: ${CI_REGISTRY_IMAGE}
    IMAGE_TAG: ${CI_COMMIT_SHA}
    COMPOSE_FILE: docker-compose.tmpl.yml:docker-compose.dev.yml
    COMPOSE_FILE: docker-compose.geoserver-master.tmpl.yml:docker-compose.geoserver-master.dev.yml
    GEOSERVER_SUBDOMAIN: ${DEV_GEOSERVER_ADMIN_SUBDOMAIN}
    PUBLIC_HOSTNAME: ${DEV_PUBLIC_HOSTNAME}
  script:
    - create-nets.sh gis-net
    - >
      deploy.sh IMAGE_NAME=${IMAGE_NAME} IMAGE_TAG=${IMAGE_TAG} COMPOSE_FILE=${COMPOSE_FILE}
      GEOSERVER_SUBDOMAIN=${GEOSERVER_SUBDOMAIN} PUBLIC_HOSTNAME=${PUBLIC_HOSTNAME}
  environment:
    name: geoserver-master-dev
    url: https://${DEV_GEOSERVER_ADMIN_SUBDOMAIN}.${DEV_PUBLIC_HOSTNAME}
  only:
    - dev
  when: manual

deploy-geoserver-slave-dev:
  stage: deploy
  image: registry.gitlab.com/redmic-project/docker/docker-deploy
  variables:
    SSH_REMOTE: ${DEV_SSH_REMOTE}
    STACK: gis
    SERVICES_TO_CHECK: gis_geoserver-slave
    STATUS_CHECK_DELAY: 180
    IMAGE_NAME: ${CI_REGISTRY_IMAGE}
    IMAGE_TAG: ${CI_COMMIT_SHA}
    COMPOSE_FILE: docker-compose.geoserver-slave.tmpl.yml:docker-compose.geoserver-slave.dev.yml
    GEOSERVER_SUBDOMAIN: ${DEV_GEOSERVER_SUBDOMAIN}
    PUBLIC_HOSTNAME: ${DEV_PUBLIC_HOSTNAME}
  script:
@@ -72,23 +97,51 @@ deploy-geoserver-dev:
      deploy.sh IMAGE_NAME=${IMAGE_NAME} IMAGE_TAG=${IMAGE_TAG} COMPOSE_FILE=${COMPOSE_FILE}
      GEOSERVER_SUBDOMAIN=${GEOSERVER_SUBDOMAIN} PUBLIC_HOSTNAME=${PUBLIC_HOSTNAME}
  environment:
    name: geoserver-dev
    name: geoserver-slave-dev
    url: https://${DEV_GEOSERVER_SUBDOMAIN}.${DEV_PUBLIC_HOSTNAME}
  only:
    - dev
  when: manual

deploy-geoserver-supporting-branch:
deploy-geoserver-master-supporting-branch:
  stage: deploy
  image: registry.gitlab.com/redmic-project/docker/docker-deploy
  variables:
    SSH_REMOTE: ${DEV_SSH_REMOTE}
    STACK: gis
    SERVICES_TO_CHECK: gis_geoserver
    STATUS_CHECK_DELAY: 300
    SERVICES_TO_CHECK: gis_geoserver-master
    STATUS_CHECK_DELAY: 180
    IMAGE_NAME: ${CI_REGISTRY_IMAGE}
    IMAGE_TAG: ${CI_COMMIT_SHA}
    COMPOSE_FILE: docker-compose.tmpl.yml:docker-compose.dev.yml
    COMPOSE_FILE: docker-compose.geoserver-master.tmpl.yml:docker-compose.geoserver-master.dev.yml
    GEOSERVER_SUBDOMAIN: ${DEV_GEOSERVER_ADMIN_SUBDOMAIN}
    PUBLIC_HOSTNAME: ${DEV_PUBLIC_HOSTNAME}
  script:
    - create-nets.sh gis-net
    - >
      deploy.sh IMAGE_NAME=${IMAGE_NAME} IMAGE_TAG=${IMAGE_TAG} COMPOSE_FILE=${COMPOSE_FILE}
      GEOSERVER_SUBDOMAIN=${GEOSERVER_SUBDOMAIN} PUBLIC_HOSTNAME=${PUBLIC_HOSTNAME}
  environment:
    name: geoserver-master-dev
    url: https://${DEV_GEOSERVER_ADMIN_SUBDOMAIN}.${DEV_PUBLIC_HOSTNAME}
  only:
    - branches
  except:
    - master
    - dev
  when: manual

deploy-geoserver-slave-supporting-branch:
  stage: deploy
  image: registry.gitlab.com/redmic-project/docker/docker-deploy
  variables:
    SSH_REMOTE: ${DEV_SSH_REMOTE}
    STACK: gis
    SERVICES_TO_CHECK: gis_geoserver-slave
    STATUS_CHECK_DELAY: 180
    IMAGE_NAME: ${CI_REGISTRY_IMAGE}
    IMAGE_TAG: ${CI_COMMIT_SHA}
    COMPOSE_FILE: docker-compose.geoserver-slave.tmpl.yml:docker-compose.geoserver-slave.dev.yml
    GEOSERVER_SUBDOMAIN: ${DEV_GEOSERVER_SUBDOMAIN}
    PUBLIC_HOSTNAME: ${DEV_PUBLIC_HOSTNAME}
  script:
@@ -97,7 +150,7 @@ deploy-geoserver-supporting-branch:
      deploy.sh IMAGE_NAME=${IMAGE_NAME} IMAGE_TAG=${IMAGE_TAG} COMPOSE_FILE=${COMPOSE_FILE}
      GEOSERVER_SUBDOMAIN=${GEOSERVER_SUBDOMAIN} PUBLIC_HOSTNAME=${PUBLIC_HOSTNAME}
  environment:
    name: geoserver-dev
    name: geoserver-slave-dev
    url: https://${DEV_GEOSERVER_SUBDOMAIN}.${DEV_PUBLIC_HOSTNAME}
  only:
    - branches
@@ -106,17 +159,42 @@ deploy-geoserver-supporting-branch:
    - dev
  when: manual

deploy-geoserver-pro:
deploy-geoserver-master-pro:
  stage: deploy
  image: registry.gitlab.com/redmic-project/docker/docker-deploy
  variables:
    SSH_REMOTE: ${PRO_SSH_REMOTE}
    STACK: gis
    SERVICES_TO_CHECK: gis_geoserver-master
    STATUS_CHECK_DELAY: 180
    IMAGE_NAME: ${CI_REGISTRY_IMAGE}
    IMAGE_TAG: ${CI_COMMIT_SHA}
    COMPOSE_FILE: docker-compose.geoserver-master.tmpl.yml:docker-compose.geoserver-master.prod.yml
    GEOSERVER_SUBDOMAIN: ${PRO_GEOSERVER_ADMIN_SUBDOMAIN}
    PUBLIC_HOSTNAME: ${PRO_PUBLIC_HOSTNAME}
  script:
    - create-nets.sh gis-net
    - >
      deploy.sh IMAGE_NAME=${IMAGE_NAME} IMAGE_TAG=${IMAGE_TAG} COMPOSE_FILE=${COMPOSE_FILE}
      GEOSERVER_SUBDOMAIN=${GEOSERVER_SUBDOMAIN} PUBLIC_HOSTNAME=${PUBLIC_HOSTNAME}
  environment:
    name: geoserver-master-pro
    url: https://${PRO_GEOSERVER_ADMIN_SUBDOMAIN}.${PRO_PUBLIC_HOSTNAME}
  only:
    - master
  when: manual

deploy-geoserver-slave-pro:
  stage: deploy
  image: registry.gitlab.com/redmic-project/docker/docker-deploy
  variables:
    SSH_REMOTE: ${PRO_SSH_REMOTE}
    STACK: gis
    SERVICES_TO_CHECK: gis_geoserver
    STATUS_CHECK_DELAY: 300
    SERVICES_TO_CHECK: gis_geoserver-slave
    STATUS_CHECK_DELAY: 180
    IMAGE_NAME: ${CI_REGISTRY_IMAGE}
    IMAGE_TAG: ${CI_COMMIT_SHA}
    COMPOSE_FILE: docker-compose.tmpl.yml:docker-compose.prod.yml
    COMPOSE_FILE: docker-compose.geoserver-slave.tmpl.yml:docker-compose.geoserver-slave.prod.yml
    GEOSERVER_SUBDOMAIN: ${PRO_GEOSERVER_SUBDOMAIN}
    PUBLIC_HOSTNAME: ${PRO_PUBLIC_HOSTNAME}
  script:
@@ -124,7 +202,7 @@ deploy-geoserver-pro:
      deploy.sh IMAGE_NAME=${IMAGE_NAME} IMAGE_TAG=${IMAGE_TAG} COMPOSE_FILE=${COMPOSE_FILE}
      GEOSERVER_SUBDOMAIN=${GEOSERVER_SUBDOMAIN} PUBLIC_HOSTNAME=${PUBLIC_HOSTNAME}
  environment:
    name: geoserver-pro
    name: geoserver-slave-pro
    url: https://${PRO_GEOSERVER_SUBDOMAIN}.${PRO_PUBLIC_HOSTNAME}
  only:
    - master
+128 −142
Original line number Diff line number Diff line
@@ -4,9 +4,9 @@ LABEL maintainer="info@redmic.es"

ENV DEBIAN_FRONTEND="noninteractive" \
    GEOSERVER_PLUGINS="css inspire libjpeg-turbo csw wps pyramid vectortiles netcdf gdal importer netcdf-out" \
	GEOSERVER_COMMUNITY_PLUGINS="gwc-s3 hz-cluster" \
    GEOSERVER_COMMUNITY_PLUGINS="gwc-s3" \
    GEOSERVER_MAJOR_VERSION="2.12" \
	GEOSERVER_MINOR_VERSION="5" \
    GEOSERVER_MINOR_VERSION="4" \
    GEOSERVER_DATA_DIR="/var/geoserver/data" \
    GEOSERVER_HOME="/opt/geoserver" \
    GEOSERVER_LOG_DIR="/var/log/geoserver" \
@@ -34,14 +34,7 @@ ENV DEBIAN_FRONTEND="noninteractive" \
     -Djava.library.path=/usr/share/java:/opt/libjpeg-turbo/lib64:/usr/lib/jni" \
    GOOGLE_FONTS="Open%20Sans Roboto Lato Ubuntu" \
    NOTO_FONTS="NotoSans-unhinted NotoSerif-unhinted NotoMono-hinted" \
	GEOSERVER_PORT="8080" \
	SYNC_MODE="event" \
	SYNC_DELAY="0" \
	CLUSTER_NAME="geoserver-cluster" \
	CLUSTER_PASSWORD="changeme" \
	SESSION_STICKY="true" \
	HAZELCAST_PORT="5701" \
	HAZELCAST_PORT_RANGE_END="5902"
    GEOSERVER_PORT="8080"

ENV GEOSERVER_VERSION="${GEOSERVER_MAJOR_VERSION}.${GEOSERVER_MINOR_VERSION}" \
    GEOSERVER_LOG_LOCATION="${GEOSERVER_LOG_DIR}/geoserver.log" \
@@ -49,9 +42,9 @@ ENV GEOSERVER_VERSION="${GEOSERVER_MAJOR_VERSION}.${GEOSERVER_MINOR_VERSION}" \

ARG TEMP_PATH=/tmp/resources

RUN mkdir -p "${TEMP_PATH}" "${GEOSERVER_DATA_DIR}" "${GEOSERVER_LOG_DIR}"

COPY ./scripts /
RUN mkdir -p ${TEMP_PATH} && \
    mkdir -p ${GEOSERVER_DATA_DIR} && \
    mkdir -p ${GEOSERVER_LOG_DIR}

# Install extra fonts to use with sld font markers
RUN apt-get update && \
@@ -69,7 +62,6 @@ RUN apt-get update && \
        libnetcdf11 \
        libnetcdf-c++4 \
        netcdf-bin \
		gettext-base \
        dnsutils

# Copy resources
@@ -100,15 +92,7 @@ RUN FILENAME="geoserver-${GEOSERVER_VERSION}-bin.zip" && \
        curl -L ${URL}/${FILENAME} -o ${TEMP_PATH}/${FILENAME} ; \
    fi; \
    unzip -o ${TEMP_PATH}/${FILENAME} -d /opt/ && \
	mv -v ${GEOSERVER_HOME}* ${GEOSERVER_HOME} && \
	rm -rf ${GEOSERVER_HOME}/data_dir/coverages && \
	rm -rf ${GEOSERVER_HOME}/data_dir/data && \
	rm -rf ${GEOSERVER_HOME}/data_dir/demo && \
	rm -rf ${GEOSERVER_HOME}/data_dir/gwc-layers && \
	rm -rf ${GEOSERVER_HOME}/data_dir/layergroups && \
	rm -rf ${GEOSERVER_HOME}/data_dir/workspaces && \
	mv -f /web.xml ${GEOSERVER_HOME}/webapps/geoserver/WEB-INF/web.xml

    mv -v ${GEOSERVER_HOME}* ${GEOSERVER_HOME}

# Install Marlin
ARG MARLIN_VERSION=0.9.1
@@ -194,7 +178,9 @@ RUN rm -fr ${TEMP_PATH} && \

USER geoserver

EXPOSE ${GEOSERVER_PORT} ${HAZELCAST_PORT}-${HAZELCAST_PORT_RANGE_END}
COPY ./scripts /

EXPOSE ${GEOSERVER_PORT}

ENTRYPOINT ["/docker-entrypoint.sh"]

+6 −8
Original line number Diff line number Diff line
GEOSERVER_PORT=8080
HAZELCAST_PORT=5701
CLUSTER_NAME=geoserver-cluster
CLUSTER_PASSWORD=changeme
SYNC_MODE=event
SYNC_DELAY=0
SESSION_STICKY=true
CLUSTER_DISCOVERY_URL=tasks.geoserver
CLUSTER_NETWORK_INTERFACE_IP=10.*.*.*
GEOSERVER_USER=admin
GEOSERVER_PASS=geoserver
SLAVE_SERVICE_NAME=geoserver-slave
SLAVES_MANAGEMENT_DELAY=180
SLAVES_MANAGEMENT_INTERVAL=1800
SLAVE_MANAGEMENT_TIMEOUT=300
+6 −5
Original line number Diff line number Diff line
version: '3.5'

services:
  geoserver:
  geoserver-master:
    ports:
      - target: ${GEOSERVER_PORT}
        published: 8095
        mode: host
    deploy:
      mode: replicated
@@ -12,13 +13,13 @@ services:
        traefik.port: "${GEOSERVER_PORT}"
        traefik.docker.network: traefik-net
        traefik.frontend.rule: "Host:${GEOSERVER_SUBDOMAIN}.${PUBLIC_HOSTNAME};PathPrefix:/geoserver"
        traefik.backend: geoserver
        traefik.backend: geoserver-master
      restart_policy:
        delay: 2m
        window: 5m
        delay: 1m
        window: 3m
      resources:
        limits:
          cpus: '0.75'
          cpus: '0.5'
          memory: 1G
        reservations:
          memory: 820M
+31 −0
Original line number Diff line number Diff line
version: '3.5'

services:
  geoserver-master:
    deploy:
      mode: replicated
      replicas: 1
      labels:
        traefik.port: "${GEOSERVER_PORT}"
        traefik.docker.network: traefik-net
        traefik.frontend.rule: "Host:${GEOSERVER_SUBDOMAIN}.${PUBLIC_HOSTNAME};PathPrefix:/geoserver"
        traefik.backend: geoserver-master
      placement:
        constraints:
          - node.role == manager
      restart_policy:
        delay: 1m
        window: 3m
      resources:
        limits:
          cpus: '0.5'
          memory: 1G
        reservations:
          memory: 820M

volumes:
  geoserver-vol:
    name: "geoserver-vol"
    driver: "cloudstor:aws"
    driver_opts:
      backing: shared
Loading