Commit 6bf2183e authored by Pedro Eduardo Trujillo's avatar Pedro Eduardo Trujillo
Browse files

Pone al día el proyecto

Cambia imagen base.
Actualiza definición de imagen.
Mueve ajustes asignados en la creación a la ejecución.
Actualiza recursos de despliegue.
Reajusta valores.
Elimina restos.
Actualiza documentación.
parent 20823820
Loading
Loading
Loading
Loading
+0 −1
Original line number Diff line number Diff line
*
!rootfs
+7 −24
Original line number Diff line number Diff line
@@ -5,33 +5,16 @@ include:
  - project: 'redmic-project/gitlab-ci-templates'
    ref: master
    file: '/deployment.yml'
  - project: 'redmic-project/gitlab-ci-templates'
    ref: master
    file: '/deployment-custom-image.yml'

stages:
  - pre-package
  - package
  - test-package
  - post-package
  - deploy

.deploy:
  variables:
    STACK: inspire

.deploy-development:
  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}
      POSTGRES_WORK_MEM=${POSTGRES_WORK_MEM}
  environment:
    name: dev/${CI_PROJECT_NAME}

.deploy-production:
  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}
      POSTGRES_WORK_MEM=${POSTGRES_WORK_MEM} AWS_REGION=${AWS_REGION}
  environment:
    name: pro/${CI_PROJECT_NAME}
+26 −26
Original line number Diff line number Diff line
FROM mdillon/postgis:11-alpine
ARG POSTGIS_IMAGE_TAG="11-3.2-alpine"
FROM postgis/postgis:${POSTGIS_IMAGE_TAG}

LABEL maintainer="info@redmic.es"

ENV PG_CRON_VERSION="1.1.4" \
	PG_PARTMAN_VERSION="4.0.0" \
	POSTGRES_WORK_MEM="1GB"
ARG PG_CRON_VERSION="1.4.1" \
	PG_PARTMAN_VERSION="4.6.0" \
	BUILD_BASE_VERSION="0.5-r2" \
	CA_CERTIFICATES_VERSION="20211220-r0" \
	OPENSSL_VERSION="1.1.1l-r8" \
	TAR_VERSION="1.34-r0"

# hadolint ignore=DL3003
RUN apk add --no-cache --virtual \
		.build-deps \
		build-base=0.5-r1 \
		ca-certificates=20190108-r0 \
		openssl=1.1.1b-r1 \
		tar=1.32-r0 && \
	wget -O /pg_cron.tgz https://github.com/citusdata/pg_cron/archive/v${PG_CRON_VERSION}.tar.gz && \
	tar xvzf /pg_cron.tgz && \
	cd pg_cron-${PG_CRON_VERSION} && \
RUN apk add --no-cache --virtual .build-deps \
		build-base=${BUILD_BASE_VERSION} \
		ca-certificates=${CA_CERTIFICATES_VERSION} \
		openssl=${OPENSSL_VERSION} \
		tar=${TAR_VERSION} && \
	# install pg_cron
	wget -O pg_cron.tar.gz https://github.com/citusdata/pg_cron/archive/v${PG_CRON_VERSION}.tar.gz && \
	tar -xzf pg_cron.tar.gz && \
	cd pg_cron-* && \
	sed -i.bak -e 's/-Werror//g' Makefile && \
	sed -i.bak -e 's/-Wno-implicit-fallthrough//g' Makefile && \
	make && \
	make install && \
	cd .. && \
	rm -rf pg_cron.tgz pg_cron-* && \
	wget -O /pg_partman.tgz https://github.com/pgpartman/pg_partman/archive/v${PG_PARTMAN_VERSION}.tar.gz && \
	tar xvzf /pg_partman.tgz && \
	cd pg_partman-${PG_PARTMAN_VERSION} && \
	cd .. ; \
	# install pg_partman
	wget -O pg_partman.tar.gz https://github.com/pgpartman/pg_partman/archive/v${PG_PARTMAN_VERSION}.tar.gz && \
	tar -xzf pg_partman.tar.gz && \
	cd pg_partman-* && \
	make && \
	make NO_BGW=1 install && \
	cd .. && \
	rm -rf pg_partman.tgz pg_partman-* && \
	echo "shared_preload_libraries='pg_cron'" >> /usr/local/share/postgresql/postgresql.conf.sample && \
	echo "checkpoint_timeout = 10min" >> /usr/local/share/postgresql/postgresql.conf.sample && \
	echo "max_wal_size = 2GB" >> /usr/local/share/postgresql/postgresql.conf.sample && \
	mv /usr/local/bin/docker-entrypoint.sh /usr/local/bin/docker-entrypoint-origin.sh

COPY rootfs /
	cd .. ; \
	# clean
	rm -rf pg_cron* pg_partman* && \
	apk del .build-deps
+2 −3
Original line number Diff line number Diff line
# AIS Postgres
Base de datos PostgreSQL para almacenar datos AIS.
# Inspire PostgreSQL

La tabla principal está particionada por tiempo, de esta forma sólo se accede agiliza las búsquedas que impliquen consultas por fechas.
Base de datos PostgreSQL para almacenar datos de servicios OGC clasificados bajo temáticas de la directiva INSPIRE
+18 −2
Original line number Diff line number Diff line
PGDATA=/var/lib/postgresql/data/db-files/
POSTGIS_IMAGE_TAG=11-3.2-alpine
PG_CRON_VERSION=1.4.1
PG_PARTMAN_VERSION=4.6.0
BUILD_BASE_VERSION=0.5-r2
CA_CERTIFICATES_VERSION=20211220-r0
OPENSSL_VERSION=1.1.1l-r8
TAR_VERSION=1.34-r0

SHARED_PRELOAD_LIBRARIES=pg_cron
CHECKPOINT_TIMEOUT=10min
WORK_MEM=128MB
MAX_WAL_SIZE=1GB
POSTGRES_DB=inspire
POSTGRES_WORK_MEM=1GB
POSTGRES_USER=postgres
POSTGRES_PASSWORD=changeme
PGDATA=/var/lib/postgresql/data/db-files/

NETWORK_ALIAS=inspire-db
DATA_VOL_NAME=inspire-postgres-vol
Loading