Commit 849690de authored by Pedro Eduardo Trujillo's avatar Pedro Eduardo Trujillo
Browse files

Merge branch 'dev' into 'master'

Pone al día el proyecto

See merge request redmic-project/server/inspire/postgresql!2
parents f41b7a50 627fbb82
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}
+31 −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" \
	CLANG_VERSION="12.0.1-r1" \
	LLVM_VERSION="12.0.1-r0" \
	CA_CERTIFICATES_VERSION="20211220-r0" \
	OPENSSL_VERSION="1.1.1l-r8" \
	TAR_VERSION="1.34-r0"

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} && \
# hadolint ignore=DL3003
RUN apk add --no-cache --virtual .build-deps \
		build-base="${BUILD_BASE_VERSION}" \
		clang="${CLANG_VERSION}" \
		llvm="${LLVM_VERSION}" \
		ca-certificates="${CA_CERTIFICATES_VERSION}" \
		openssl="${OPENSSL_VERSION}" \
		tar="${TAR_VERSION}" && \
# install pg_cron
	wget -q -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 -q -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
+20 −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
CLANG_VERSION=12.0.1-r1
LLVM_VERSION=12.0.1-r0
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