Conversation
* Update action (#6571) * action * action * action * action * action * build: integrate OpenSandbox as Agent Execution Sandbox # Conflicts: # deploy/args.json # deploy/dev/docker-compose.cn.yml # deploy/dev/docker-compose.yml # deploy/docker/cn/docker-compose.milvus.yml # deploy/docker/cn/docker-compose.oceanbase.yml # deploy/docker/cn/docker-compose.pg.yml # deploy/docker/cn/docker-compose.seekdb.yml # deploy/docker/cn/docker-compose.zilliz.yml # deploy/docker/global/docker-compose.milvus.yml # deploy/docker/global/docker-compose.oceanbase.yml # deploy/docker/global/docker-compose.pg.yml # deploy/docker/global/docker-compose.seekdb.yml # deploy/docker/global/docker-compose.ziliiz.yml # deploy/templates/docker-compose.prod.yml # document/public/deploy/docker/cn/docker-compose.milvus.yml # document/public/deploy/docker/cn/docker-compose.oceanbase.yml # document/public/deploy/docker/cn/docker-compose.pg.yml # document/public/deploy/docker/cn/docker-compose.seekdb.yml # document/public/deploy/docker/cn/docker-compose.zilliz.yml # document/public/deploy/docker/global/docker-compose.milvus.yml # document/public/deploy/docker/global/docker-compose.oceanbase.yml # document/public/deploy/docker/global/docker-compose.pg.yml # document/public/deploy/docker/global/docker-compose.seekdb.yml # document/public/deploy/docker/global/docker-compose.ziliiz.yml * remove invalid action --------- Co-authored-by: Archer <545436317@qq.com> Co-authored-by: xqvvu <whoeverimf5@gmail.com>
Preview sandbox Image: |
Preview fastgpt Image: |
Preview mcp_server Image: |
Coverage Report
File CoverageNo changed files found. |
Contributor
There was a problem hiding this comment.
Pull request overview
This PR adds OpenSandbox deployment support alongside updates to CI preview workflows, enabling both docker-compose-based production deployment and a standalone Helm chart for deploying the OpenSandbox controller/server on Kubernetes.
Changes:
- Added
docker-compose.prod.copy.ymltemplate integratingopensandbox-serverinto the existing FastGPT production compose stack. - Introduced a full Helm chart under
deploy/helm/opensandbox/(CRDs, templates, values, scripts, examples, docs) for deploying OpenSandbox Controller + Server and optionally creating Pools. - Updated preview GitHub Actions workflows and
deploy/args.jsonto support standardized Aliyun registry secret passing and OpenSandbox image metadata.
Reviewed changes
Copilot reviewed 46 out of 46 changed files in this pull request and generated 14 comments.
Show a summary per file
| File | Description |
|---|---|
| deploy/templates/docker-compose.prod.copy.yml | New production compose template including OpenSandbox server and config. |
| deploy/helm/opensandbox/values.yaml | Default Helm values for controller/server/metrics/RBAC/pools. |
| deploy/helm/opensandbox/values-e2e.yaml | Minimal Helm values intended for E2E testing. |
| deploy/helm/opensandbox/templates/servicemonitor.yaml | Optional ServiceMonitor for controller metrics scraping. |
| deploy/helm/opensandbox/templates/serviceaccount.yaml | ServiceAccount creation for controller/server. |
| deploy/helm/opensandbox/templates/server-service.yaml | Kubernetes Service for the OpenSandbox server. |
| deploy/helm/opensandbox/templates/server-ingress.yaml | Optional Ingress for the server. |
| deploy/helm/opensandbox/templates/server-deployment.yaml | Deployment for the OpenSandbox server with ConfigMap config. |
| deploy/helm/opensandbox/templates/server-configmap.yaml | ConfigMap rendering config.toml (+ BatchSandbox template file). |
| deploy/helm/opensandbox/templates/pools.yaml | Generates Pool CRs from values.yaml. |
| deploy/helm/opensandbox/templates/poddisruptionbudget.yaml | Optional PDB for controller HA deployments. |
| deploy/helm/opensandbox/templates/metrics-service.yaml | Service for controller metrics endpoint. |
| deploy/helm/opensandbox/templates/metrics-rbac.yaml | ClusterRoles/Bindings related to metrics auth and metrics access. |
| deploy/helm/opensandbox/templates/leader-election-rolebinding.yaml | RBAC RoleBinding for leader election. |
| deploy/helm/opensandbox/templates/leader-election-role.yaml | RBAC Role for leader election. |
| deploy/helm/opensandbox/templates/extra-roles.yaml | Optional end-user viewer/editor ClusterRoles for CR management. |
| deploy/helm/opensandbox/templates/deployment.yaml | Deployment for the controller manager. |
| deploy/helm/opensandbox/templates/clusterrolebinding.yaml | ClusterRoleBinding for controller permissions. |
| deploy/helm/opensandbox/templates/clusterrole.yaml | ClusterRole rules for controller reconciliation. |
| deploy/helm/opensandbox/templates/_helpers.tpl | Helm helper templates for names/labels/images/namespace. |
| deploy/helm/opensandbox/templates/NOTES.txt | Post-install guidance shown by Helm. |
| deploy/helm/opensandbox/scripts/uninstall.sh | Helper script to uninstall the Helm release and optionally CRDs/namespace. |
| deploy/helm/opensandbox/scripts/install.sh | Interactive installer script for deploying the chart. |
| deploy/helm/opensandbox/scripts/e2e-test.sh | E2E validation script (install → verify → SDK test → uninstall). |
| deploy/helm/opensandbox/scripts/README.md | Documentation for install/uninstall/e2e scripts. |
| deploy/helm/opensandbox/examples/pool-sdk-with-tasks.yaml | Example Pool manifest supporting SDK + task-executor. |
| deploy/helm/opensandbox/examples/pool-sdk-compatible.yaml | Example Pool manifest supporting SDK via execd. |
| deploy/helm/opensandbox/examples/pool-kubectl-only.yaml | Example Pool manifest for kubectl-only workflows. |
| deploy/helm/opensandbox/examples/pool-examples.md | Extended Pool configuration documentation. |
| deploy/helm/opensandbox/examples/pool-agent-production.yaml | Production-oriented Pool example with extensive inline guidance. |
| deploy/helm/opensandbox/examples/batchsandbox-with-tasks.yaml | Example BatchSandbox manifest executing heterogeneous tasks. |
| deploy/helm/opensandbox/examples/batchsandbox-basic.yaml | Example BatchSandbox manifest for non-pooled mode. |
| deploy/helm/opensandbox/examples/README.md | Examples landing page + usage scenarios and guidance. |
| deploy/helm/opensandbox/examples/DIRECTORY_STRUCTURE.md | Explains the examples directory layout and rationale. |
| deploy/helm/opensandbox/crds/sandbox.opensandbox.io_pools.yaml | Pool CRD definition (capacitySpec + template). |
| deploy/helm/opensandbox/crds/sandbox.opensandbox.io_batchsandboxes.yaml | BatchSandbox CRD definition (poolRef/template/taskTemplate). |
| deploy/helm/opensandbox/README.md | Helm chart README (install/configuration/SDK usage). |
| deploy/helm/opensandbox/Makefile | Common Helm chart dev/test targets (lint/template/install/etc.). |
| deploy/helm/opensandbox/Chart.yaml | Chart metadata (name/version/appVersion). |
| deploy/helm/opensandbox/CHANGELOG.md | Initial chart changelog. |
| deploy/helm/opensandbox/.helmignore | Standard Helm ignore patterns. |
| deploy/args.json | Adds OpenSandbox images/tags to deploy image metadata. |
| .github/workflows/preview-fastgpt-push.yml | Reusable workflow: push preview images with standardized secret names. |
| .github/workflows/preview-fastgpt-build.yml | Build preview images; passes secrets explicitly to reusable push workflow. |
| .github/workflows/preview-docs-push.yml | Reusable workflow: push docs image + deploy preview; standardized secrets. |
| .github/workflows/preview-docs-build.yml | Docs image build; passes required secrets + job output to push workflow. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
You can also share your feedback on Copilot code review. Take the survey.
Comment on lines
+328
to
+330
| # Create Pool admin role | ||
| poolAdmin: | ||
| enabled: true |
Comment on lines
+295
to
+298
| minBufferSize: 2 | ||
| maxBufferSize: 5 | ||
| capacity: 10 | ||
| sandboxTemplate: |
|
|
||
| ## 🎉 Important Update | ||
|
|
||
| **Starting from version v0.2.0, the Helm chart deploys an agent-pool by default** without manual creation! |
Comment on lines
+17
to
+19
| kubectl delete configmap sdk-test-script -n "$NAMESPACE" --ignore-not-found=true > /dev/null 2>&1 || true | ||
| kubectl delete job sdk-test-job -n "$NAMESPACE" --ignore-not-found=true > /dev/null 2>&1 || true | ||
| kubectl delete pod server-health-check -n "$NAMESPACE" --ignore-not-found=true > /dev/null 2>&1 || true |
Comment on lines
+376
to
+384
| - **Pool Usage Guide**: `/data/home/cz/sandbox-test/pool-analysis/opensandbox_pool_usage_guide.md` | ||
| - **Architecture Diagrams**: `/data/home/cz/sandbox-test/pool-analysis/pool_architecture.txt` | ||
| - **Verification Test Scripts**: `/data/home/cz/sandbox-test/pool-analysis/test_pool_behavior.py` | ||
|
|
||
| ### Helm Deployment Configuration | ||
|
|
||
| - **Main values configuration**: `/data/home/cz/OpenSandbox/kubernetes/helm-chart/values.yaml` | ||
| - **E2E test configuration**: `/data/home/cz/OpenSandbox/kubernetes/helm-chart/values-e2e.yaml` | ||
| - **Main README**: `/data/home/cz/OpenSandbox/kubernetes/README.md` |
Comment on lines
+78
to
+84
| minBufferSize: 2 | ||
| maxBufferSize: 5 | ||
| capacity: 10 | ||
| sandboxTemplate: | ||
| spec: | ||
| image: ubuntu:latest | ||
| command: ["sleep", "infinity"] |
| spec: | ||
| replicas: 3 | ||
| ttlSecondsAfterFinished: 3600 | ||
| sandboxTemplate: |
Comment on lines
+30
to
+31
| # - /data/home/cz/sandbox-test/pool-analysis/opensandbox_pool_usage_guide.md | ||
| # - /data/home/cz/OpenSandbox/kubernetes/helm-chart/values.yaml (查看 pools 配置) |
Comment on lines
+52
to
+53
| volumes: | ||
| - ./mongo/data:/data/db |
Comment on lines
+133
to
+137
| extra_hosts: | ||
| - 'host.docker.internal:host-gateway' # Enable access to host machine | ||
| volumes: | ||
| - /var/run/docker.sock:/var/run/docker.sock | ||
| configs: |
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.
No description provided.