Files
Agentswarm/swarm-controller/k8s/configmap.yaml
T
FastheiandClaude Opus 4.8 25d632de0c
CI / tests (push) Failing after 22s
CI / guardrails (push) Failing after 31s
feat(swarm-controller): replace opensandbox-mcp with daytona-mcp sidecar
Swap the OpenSandbox cloud-sandbox integration for Daytona:
- config: drop opensandbox_server_url; add daytona_api_url +
  daytona_api_key_secret (KV secret NAME, value never in config/ConfigMap)
  + daytona_mcp_image.
- cloud_init: when daytona enabled, add a daytona-mcp sidecar (daytona CLI
  wrapped by mcp-proxy as Streamable HTTP :8090) to each tenant compose,
  resolve DAYTONA_API_KEY from Key Vault on-VM into .env, and register it as a
  swarm-scope MCP server + install for lead+workers. Remove all opensandbox
  code (launcher monkey-patch, register block, compose service, urlparse).
- k8s/configmap: drop opensandbox, add DAYTONA_API_URL + DAYTONA_API_KEY_SECRET.
- daytona-mcp/Dockerfile: sidecar image (daytona CLI + mcp-proxy@6.5.2).
- tests: daytona sidecar/registration/gating coverage.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-26 19:32:41 +08:00

41 lines
1.9 KiB
YAML

# Non-secret config. The service token lives in the swarm-controller-secrets
# Secret (create out-of-band; never commit it).
apiVersion: v1
kind: ConfigMap
metadata:
name: swarm-controller-config
namespace: swarm-controller
data:
AZURE_SUBSCRIPTION_ID: "9f25d157-56eb-449f-9e67-c657c04b8b79"
AZURE_LOCATION: "southeastasia"
VM_RESOURCE_GROUP: "heicode-services-test"
CONTROLLER_UAMI_CLIENT_ID: "b9fa1c07-9364-4caa-96e5-cc7e81f64713"
CONTROLLER_UAMI_RESOURCE_ID: "/subscriptions/9f25d157-56eb-449f-9e67-c657c04b8b79/resourcegroups/heicode-services-test/providers/Microsoft.ManagedIdentity/userAssignedIdentities/swarm-controller-id"
COSMOS_ENDPOINT: "https://heicode.documents.azure.com:443/"
COSMOS_DATABASE: "swarm-controller"
VM_VNET_NAME: "swarm-vnet"
VM_VNET_RESOURCE_GROUP: "heicode-services-test"
VM_SUBNET_NAME: "swarm-vms"
VM_NSG_NAME: "swarm-vms-nsg"
VM_SIZE_DEFAULT: "Standard_D4s_v5"
VM_SIZE_PAYGO: "Standard_D4s_v5"
VM_ADMIN_USERNAME: "heicode"
SWARM_API_IMAGE: "ghcr.io/desplega-ai/agent-swarm:latest"
SWARM_WORKER_IMAGE: "ghcr.io/desplega-ai/agent-swarm-worker:latest"
SWARM_API_PORT: "3013"
# Model-call gateway is hardcoded in code (cloud_init.MODEL_GATEWAY_BASE_URL),
# not configurable here.
LITESTREAM_STORAGE_ACCOUNT: "heicodetest"
LITESTREAM_CONTAINER: "swarm-litestream"
LITESTREAM_STORAGE_KEY_SECRET: "swarm-litestream-storage-key"
LITESTREAM_KEYVAULT_URL: "https://heicode-vault-test.vault.azure.net/"
IDLE_TIMEOUT_SECONDS: "900"
REAPER_INTERVAL_SECONDS: "300"
REAPER_ENABLED: "true"
LOG_LEVEL: "INFO"
# Daytona cloud-sandbox MCP. Both set → a daytona-mcp sidecar is added to each
# tenant swarm and registered as a swarm-scope MCP server. The API key value is
# NOT here — DAYTONA_API_KEY_SECRET names a Key Vault secret resolved on-VM.
DAYTONA_API_URL: "https://app.daytona.io/api"
DAYTONA_API_KEY_SECRET: "swarm-daytona-key"