From 386362673c69711a9ccf4f96cc1a64321f77fe93 Mon Sep 17 00:00:00 2001 From: Sean Keever <33592180+swkeever@users.noreply.github.com> Date: Fri, 12 Jun 2026 17:00:48 -0400 Subject: [PATCH] fix(localmode): include dynamodb in embedded compose --- .../assets/docker-compose.template.yml | 37 ++++++++++++++++++- 1 file changed, 36 insertions(+), 1 deletion(-) diff --git a/internal/localmode/assets/docker-compose.template.yml b/internal/localmode/assets/docker-compose.template.yml index 9d7a3f3..0de6e2b 100644 --- a/internal/localmode/assets/docker-compose.template.yml +++ b/internal/localmode/assets/docker-compose.template.yml @@ -1,4 +1,4 @@ -# Generated by scripts/generate-volcano-cli-localmode-assets from cmd/volcano/commands/docker-compose.template.yml. Do not edit by hand. +# Generated by scripts/generate-volcano-cli-localmode-assets from infrastructure/local-mode/docker-compose.template.yml. Do not edit by hand. # Regenerate this file from the source local-mode Compose template. services: @@ -36,6 +36,32 @@ services: timeout: 5s retries: 5 + dynamodb: + image: ${VOLCANO_DYNAMODB_IMAGE:-amazon/dynamodb-local:latest} + container_name: volcano-dynamodb + user: root + command: ["-jar", "DynamoDBLocal.jar", "-sharedDb", "-dbPath", "/home/dynamodblocal/data"] + working_dir: /home/dynamodblocal + ports: + - "8003:8000" + volumes: + - volcano-dynamodb:/home/dynamodblocal/data + networks: + - volcano-internal + + # Local SMTP catch-all for testing auth emails. The seeded default project's + # auth_config points its smtp_host at "mailpit" so signup confirmations, + # password reset emails, etc. land in Mailpit's inbox at http://localhost:8025 + # instead of being discarded. + mailpit: + image: ${VOLCANO_MAILPIT_IMAGE:-axllent/mailpit:v1.30} + container_name: volcano-mailpit + ports: + - "1025:1025" # SMTP + - "8025:8025" # Web UI — view captured emails here + networks: + - volcano-internal + server: image: ${VOLCANO_IMAGE:-kong/volcano:latest} container_name: volcano-server @@ -44,11 +70,19 @@ services: condition: service_healthy redis: condition: service_healthy + dynamodb: + condition: service_started environment: # Core settings LOCAL_MODE: "true" DATABASE_URL: postgres://volcano:volcano@postgres:5432/volcano?sslmode=disable REDIS_URL: redis://redis:6379 + DYNAMODB_ENDPOINT: http://dynamodb:8000 + FUNCTION_INVOCATIONS_TABLE_NAME: volcano-local-function-invocations + LOG_EVENTS_HOT_PATH_TABLE_NAME: volcano-local-log-events + AWS_REGION: us-east-1 + AWS_ACCESS_KEY_ID: local + AWS_SECRET_ACCESS_KEY: local REDIS_TIMEOUT: "60" USAGE_SYNC_INTERVAL: "30" USAGE_SYNC_LOCK_TTL: "30" @@ -135,4 +169,5 @@ networks: volumes: volcano-db: volcano-redis: + volcano-dynamodb: volcano-storage: