451da3d26d
Support for service accounts with static credentials * feature complete * tests and docs * lint fix
474 lines
13 KiB
YAML
474 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}
|
|
COGNITO_SVC_USER_POOL_ID: ${COGNITO_SVC_USER_POOL_ID:-}
|
|
COGNITO_SVC_JWKS_URL: ${COGNITO_SVC_JWKS_URL:-}
|
|
COGNITO_SVC_APP_CLIENT_ID: ${COGNITO_SVC_APP_CLIENT_ID:-}
|
|
PERMIT_IO_PDP_URL: http://permit_pdp:7000
|
|
PERMIT_IO_TENANT: ${PERMIT_IO_TENANT}
|
|
LOCAL_DEV_CLIENT_ID: ${LOCAL_DEV_CLIENT_ID}
|
|
LOCAL_DEV_CLIENT_NAME: ${LOCAL_DEV_CLIENT_NAME}
|
|
LOCAL_DEV_EULA_VERSION: ${LOCAL_DEV_EULA_VERSION}
|
|
LOCAL_DEV_EULA_TITLE: ${LOCAL_DEV_EULA_TITLE}
|
|
LOCAL_DEV_EULA_AUTO_ACCEPT_SUBJECT: ${LOCAL_DEV_EULA_AUTO_ACCEPT_SUBJECT}
|
|
LOCAL_DEV_EULA_AUTO_ACCEPT_EMAIL: ${LOCAL_DEV_EULA_AUTO_ACCEPT_EMAIL}
|
|
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:
|