Skip to content

fix(hosting): bundle SeaweedFS store in gh.local and gh.ssl variants - #5315

Merged
mmabrouk merged 1 commit into
big-agentsfrom
fix/seaweedfs-gh-variants
Jul 14, 2026
Merged

fix(hosting): bundle SeaweedFS store in gh.local and gh.ssl variants#5315
mmabrouk merged 1 commit into
big-agentsfrom
fix/seaweedfs-gh-variants

Conversation

@mmabrouk

Copy link
Copy Markdown
Member

What and why

Merged PR #5313 bundled the SeaweedFS durable object store into the published gh compose, but only added the seaweedfs service to docker-compose.gh.yml. It also flipped the gh env examples to default AGENTA_STORE_ENDPOINT_URL=http://seaweedfs:8333.

The three other gh-family compose files reuse the same .env.*.gh file, so they inherited that endpoint default — but shipped no seaweedfs service. On those stages the store now points at a phantom host: runner mount signing returns 503 and agent file writes are silently lost.

This adds the identical bundled store to the affected variants.

Changes

For each of the three compose files below, the same three pieces from docker-compose.gh.yml were replicated verbatim (adapting only the network name and the env_file default):

  1. the seaweedfs: service block (image chrislusf/seaweedfs:4.37, loopback-only ${AGENTA_STORE_PORT:-127.0.0.1:8333}:8333, -ip=seaweedfs, the s3.json/iam.json heredoc, and the healthcheck),
  2. seaweedfs: {condition: service_healthy} on the api service's depends_on,
  3. a top-level seaweed-data: volume.
  • hosting/docker-compose/oss/docker-compose.gh.local.yml — network agenta-oss-gh-network, env .env.oss.gh
  • hosting/docker-compose/oss/docker-compose.gh.ssl.yml — network agenta-gh-ssl-network, env .env.oss.gh
  • hosting/docker-compose/ee/docker-compose.gh.local.yml — network agenta-ee-gh-network, env .env.ee.gh

There is no ee/docker-compose.gh.ssl.yml, so none was created.

Plus a multi-replica JWT note (2 files): near the commented AGENTA_STORE_JWT_PRIVATE_KEY line in env.oss.gh.example and env.ee.gh.example, explaining that the bundled store's web-identity path mints an ephemeral keypair per api process (a single api replica works with the key unset), and that scaling the api past one replica requires the same PEM on every replica or STS minting fails intermittently.

Verification

docker compose -f <file> --env-file <env-example> config parses cleanly for all three files. Rendered output confirms per file:

file seaweedfs image store port api depends_on seaweedfs seaweed-data volume
oss gh.local chrislusf/seaweedfs:4.37 127.0.0.1:8333:8333 service_healthy defined
oss gh.ssl chrislusf/seaweedfs:4.37 127.0.0.1:8333:8333 service_healthy defined
ee gh.local chrislusf/seaweedfs:4.37 127.0.0.1:8333:8333 service_healthy defined

(The ee parse needs ENV_FILE=./env.ee.gh.example since .env.ee.gh is not committed; that is pre-existing and unrelated to this change.)

Coordination

@jp-agenta is concurrently fixing the runner dockerfile: line in these same three compose files (fix/runner-dockerfile-gh-path, #5314). Those hunks are in the runner service region; the hunks here are the new seaweedfs service block, the api depends_on, and the seaweed-data volume — disjoint regions, no conflict encountered.

…ompose variants

PR #5313 added the bundled store and flipped the gh env default to http://seaweedfs:8333, but only added the service to docker-compose.gh.yml. The gh.local (build-from-source) and gh.ssl variants reuse the same gh env file, so they inherited the endpoint default with no such service on the network. Add the identical seaweedfs service, api depends_on, and seaweed-data volume to oss gh.local, oss gh.ssl, and ee gh.local, plus a multi-replica JWT note in the gh env examples.

Claude-Session: https://claude.ai/code/session_01XhENr63WL9npkKrJGnzDc1
@vercel

vercel Bot commented Jul 14, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
agenta-documentation Ready Ready Preview, Comment Jul 14, 2026 4:17pm

Request Review

@dosubot dosubot Bot added the size:XS This PR changes 0-9 lines, ignoring generated files. label Jul 14, 2026
@coderabbitai

coderabbitai Bot commented Jul 14, 2026

Copy link
Copy Markdown

Important

Review skipped

Auto reviews are disabled on base/target branches other than the default branch.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro Plus

Run ID: 12504e28-aff3-4032-adeb-03c33efb2d8b

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch fix/seaweedfs-gh-variants

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@dosubot dosubot Bot added the devops label Jul 14, 2026
@mmabrouk
mmabrouk merged commit 7df3256 into big-agents Jul 14, 2026
5 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

devops size:XS This PR changes 0-9 lines, ignoring generated files.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant