Fix build and code structure improvements. New but essential UI functionality. CI improvements. Documentation improvements. AI module improvements.
This commit is contained in:
130
devops/compose/docker-compose.ci.yaml
Normal file
130
devops/compose/docker-compose.ci.yaml
Normal file
@@ -0,0 +1,130 @@
|
||||
# =============================================================================
|
||||
# LOCAL CI TESTING SERVICES
|
||||
# =============================================================================
|
||||
# Docker Compose profile for running CI tests locally.
|
||||
# Uses different ports to avoid conflicts with development services.
|
||||
#
|
||||
# Usage:
|
||||
# docker compose -f devops/compose/docker-compose.ci.yaml up -d
|
||||
# docker compose -f devops/compose/docker-compose.ci.yaml down -v
|
||||
#
|
||||
# Services:
|
||||
# - postgres-ci: PostgreSQL 16 for integration tests (port 5433)
|
||||
# - valkey-ci: Valkey/Redis for caching tests (port 6380)
|
||||
# - nats-ci: NATS JetStream for messaging tests (port 4223)
|
||||
# - mock-registry: Local container registry for release testing (port 5001)
|
||||
#
|
||||
# =============================================================================
|
||||
|
||||
networks:
|
||||
ci-net:
|
||||
driver: bridge
|
||||
name: stellaops-ci-net
|
||||
|
||||
volumes:
|
||||
ci-postgres-data:
|
||||
name: stellaops-ci-postgres
|
||||
ci-valkey-data:
|
||||
name: stellaops-ci-valkey
|
||||
|
||||
services:
|
||||
# ---------------------------------------------------------------------------
|
||||
# PostgreSQL 16 - Primary database for integration tests
|
||||
# ---------------------------------------------------------------------------
|
||||
postgres-ci:
|
||||
image: postgres:16-alpine
|
||||
container_name: stellaops-postgres-ci
|
||||
environment:
|
||||
POSTGRES_USER: stellaops_ci
|
||||
POSTGRES_PASSWORD: ci_test_password
|
||||
POSTGRES_DB: stellaops_test
|
||||
# Performance tuning for tests
|
||||
POSTGRES_INITDB_ARGS: "--data-checksums"
|
||||
ports:
|
||||
- "5433:5432" # Different port to avoid conflicts with dev
|
||||
volumes:
|
||||
- ci-postgres-data:/var/lib/postgresql/data
|
||||
networks:
|
||||
- ci-net
|
||||
healthcheck:
|
||||
test: ["CMD-SHELL", "pg_isready -U stellaops_ci -d stellaops_test"]
|
||||
interval: 5s
|
||||
timeout: 5s
|
||||
retries: 10
|
||||
start_period: 10s
|
||||
restart: unless-stopped
|
||||
|
||||
# ---------------------------------------------------------------------------
|
||||
# Valkey 8.0 - Redis-compatible cache for caching tests
|
||||
# ---------------------------------------------------------------------------
|
||||
valkey-ci:
|
||||
image: valkey/valkey:8.0-alpine
|
||||
container_name: stellaops-valkey-ci
|
||||
command: ["valkey-server", "--appendonly", "yes", "--maxmemory", "256mb", "--maxmemory-policy", "allkeys-lru"]
|
||||
ports:
|
||||
- "6380:6379" # Different port to avoid conflicts
|
||||
volumes:
|
||||
- ci-valkey-data:/data
|
||||
networks:
|
||||
- ci-net
|
||||
healthcheck:
|
||||
test: ["CMD", "valkey-cli", "ping"]
|
||||
interval: 5s
|
||||
timeout: 5s
|
||||
retries: 5
|
||||
restart: unless-stopped
|
||||
|
||||
# ---------------------------------------------------------------------------
|
||||
# NATS JetStream - Message queue for messaging tests
|
||||
# ---------------------------------------------------------------------------
|
||||
nats-ci:
|
||||
image: nats:2.10-alpine
|
||||
container_name: stellaops-nats-ci
|
||||
command: ["-js", "-sd", "/data", "-m", "8222"]
|
||||
ports:
|
||||
- "4223:4222" # Client port (different from dev)
|
||||
- "8223:8222" # Monitoring port
|
||||
networks:
|
||||
- ci-net
|
||||
healthcheck:
|
||||
test: ["CMD", "wget", "-q", "--spider", "http://localhost:8222/healthz"]
|
||||
interval: 5s
|
||||
timeout: 5s
|
||||
retries: 5
|
||||
restart: unless-stopped
|
||||
|
||||
# ---------------------------------------------------------------------------
|
||||
# Mock Container Registry - For release dry-run testing
|
||||
# ---------------------------------------------------------------------------
|
||||
mock-registry:
|
||||
image: registry:2
|
||||
container_name: stellaops-registry-ci
|
||||
ports:
|
||||
- "5001:5000"
|
||||
environment:
|
||||
REGISTRY_STORAGE_DELETE_ENABLED: "true"
|
||||
networks:
|
||||
- ci-net
|
||||
restart: unless-stopped
|
||||
|
||||
# ---------------------------------------------------------------------------
|
||||
# Mock S3 (MinIO) - For artifact storage tests
|
||||
# ---------------------------------------------------------------------------
|
||||
minio-ci:
|
||||
image: minio/minio:latest
|
||||
container_name: stellaops-minio-ci
|
||||
command: server /data --console-address ":9001"
|
||||
ports:
|
||||
- "9100:9000" # S3 API port
|
||||
- "9101:9001" # Console port
|
||||
environment:
|
||||
MINIO_ROOT_USER: minioadmin
|
||||
MINIO_ROOT_PASSWORD: minioadmin
|
||||
networks:
|
||||
- ci-net
|
||||
healthcheck:
|
||||
test: ["CMD", "curl", "-f", "http://localhost:9000/minio/health/live"]
|
||||
interval: 10s
|
||||
timeout: 5s
|
||||
retries: 5
|
||||
restart: unless-stopped
|
||||
Reference in New Issue
Block a user