Files
query-orchestration/deployments/compose.local.yaml
T
Jay Brown 72de690894 Merged in feature/chatbot1 (pull request #223)
Chatbot functionality

* baseline working

* missing test file

* more tests
2026-05-07 20:56:18 +00:00

465 lines
13 KiB
YAML

---
services:
store_event_runner:
image: queryorchestration:latest
command: ["./storeEventRunner"]
depends_on:
localstack:
condition: service_healthy
db:
condition: service_healthy
ports:
- "8081:8080"
expose:
- 8080
environment:
LOG_LEVEL: DEBUG
QUEUE_URL: ${STORE_EVENT_URL}
DOCUMENT_INIT_URL: ${DOCUMENT_INIT_URL}
AWS_ACCESS_KEY_ID: ${AWS_ACCESS_KEY_ID}
AWS_SECRET_ACCESS_KEY: ${AWS_SECRET_ACCESS_KEY}
AWS_SESSION_TOKEN: ${AWS_SESSION_TOKEN}
AWS_REGION: ${AWS_REGION}
PGUSER: ${PGUSER}
PGPASSWORD: ${PGPASSWORD}
PGHOST: db
PGPORT: 5432
PGDATABASE: ${PGDATABASE}
DB_NOSSL: ${DB_NOSSL}
AWS_ENDPOINT_URL: "http://localstack:4566"
AWS_S3_USE_PATH_STYLE: true
DISABLE_AUTH: ${DISABLE_AUTH:-true}
COGNITO_USER_POOL_ID: "fillin"
COGNITO_CLIENT_SECRET: "fillin"
COGNITO_DOMAIN: "fillin"
COGNITO_CLIENT_ID: "fillin"
networks:
- server-network
doc_init_runner:
image: queryorchestration:latest
command: ["./docInitRunner"]
depends_on:
localstack:
condition: service_healthy
db:
condition: service_healthy
ports:
- "8082:8080"
expose:
- 8080
environment:
LOG_LEVEL: DEBUG
QUEUE_URL: ${DOCUMENT_INIT_URL}
DOCUMENT_SYNC_URL: ${DOCUMENT_SYNC_URL}
AWS_ACCESS_KEY_ID: ${AWS_ACCESS_KEY_ID}
AWS_SECRET_ACCESS_KEY: ${AWS_SECRET_ACCESS_KEY}
AWS_SESSION_TOKEN: ${AWS_SESSION_TOKEN}
AWS_REGION: ${AWS_REGION}
BUCKET: ${BUCKET_IN}
PGUSER: ${PGUSER}
PGPASSWORD: ${PGPASSWORD}
PGHOST: db
PGPORT: 5432
PGDATABASE: ${PGDATABASE}
DB_NOSSL: ${DB_NOSSL}
AWS_ENDPOINT_URL: "http://localstack:4566"
AWS_S3_USE_PATH_STYLE: true
DISABLE_AUTH: ${DISABLE_AUTH:-true}
COGNITO_USER_POOL_ID: "fillin"
COGNITO_CLIENT_SECRET: "fillin"
COGNITO_DOMAIN: "fillin"
COGNITO_CLIENT_ID: "fillin"
networks:
- server-network
doc_sync_runner:
image: queryorchestration:latest
command: ["./docSyncRunner"]
depends_on:
localstack:
condition: service_healthy
db:
condition: service_healthy
ports:
- "8083:8080"
expose:
- 8080
environment:
LOG_LEVEL: DEBUG
QUEUE_URL: ${DOCUMENT_SYNC_URL}
DOCUMENT_CLEAN_URL: ${DOCUMENT_CLEAN_URL}
AWS_ACCESS_KEY_ID: ${AWS_ACCESS_KEY_ID}
AWS_SECRET_ACCESS_KEY: ${AWS_SECRET_ACCESS_KEY}
AWS_SESSION_TOKEN: ${AWS_SESSION_TOKEN}
AWS_REGION: ${AWS_REGION}
PGUSER: ${PGUSER}
PGPASSWORD: ${PGPASSWORD}
PGHOST: db
PGPORT: 5432
PGDATABASE: ${PGDATABASE}
DB_NOSSL: ${DB_NOSSL}
AWS_ENDPOINT_URL: "http://localstack:4566"
AWS_S3_USE_PATH_STYLE: true
DISABLE_AUTH: ${DISABLE_AUTH:-true}
COGNITO_USER_POOL_ID: "fillin"
COGNITO_CLIENT_SECRET: "fillin"
COGNITO_DOMAIN: "fillin"
COGNITO_CLIENT_ID: "fillin"
networks:
- server-network
doc_clean_runner:
image: queryorchestration:latest
command: ["./docCleanRunner"]
depends_on:
localstack:
condition: service_healthy
db:
condition: service_healthy
ports:
- "8084:8080"
expose:
- 8080
environment:
LOG_LEVEL: DEBUG
QUEUE_URL: ${DOCUMENT_CLEAN_URL}
DOCUMENT_TEXT_URL: ${DOCUMENT_TEXT_URL}
AWS_ACCESS_KEY_ID: ${AWS_ACCESS_KEY_ID}
AWS_SECRET_ACCESS_KEY: ${AWS_SECRET_ACCESS_KEY}
AWS_SESSION_TOKEN: ${AWS_SESSION_TOKEN}
AWS_REGION: ${AWS_REGION}
PGUSER: ${PGUSER}
PGPASSWORD: ${PGPASSWORD}
PGHOST: db
PGPORT: 5432
PGDATABASE: ${PGDATABASE}
DB_NOSSL: ${DB_NOSSL}
AWS_ENDPOINT_URL: "http://localstack:4566"
AWS_S3_USE_PATH_STYLE: true
DISABLE_AUTH: ${DISABLE_AUTH:-true}
COGNITO_USER_POOL_ID: "fillin"
COGNITO_CLIENT_SECRET: "fillin"
COGNITO_DOMAIN: "fillin"
COGNITO_CLIENT_ID: "fillin"
BUCKET: ${BUCKET_IN}
networks:
- server-network
doc_text_runner:
image: queryorchestration:latest
command: ["./docTextRunner"]
depends_on:
localstack:
condition: service_healthy
db:
condition: service_healthy
ports:
- "8085:8080"
expose:
- 8080
environment:
LOG_LEVEL: DEBUG
QUEUE_URL: ${DOCUMENT_TEXT_URL}
QUERY_SYNC_URL: ${QUERY_SYNC_URL}
AWS_ACCESS_KEY_ID: ${AWS_ACCESS_KEY_ID}
AWS_SECRET_ACCESS_KEY: ${AWS_SECRET_ACCESS_KEY}
AWS_SESSION_TOKEN: ${AWS_SESSION_TOKEN}
AWS_REGION: ${AWS_REGION}
PGUSER: ${PGUSER}
PGPASSWORD: ${PGPASSWORD}
PGHOST: db
PGPORT: 5432
PGDATABASE: ${PGDATABASE}
DB_NOSSL: ${DB_NOSSL}
AWS_ENDPOINT_URL: "http://localstack:4566"
AWS_S3_USE_PATH_STYLE: true
DISABLE_AUTH: ${DISABLE_AUTH:-true}
COGNITO_USER_POOL_ID: "fillin"
COGNITO_CLIENT_SECRET: "fillin"
COGNITO_DOMAIN: "fillin"
COGNITO_CLIENT_ID: "fillin"
BUCKET: ${BUCKET_IN}
networks:
- server-network
query_sync_runner:
image: queryorchestration:latest
command: ["./querySyncRunner"]
depends_on:
localstack:
condition: service_healthy
db:
condition: service_healthy
ports:
- "8087:8080"
expose:
- 8080
environment:
LOG_LEVEL: DEBUG
QUEUE_URL: ${QUERY_SYNC_URL}
QUERY_URL: ${QUERY_URL}
AWS_ACCESS_KEY_ID: ${AWS_ACCESS_KEY_ID}
AWS_SECRET_ACCESS_KEY: ${AWS_SECRET_ACCESS_KEY}
AWS_SESSION_TOKEN: ${AWS_SESSION_TOKEN}
AWS_REGION: ${AWS_REGION}
PGUSER: ${PGUSER}
PGPASSWORD: ${PGPASSWORD}
PGHOST: db
PGPORT: 5432
PGDATABASE: ${PGDATABASE}
DB_NOSSL: ${DB_NOSSL}
AWS_ENDPOINT_URL: "http://localstack:4566"
AWS_S3_USE_PATH_STYLE: true
DISABLE_AUTH: ${DISABLE_AUTH:-true}
COGNITO_USER_POOL_ID: "fillin"
COGNITO_CLIENT_SECRET: "fillin"
COGNITO_DOMAIN: "fillin"
COGNITO_CLIENT_ID: "fillin"
networks:
- server-network
query_runner:
image: queryorchestration:latest
command: ["./queryRunner"]
depends_on:
localstack:
condition: service_healthy
db:
condition: service_healthy
ports:
- "8088:8080"
expose:
- 8080
environment:
LOG_LEVEL: DEBUG
QUEUE_URL: ${QUERY_URL}
QUERY_URL: ${QUERY_URL}
AWS_ACCESS_KEY_ID: ${AWS_ACCESS_KEY_ID}
AWS_SECRET_ACCESS_KEY: ${AWS_SECRET_ACCESS_KEY}
AWS_SESSION_TOKEN: ${AWS_SESSION_TOKEN}
AWS_REGION: ${AWS_REGION}
PGUSER: ${PGUSER}
PGPASSWORD: ${PGPASSWORD}
PGHOST: db
PGPORT: 5432
PGDATABASE: ${PGDATABASE}
DB_NOSSL: ${DB_NOSSL}
AWS_ENDPOINT_URL: "http://localstack:4566"
AWS_S3_USE_PATH_STYLE: true
DISABLE_AUTH: ${DISABLE_AUTH:-true}
COGNITO_USER_POOL_ID: "fillin"
COGNITO_CLIENT_SECRET: "fillin"
COGNITO_DOMAIN: "fillin"
COGNITO_CLIENT_ID: "fillin"
networks:
- server-network
query_api:
image: queryorchestration:debug
command: ["/dlv", "exec", "./queryAPI", "--listen=:2345", "--headless", "--api-version=2", "--accept-multiclient", "--continue"]
depends_on:
localstack:
condition: service_healthy
db:
condition: service_healthy
permit_pdp:
condition: service_healthy
ports:
- "8080:8080"
- "2345:2345"
expose:
- 8080
- 2345
env_file:
- path: permit.env
required: false
environment:
LOG_LEVEL: DEBUG
DEBUG: true
CLIENT_SYNC_URL: ${CLIENT_SYNC_URL}
QUERY_VERSION_SYNC_URL: ${QUERY_VERSION_SYNC_URL}
AWS_ACCESS_KEY_ID: ${AWS_ACCESS_KEY_ID}
AWS_SECRET_ACCESS_KEY: ${AWS_SECRET_ACCESS_KEY}
AWS_SESSION_TOKEN: ${AWS_SESSION_TOKEN}
AWS_REGION: ${AWS_REGION}
PGUSER: ${PGUSER}
PGPASSWORD: ${PGPASSWORD}
PGHOST: db
PGPORT: 5432
PGDATABASE: ${PGDATABASE}
DB_NOSSL: ${DB_NOSSL}
AWS_ENDPOINT_URL: "http://localstack:4566"
AWS_S3_USE_PATH_STYLE: true
DISABLE_AUTH: ${DISABLE_AUTH:-true}
NO_JWT_VALIDATION: ${NO_JWT_VALIDATION:-false}
COGNITO_USER_POOL_ID: ${COGNITO_USER_POOL_ID}
COGNITO_CLIENT_SECRET: ${COGNITO_CLIENT_SECRET}
COGNITO_DOMAIN: ${COGNITO_DOMAIN}
COGNITO_CLIENT_ID: ${COGNITO_CLIENT_ID}
COGNITO_REGION: ${COGNITO_REGION}
PERMIT_IO_PDP_URL: http://permit_pdp:7000
PERMIT_IO_TENANT: ${PERMIT_IO_TENANT}
BUCKET: ${BUCKET_IN}
CHATBOT_SERVICE_URL: ${CHATBOT_SERVICE_URL}
CHATBOT_API_KEY: ${CHATBOT_API_KEY}
CHATBOT_REQUEST_TIMEOUT_SECONDS: ${CHATBOT_REQUEST_TIMEOUT_SECONDS}
CHATBOT_MAX_TURN_CHARS: ${CHATBOT_MAX_TURN_CHARS}
CHATBOT_RECENT_TURNS: ${CHATBOT_RECENT_TURNS}
networks:
- server-network
client_sync_runner:
image: queryorchestration:latest
command: ["./clientSyncRunner"]
depends_on:
localstack:
condition: service_healthy
db:
condition: service_healthy
ports:
- "8089:8080"
expose:
- 8080
environment:
LOG_LEVEL: DEBUG
QUEUE_URL: ${CLIENT_SYNC_URL}
DOCUMENT_SYNC_URL: ${DOCUMENT_SYNC_URL}
AWS_ACCESS_KEY_ID: ${AWS_ACCESS_KEY_ID}
AWS_SECRET_ACCESS_KEY: ${AWS_SECRET_ACCESS_KEY}
AWS_SESSION_TOKEN: ${AWS_SESSION_TOKEN}
AWS_REGION: ${AWS_REGION}
PGUSER: ${PGUSER}
PGPASSWORD: ${PGPASSWORD}
PGHOST: db
PGPORT: 5432
PGDATABASE: ${PGDATABASE}
DB_NOSSL: ${DB_NOSSL}
AWS_ENDPOINT_URL: "http://localstack:4566"
AWS_S3_USE_PATH_STYLE: true
DISABLE_AUTH: ${DISABLE_AUTH:-true}
COGNITO_USER_POOL_ID: "fillin"
COGNITO_CLIENT_SECRET: "fillin"
COGNITO_DOMAIN: "fillin"
COGNITO_CLIENT_ID: "fillin"
networks:
- server-network
query_version_sync_runner:
image: queryorchestration:latest
command: ["./queryVersionSyncRunner"]
depends_on:
localstack:
condition: service_healthy
db:
condition: service_healthy
ports:
- "8090:8080"
expose:
- 8080
environment:
LOG_LEVEL: DEBUG
QUEUE_URL: ${QUERY_VERSION_SYNC_URL}
CLIENT_SYNC_URL: ${CLIENT_SYNC_URL}
AWS_ACCESS_KEY_ID: ${AWS_ACCESS_KEY_ID}
AWS_SECRET_ACCESS_KEY: ${AWS_SECRET_ACCESS_KEY}
AWS_SESSION_TOKEN: ${AWS_SESSION_TOKEN}
AWS_REGION: ${AWS_REGION}
PGUSER: ${PGUSER}
PGPASSWORD: ${PGPASSWORD}
PGHOST: db
PGPORT: 5432
PGDATABASE: ${PGDATABASE}
DB_NOSSL: ${DB_NOSSL}
AWS_ENDPOINT_URL: "http://localstack:4566"
AWS_S3_USE_PATH_STYLE: true
DISABLE_AUTH: ${DISABLE_AUTH:-true}
COGNITO_USER_POOL_ID: "fillin"
COGNITO_CLIENT_SECRET: "fillin"
COGNITO_DOMAIN: "fillin"
COGNITO_CLIENT_ID: "fillin"
networks:
- server-network
permit_pdp:
image: permitio/pdp-v2:0.9.9
ports:
- "7766:7000"
expose:
- 7000
env_file:
- path: permit.env
required: false
healthcheck:
test: ["CMD", "wget", "--spider", "-q", "http://localhost:7000/health"]
interval: 5s
timeout: 5s
retries: 10
start_period: 10s
networks:
- server-network
prometheus:
image: prom/prometheus:latest
ports:
- "9091:9090"
volumes:
- ./prometheus.allmetrics.yaml:/etc/prometheus/prometheus.yml
healthcheck:
test: ["CMD", "wget", "--spider", "-q", "http://localhost:9090/-/healthy"]
interval: 30s
timeout: 10s
retries: 3
start_period: 30s
networks:
- server-network
db:
image: postgres:17.2-alpine3.21
ports:
- 5432:5432
environment:
POSTGRES_DB: ${PGDATABASE}
POSTGRES_PASSWORD: ${PGPASSWORD}
POSTGRES_USER: ${PGUSER}
expose:
- 5432
volumes:
- db-data:/var/lib/postgresql/data
healthcheck:
test: ["CMD", "sh", "-c", "pg_isready -U ${PGUSER} && psql -U ${PGUSER} -c 'SELECT 1'"]
interval: 500ms
timeout: 5s
retries: 50
networks:
- server-network
localstack:
image: localstack/localstack:4.1.0
ports:
- 4566:4566
environment:
AWS_ACCESS_KEY_ID: ${AWS_ACCESS_KEY_ID}
AWS_SECRET_ACCESS_KEY: ${AWS_SECRET_ACCESS_KEY}
AWS_SESSION_TOKEN: ${AWS_SESSION_TOKEN}
AWS_REGION: ${AWS_REGION}
SERVICES: "s3,sqs"
SKIP_SSL_CERT_DOWNLOAD: "1"
LOCALSTACK_HOST: localstack
SQS_ENDPOINT_STRATEGY: "path"
EAGER_SERVICE_LOADING: "1"
expose:
- 4566
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:4566/_localstack/health"]
interval: 500ms
timeout: 5s
retries: 50
networks:
- server-network
volumes:
db-data:
networks:
server-network: