diff --git a/containers/ecr-viewer/cypress/docker-compose-cypress.yml b/containers/ecr-viewer/cypress/docker-compose-cypress.yml deleted file mode 100644 index aff55fc36..000000000 --- a/containers/ecr-viewer/cypress/docker-compose-cypress.yml +++ /dev/null @@ -1,79 +0,0 @@ -services: - # PostgreSQL database - db: - image: "postgres:alpine" - ports: - - "5432:5432" - volumes: - - ../sql/core.sql:/docker-entrypoint-initdb.d/core.sql - - ../seed-scripts/sql/01-init.sql:/docker-entrypoint-initdb.d/01-init.sql - - ./assets/data.sql:/docker-entrypoint-initdb.d/data.sql - - ../seed-scripts/sql/.pgpass/:/usr/local/lib/.pgpass - environment: - - POSTGRES_USER=postgres - - PGUSER=postgres - - POSTGRES_PASSWORD=pw - - POSTGRES_DB=ecr_viewer_db - healthcheck: - test: ["CMD-SHELL", "pg_isready"] - interval: 2s - timeout: 5s - retries: 20 - - # Next.js app - ecr-viewer: - build: - context: ../../ - dockerfile: ./containers/ecr-viewer/Dockerfile - ports: - - "3000:3000" - environment: - - DATABASE_URL=${DATABASE_URL:-postgres://postgres:pw@db:5432/ecr_viewer_db} - - APP_ENV=${APP_ENV:-prod} - - jaeger: - image: jaegertracing/all-in-one:latest - container_name: "jaeger" - volumes: - - "./jaeger-ui.json:/etc/jaeger/jaeger-ui.json" - command: --query.ui-config /etc/jaeger/jaeger-ui.json - ports: - - "16686:16686" # serves frontend and queries - - "14268" - - "14250" - prometheus: - image: prom/prometheus:latest - ports: - - "9090:9090" - volumes: - - "./prometheus.yml:/etc/prometheus/prometheus.yml" - - "prom_data:/prometheus" - otel-collector: - image: otel/opentelemetry-collector-contrib:latest - container_name: "otel-collector" - volumes: - - "./otel-collector-config.yaml:/etc/otelcol-contrib/config.yaml" - command: ["--config=/etc/otelcol-contrib/config.yaml"] - ports: - - "8888:8888" # Prometheus metrics exposed by collector - - "8889:8889" # Endpoint prometheus will scrape - - "4317:4317" # gRPC OTLP receiver - - "4318:4318" # HTTP OTLP receiver - depends_on: - - jaeger - - prometheus - grafana: - image: grafana/grafana-oss - ports: - - "4000:3000" - volumes: - - ./grafana.ini:/etc/grafana/grafana.ini - - ./grafana/dashboards:/etc/grafana/provisioning/dashboards - - ./grafana/datasources/datasources.yml:/etc/grafana/provisioning/datasources/datasources.yml - - grafana_data:/var/lib/grafana - depends_on: - - prometheus - -volumes: - prom_data: - grafana_data: diff --git a/containers/ecr-viewer/cypress/docker-compose.yml b/containers/ecr-viewer/cypress/docker-compose.yml new file mode 100644 index 000000000..66655cade --- /dev/null +++ b/containers/ecr-viewer/cypress/docker-compose.yml @@ -0,0 +1,32 @@ +services: + # PostgreSQL database + db: + image: "postgres:alpine" + ports: + - "5432:5432" + volumes: + - ../sql/core.sql:/docker-entrypoint-initdb.d/core.sql + - ../seed-scripts/sql/01-init.sql:/docker-entrypoint-initdb.d/01-init.sql + - ./assets/data.sql:/docker-entrypoint-initdb.d/data.sql + - ../seed-scripts/sql/.pgpass/:/usr/local/lib/.pgpass + environment: + - POSTGRES_USER=postgres + - PGUSER=postgres + - POSTGRES_PASSWORD=pw + - POSTGRES_DB=ecr_viewer_db + healthcheck: + test: ["CMD-SHELL", "pg_isready"] + interval: 2s + timeout: 5s + retries: 20 + + # Next.js app + ecr-viewer: + build: + context: ../../.. + dockerfile: ./containers/ecr-viewer/Dockerfile + ports: + - "3000:3000" + environment: + - DATABASE_URL=${DATABASE_URL:-postgres://postgres:pw@db:5432/ecr_viewer_db} + - APP_ENV=${APP_ENV:-prod} diff --git a/containers/ecr-viewer/package.json b/containers/ecr-viewer/package.json index 6dfc087d4..e716ba458 100644 --- a/containers/ecr-viewer/package.json +++ b/containers/ecr-viewer/package.json @@ -16,7 +16,7 @@ "update-cypress-data": "docker compose -f ./seed-scripts/docker-compose-create-sql.yml up --build --abort-on-container-exit", "cypress:open": "cypress open", "cypress:run": "cypress run", - "cypress:run-local": "cp ./cypress/assets/data.sql ./seed-scripts/sql && docker compose --env-file .env.test up db -d && concurrently --kill-others 'npm run dev' 'npx wait-on http://localhost:3000 && NODE_ENV=dev cypress run ; docker compose down && rm ./seed-scripts/sql/data.sql'", + "cypress:run-local": "docker compose -f cypress/docker-compose.yml --env-file .env.test up db -d && concurrently --kill-others 'npm run dev' 'npx wait-on http://localhost:3000 && NODE_ENV=dev cypress run ; docker compose down'", "cypress:run-prod": "NODE_ENV=production cypress run" }, "dependencies": {