Fix OpenClaw template: secrets, auto-detect origin, all AI providers#441
Open
GeoSegun wants to merge 7 commits into
Open
Fix OpenClaw template: secrets, auto-detect origin, all AI providers#441GeoSegun wants to merge 7 commits into
GeoSegun wants to merge 7 commits into
Conversation
added 7 commits
May 27, 2026 00:22
…pdated image ref, weight 10
…rol UI, troubleshooting
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Changes
1. Fixed missing
OPENCLAW_GATEWAY_TOKENThe token was missing from the deployment's environment variables and was incorrectly configured as a secret attachment with no
secret_name. The deployment on the platform has been corrected. The recipe now defines it as a proper secret slot.2. Updated recipe to new schema format (
saturn.json)2024.04.01{ type, spec }format matching the Saturn Cloud APIsaturncloud/saturn-python:2025.05.01OPENCLAW_GATEWAY_TOKEN, API keys) moved fromenvironment_variablestosecrets[]public: true,reference,reference_type,on_restartfieldsstart_dind,token_scope,routes: [],viewers: []3. Auto-detect
OPENCLAW_PUBLIC_ORIGIN(bootstrap-openclaw.sh)Previously, users had to manually copy their deployment URL into
OPENCLAW_PUBLIC_ORIGINbefore starting. If they forgot, OpenClaw rejected all Control UI connections with an origin error that gave no useful hint about the cause.Investigation: We first checked what environment variables Saturn Cloud injects into containers. Workspaces get
SATURN_JUPYTER_BASE_DOMAIN(a Jupyter-specific variable), but deployments do not. Deployments getSATURN_TOKEN(a JWT) andSATURN_BASE_URLinstead.Solution: The bootstrap script now auto-detects the public origin at startup by:
SATURN_TOKENJWT payload to extract the deployment ID from theresourceclaimhttps://app.community.saturnenterprise.io/api/deployments/) to retrieve the deployment's public URLgateway.controlUi.allowedOriginsIf
OPENCLAW_PUBLIC_ORIGINis explicitly set to a real URL, that takes precedence (custom domain support).OPENCLAW_PUBLIC_ORIGINin the recipe is now blank — users never need to touch it.Tested by deleting the deployment entirely, creating a fresh one from the recipe with
OPENCLAW_PUBLIC_ORIGINblank, and starting it — auto-detection worked correctly on first boot.4. All AI providers exposed in the recipe
The template previously only showed
ANTHROPIC_API_KEYas a secret slot. OpenClaw supports 5 providers but users had no way to discover that from the template UI.Added secret slots for all supported providers, each with a clear description:
ANTHROPIC_API_KEYOPENAI_API_KEYGEMINI_API_KEYMISTRAL_API_KEYOPENROUTER_API_KEYOnly one needs to be linked — the bootstrap script auto-detects which key is set.
5. Updated template registry (title + weight)
OpenClaw (Deployment)→OpenClaw Beta1950→10(moves to top of template list)6. Rewrote README with full user journey
Complete rewrite covering the entire user experience from template discovery to using OpenClaw:
openssl rand -hex 32for the gateway token, all 5 provider options with their default modelsTesting
Tested end-to-end on a fresh deployment (deleted and re-created from the recipe):
OPENCLAW_PUBLIC_ORIGINleft blank — Saturn API auto-detection picked up the correct URL on first boot