save progress
This commit is contained in:
49
devops/docker/schema-versions/Dockerfile
Normal file
49
devops/docker/schema-versions/Dockerfile
Normal file
@@ -0,0 +1,49 @@
|
||||
# devops/docker/schema-versions/Dockerfile
|
||||
# Versioned PostgreSQL container for schema evolution testing
|
||||
# Sprint: SPRINT_20260105_002_005_TEST_cross_cutting
|
||||
# Task: CCUT-008
|
||||
#
|
||||
# USAGE:
|
||||
# ======
|
||||
# Build for specific module and version:
|
||||
# docker build --build-arg MODULE=scanner --build-arg SCHEMA_VERSION=v1.2.0 \
|
||||
# -t stellaops/schema-test:scanner-v1.2.0 .
|
||||
#
|
||||
# Run for testing:
|
||||
# docker run -d -p 5432:5432 stellaops/schema-test:scanner-v1.2.0
|
||||
|
||||
ARG POSTGRES_VERSION=16
|
||||
FROM postgres:${POSTGRES_VERSION}-alpine
|
||||
|
||||
# Build arguments
|
||||
ARG MODULE=scanner
|
||||
ARG SCHEMA_VERSION=latest
|
||||
ARG SCHEMA_DATE=""
|
||||
|
||||
# Labels for identification
|
||||
LABEL org.opencontainers.image.title="StellaOps Schema Test - ${MODULE}"
|
||||
LABEL org.opencontainers.image.description="PostgreSQL with ${MODULE} schema version ${SCHEMA_VERSION}"
|
||||
LABEL org.opencontainers.image.version="${SCHEMA_VERSION}"
|
||||
LABEL org.stellaops.module="${MODULE}"
|
||||
LABEL org.stellaops.schema.version="${SCHEMA_VERSION}"
|
||||
LABEL org.stellaops.schema.date="${SCHEMA_DATE}"
|
||||
|
||||
# Environment variables
|
||||
ENV POSTGRES_USER=stellaops_test
|
||||
ENV POSTGRES_PASSWORD=test_password
|
||||
ENV POSTGRES_DB=stellaops_schema_test
|
||||
ENV STELLAOPS_MODULE=${MODULE}
|
||||
ENV STELLAOPS_SCHEMA_VERSION=${SCHEMA_VERSION}
|
||||
|
||||
# Copy initialization scripts
|
||||
COPY docker-entrypoint-initdb.d/ /docker-entrypoint-initdb.d/
|
||||
|
||||
# Copy module-specific schema
|
||||
COPY schemas/${MODULE}/ /schemas/${MODULE}/
|
||||
|
||||
# Health check
|
||||
HEALTHCHECK --interval=10s --timeout=5s --start-period=30s --retries=3 \
|
||||
CMD pg_isready -U ${POSTGRES_USER} -d ${POSTGRES_DB} || exit 1
|
||||
|
||||
# Expose PostgreSQL port
|
||||
EXPOSE 5432
|
||||
Reference in New Issue
Block a user