docs: Multiple custom sandbox images with warm runtime pools - #609
Open
jpshackelford wants to merge 7 commits into
Open
jpshackelford wants to merge 7 commits into
jpshackelford wants to merge 7 commits into
Conversation
…oach - Replaces single-image legacy approach with multi-image warm runtime pool documentation - Key benefits: no restarts/redeployments, dynamic updates, multiple images - Complete guide to authentication, configuration, and usage - Includes working shell scripts for managing warm runtime configs - Documents three methods for starting conversations (API, SDK, Web UI) - Adds image lifecycle management strategies for handling updates and resume - Covers troubleshooting for common issues (auth, image pulls, resume failures) Co-authored-by: openhands <openhands@all-hands.dev>
|
Preview deployment for your docs. Learn more about Mintlify Previews.
💡 Tip: Enable Automations to automatically generate PRs for you. |
…tom-images # Conflicts: # enterprise/custom-sandbox-image.mdx
…tom-images # Conflicts: # enterprise/custom-sandbox-image.mdx
Correct four inaccuracies found by cross-referencing the runtime-api and OpenHands-Cloud codebases: **Admin password (Step 1):** - Replicated: password is auto-generated at install (RandomString 32), already in the secret. The script reads it automatically. No kubectl-patch step is needed or appropriate — the Admin Console manages the secret and overwrites kubectl-patches on every deploy. - Helm: password was created manually during installation (kubectl create secret generic admin-password). No setup step required; added rotation instructions. - Both tabs now give the correct "how to change" path for each install type. **Overlay vs. legacy mode (How It Works):** - Replicated always sets WARM_RUNTIME_CONFIG_OVERLAY=1 via openhands.yaml. API configs layer on top of the ConfigMap rather than replacing it; the installer's v1_current pool stays live. The "first save takes over" warning was wrong. - Helm uses legacy mode by default (env var not set in chart values). The takeover warning is correct there. Added opt-in instructions for overlay mode. - Converted to Tabs so each install type gets accurate framing. **Step 3 (re-declare v1_current):** - Added inline Note: on Replicated the installer's v1_current pool was never replaced, so re-saving it is optional (only needed to change the image). On Helm it remains required. **Reverting section:** - Added Note clarifying that on Replicated, deleting all API configs lifts overrides but the ConfigMap entries (never replaced) continue as sole source. On Helm, deleting all API configs restores ConfigMap management. **Troubleshooting:** - Fixed wrong claim that the password is reset after every Admin Console deploy. It only changes if updated via the Admin Console. - Fixed cache time: app server 60 s + UI up to 5 min; advise navigating away and back to force a fresh fetch. **API Reference:** - Added missing fuse_s3_mount and source fields to the GET response description. - Corrected "only DB configs listed" to distinguish overlay mode (full effective set, Replicated) from legacy mode (DB only, Helm default). **Configuration Format table:** - Added fuse_s3_mount field with description of its FUSE/PVC semantics. Co-authored-by: openhands <openhands@all-hands.dev>
Results from end-to-end testing of PR #609 on replicated-test-03. Tests cover: basic lifecycle, overlay semantics, real image pull. .pr/ directory is temporary and will be removed before merge. Co-authored-by: openhands <openhands@all-hands.dev>
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.
Summary
Replaces the legacy single-image custom sandbox documentation with comprehensive guide for the new warm runtime pool approach (PR #538 in runtime-api).
Key Changes
What's New
Documentation Sections
Introduction & Benefits
Prerequisites
Managing Warm Runtime Configurations
manage-warm-runtimes.shStarting Conversations
Verifying and Monitoring
Image Lifecycle Management ⭐ NEW
API Reference
Migration Guide
Related Work
Technical Details
Authentication: Documents admin password setup via kubectl (password not auto-generated in Replicated VM installs)
Script included: Full working
manage-warm-runtimes.sh(no placeholders)—runs inside runtime-api pod via kubectl execImage lifecycle: Critical guidance on:
Testing
Migration Impact
The new approach coexists with the legacy Replicated Admin Console single-image setting. Users can:
This PR was created by an AI assistant (OpenHands) on behalf of @jpshackelford.