Service instance deployment and billing
Create an Agent Manager service instance in Alibaba Cloud Compute Nest. Before you deploy, confirm the costs, prerequisites, permissions, and parameters. After the deployment is complete, verify the platform URL and the administrator entry, and manage the Agent access gateway as described in this topic.
Service description
After the deployment is complete, use the administrator URL in the service instance outputs to complete the initialization. Then configure users, models, Agent types, sandbox settings, and token rate limits.
After a user creates an Agent instance, the user uses the access link to work with the Agent page, the terminal, and file upload.
The service is deployed into an existing ACS/ACK Sandbox cluster through Compute Nest and a Resource Orchestration Service (ROS) template.
The deployment creates or connects to Supabase, deploys the Agent Manager workloads, and creates the Agent access gateway, OSS storage, and the optional Alibaba Cloud AI Gateway based on the parameters.
Access path
After the deployment is complete, the access path is as follows:
Browser
-> Platform public SLB
-> Agent Manager frontend and API
-> Supabase / E2B Sandbox / OSS / AI GatewayIf Agent access authentication is enabled, the application access link of a newly created Agent first goes through the Agent access gateway. For details about the verification behavior of the gateway, see Agent access gateway.
Billing
An Agent Manager service instance orchestrates cloud resources through Compute Nest. The actual costs are subject to the real-time prices on the Create Service Instance page and the order confirmation page.
Before you create a service instance, confirm the following cost sources:
| Resource | Billing items |
| ACS/ACK Sandbox cluster | The computing, network, and storage costs of the existing Sandbox cluster. |
| Supabase | The costs of the database specification, storage, and public elastic IP addresses (EIPs) when you select Create Alibaba Cloud managed Supabase. |
| Load balancing | The load balancing resources used by the public entry of the platform and by the Agent access gateway. |
| OSS | The storage and request costs of the Skill data and backup data after you create an OSS bucket or reuse an existing one. |
| Alibaba Cloud AI Gateway | The gateway specification and public network traffic costs when you set Configure AI Gateway to Yes. |
| Logs, monitoring, and network traffic | Billed by the corresponding service when you use logs, monitoring, Internet bandwidth, or Cloud Data Transfer (CDT). |
Before you submit the order, confirm your account balance, your resource quotas, and resource availability in the target region. When you deploy as a RAM user, make sure that the RAM permissions meet the requirements in this topic.
Prerequisites
Sandbox cluster
Before you deploy Agent Manager, prepare an OpenClaw-ACS-Sandbox Cluster Edition service instance.
China site: Create an OpenClaw-ACS-Sandbox Cluster Edition instance
International site: Create an OpenClaw-ACS-Sandbox Cluster Edition instance
Network and vSwitch
If you plan to create Alibaba Cloud managed Supabase, prepare the cluster management vSwitch or a new vSwitch in the corresponding zone. Do not select the OpenClaw dedicated vSwitch. For details, see Step 5: Configure the network settings.
If you use an existing open source Supabase, prepare the browser access URL, the server access URL, the Anon Key, the Service Role Key, and the database connection string in advance.
Model invocation
You can configure models after the deployment. To connect to Alibaba Cloud AI Gateway automatically during the deployment, prepare the DashScope API key, the gateway specification, and the network type in advance.
If you enable AI Gateway during the deployment, get the DashScope API key from the Model Studio console in advance.
Make sure that the API key is never written into public tickets, chat logs, or code repositories.
RAM permissions
The RAM user or role that creates the service instance must have the permission to create Compute Nest service instances, and the permissions to operate the ROS, CS, VPC, ECS, OSS, and optional AI Gateway resources involved in the template. The required permissions are subject to the verification result on the Compute Nest creation page.
| Permission scope | Purpose |
| Compute Nest, ROS | Create and update service instances and stacks. |
| CS, VPC, ECS | Select the cluster, the VPC, and the vSwitch, and create the network resources that the template requires. |
| OSS | Create or use an OSS bucket to store Skill data and backup data. |
| API Gateway (APIG), logs, monitoring | Required only when you enable Alibaba Cloud AI Gateway or the related monitoring capabilities. |
The Alibaba Cloud Access Credential Source in the template is used by the platform to access resources such as OSS, SkillHub, and AI Gateway. It is not equivalent to the permissions of the RAM user that creates the service instance. When you select Use Existing AccessKey, grant the permissions to the corresponding RAM user or role based on the Reference Access Policy for Existing AccessKey displayed on the page.
Never write an AccessKey directly into documents, code repositories, or chat logs.
Deployment procedure
For the default value and the description of each parameter, see Deployment parameters.
Step 1: Go to the service instance creation page
Log on to the Alibaba Cloud Compute Nest console.
Search for and open the Agent Manager service.
Click Start Deployment or Create to go to the Create Service Instance page.
You can also search for Agent Manager in the service catalog. The service card provides the product page, the deployment documentation, and the entry to create a service instance.
Step 2: Complete the pre-deployment confirmation
Read the whitelist configuration confirmation instructions and select the check box. Instance upgrades and Skill mounting depend on the Agent Sandbox shared storage.
Before you enable the shared storage, make sure that you have evaluated the security responsibilities introduced by privileged containers and hostPath.
Step 3: Configure the Sandbox settings
For Sandbox Cluster ID (
ClusterId), select the Kubernetes cluster where the existing ACS Sandbox resides.For K8s Namespace (
PlatformNamespaceName), enter the platform namespace. The default value isopenclaw-platform.
If no cluster is available for selection, create an OpenClaw-ACS-Sandbox Cluster Edition service instance first.
Step 4: Configure the Supabase settings
For Supabase Source (SupabaseDeploymentMode), select CreateNew (create Alibaba Cloud managed Supabase) in a production environment. This is the recommended option.
If you select UseExistingOpenSource (use an existing open source Supabase), enter the public URL, the server access URL, the Anon Key, the Service Role Key, and the database connection string of the existing Supabase. This mode applies to compatibility verification, migration, or testing, and is not recommended for a production environment.
If the password in the database connection string contains special characters such as @, #, and %, perform URL encoding first.
Step 5: Configure the network settings
Select the zone where Supabase resides (ZoneId), the VPC (VpcId), and the vSwitch (VSwitchId).
If you select to create Alibaba Cloud managed Supabase, use the cluster management vSwitch or a regular vSwitch in the corresponding zone. Do not select the OpenClaw dedicated vSwitch.
Step 6: Configure Agent access authentication, OSS, AI Gateway, and access credentials
For Enable Agent Access Authentication (
EnableAgentGatewayAccess), keep the default enabled state unless you need to continue using the legacy E2B direct address.For Select an Existing or New OSS Bucket (
OssOption), select whether to create an OSS bucket or to reuse an existing one.To enable Alibaba Cloud AI Gateway during the deployment, set Configure AI Gateway (
EnableAIGateway) toYes, enter the DashScope API key, and select the gateway specification and the network access type.For Alibaba Cloud Access Credential Source (
(Recommended) Enable Agent access authentication in a production environment. After you verify that access through the gateway works, tighten the security groups, ACLs, or network policies of the E2B upstream entry.AccessKeyMode), select automatic creation of an AccessKey or use an existing AccessKey.
Step 7: Confirm the order and create the instance
Check the parameter completeness and the pricing details on the right side.
Click Next: Confirm Order.
Select the Compute Nest Terms of Service check box.
Click Create Now.
The deployment usually takes 5 to 10 minutes. Creating Supabase may take a longer time. During the deployment, view the status, the resources, and the deployment logs on the service instance details page. After the deployment is complete, verify the service instance as described in Verify the result.
Verify the result
View the service instance status
Open the Compute Nest console.
Go to Service Instance Management.
Find the Agent Manager service instance.
Confirm that the status is Deployed.
If the status stays at Deploying for a long time, first view the deployment logs on the service instance details page.
Get the platform access URLs
After the deployment is complete, view the following URLs in the service instance outputs:
| Output | Purpose |
Platform public access URL (PlatformUrl) | Opens the Agent Manager platform homepage. |
Administrator logon URL (AdminLoginUrl) | Goes to the administrator logon page. |
API health check (ApiHealthUrl) | Checks whether the backend API works. |
Agent access gateway (AgentGatewayUrl) | After Agent access authentication is enabled, the Agent application access links generated by the platform use this gateway. |
OAuth App callback URL (SupabaseOAuthCallbackUrl) | Used when you configure an OAuth provider. |
SAML SP metadata URL (SupabaseSamlMetadataUrl) | Used when you configure a SAML identity provider. |
SAML ACS URL (SupabaseSamlAcsUrl) | Used when you configure a SAML identity provider. |
Open the API health check URL. If a healthy status is returned, the platform API has started.
Get the initial administrator account
The service instance outputs contain the initial administrator information. The default values are as follows:
| Output | Default value |
| Administrator email | admin@openclaw.local |
| Administrator password | admin123 |
Change the administrator password immediately after the first logon.
Post-deployment operations
Agent access gateway
The Agent access gateway protects the Agent web pages. After it is enabled, when a user opens an application access link from the platform, the gateway verifies the logon status and the instance ownership before the user reaches the actual Agent.
Default behavior of the gateway entry
| Configuration | AGENT_GATEWAY_DOMAIN value | Application access link | Description |
| Gateway enabled, no HTTPS domain configured | http://<gateway SLB IP>:8080: uses the HTTP/IP gateway. | http://<gateway SLB IP>:8080/<instance ID>/ | The platform logon status is verified, but the segment between the browser and the gateway is not encrypted. |
| Gateway enabled, HTTPS domain configured | https://<gateway domain>: uses the HTTPS domain gateway. | https://<gateway domain>/<instance ID>/ | HTTPS is used between the browser and the gateway. |
| Gateway disabled | Empty value: falls back to the legacy E2B direct address. | Legacy E2B direct address | The request does not go through the platform gateway. You must protect the E2B upstream entry on your own. |
Enabling the gateway only changes the access links that the platform generates. It does not automatically close the E2B upstream entry. In a production environment, the preferred approach is to make the E2B upstream entry reachable only within the VPC, or to restrict the access sources by using security groups, ALB/SLB ACLs, Ingress whitelists, and network policies.
Configure an HTTPS gateway domain
In the following commands, replace the value of NAMESPACE with the platform namespace (PlatformNamespaceName) that you specified during the deployment. The default value is openclaw-platform. Replace <gateway domain> with the HTTPS domain of your gateway.
Get the public IP address of the
openclaw-agent-gatewayService and resolve your domain name to this IP address. You can obtain the IP address by using thekubectl get svccommand in Manual switchover of the gateway entry.Create or update the TLS Secret
openclaw-agent-gateway-tlsin the platform namespace.NAMESPACE=openclaw-platform kubectl -n "$NAMESPACE" create secret tls openclaw-agent-gateway-tls \ --cert=/path/to/fullchain.pem \ --key=/path/to/tls.key \ --dry-run=client -o yaml | kubectl apply -f -Restart the gateway so that nginx reads the certificate.
NAMESPACE=openclaw-platform kubectl -n "$NAMESPACE" rollout restart deployment/openclaw-agent-gateway kubectl -n "$NAMESPACE" rollout status deployment/openclaw-agent-gateway --timeout=300sSwitch the access links that the platform generates to the HTTPS domain, and then restart the platform Deployment.
NAMESPACE=openclaw-platform GATEWAY_DOMAIN="https://<gateway domain>" kubectl -n "$NAMESPACE" patch configmap openclaw-platform-config \ --type merge \ -p "{\"data\":{\"AGENT_GATEWAY_DOMAIN\":\"$GATEWAY_DOMAIN\"}}" kubectl -n "$NAMESPACE" rollout restart deployment/openclaw-platform kubectl -n "$NAMESPACE" rollout status deployment/openclaw-platform --timeout=300sOpen the application access link of an instance, confirm that the address uses HTTPS, and verify that the page, the terminal, and file upload all work.
The external certificate of the gateway only handles HTTPS between the browser and nginx. The verification from nginx to the E2B upstream still uses the e2b-ca-cert of the platform. Do not mix up the two certificates.
Manual switchover of the gateway entry
If the gateway is already deployed, you can use AGENT_GATEWAY_DOMAIN in the platform ConfigMap to temporarily switch the access links that are generated later. For the mapping between each value and the gateway behavior, see Default behavior of the gateway entry.
For a long-term configuration of Agent access authentication, manage the Compute Nest service instance parameter EnableAgentGatewayAccess. This parameter controls only whether Agent access links are verified by the gateway. It does not persist a custom AGENT_GATEWAY_DOMAIN value.
If you only need to temporarily switch the access entry, you can modify the ConfigMap directly. Manual changes to the platform ConfigMap can be overwritten by a later service instance upgrade. After each modification, restart the platform Deployment so that the change takes effect for the access links that are generated later.
# Use the HTTP/IP gateway
NAMESPACE=openclaw-platform
GATEWAY_IP="$(kubectl -n "$NAMESPACE" get svc openclaw-agent-gateway -o jsonpath='{.status.loadBalancer.ingress[0].ip}')"
kubectl -n "$NAMESPACE" patch configmap openclaw-platform-config \
--type merge \
-p "{\"data\":{\"AGENT_GATEWAY_DOMAIN\":\"http://$GATEWAY_IP:8080\"}}"
kubectl -n "$NAMESPACE" rollout restart deployment/openclaw-platform
kubectl -n "$NAMESPACE" rollout status deployment/openclaw-platform --timeout=300s# Use the HTTPS domain gateway
NAMESPACE=openclaw-platform
GATEWAY_DOMAIN="https://<gateway domain>"
kubectl -n "$NAMESPACE" patch configmap openclaw-platform-config \
--type merge \
-p "{\"data\":{\"AGENT_GATEWAY_DOMAIN\":\"$GATEWAY_DOMAIN\"}}"
kubectl -n "$NAMESPACE" rollout restart deployment/openclaw-platform
kubectl -n "$NAMESPACE" rollout status deployment/openclaw-platform --timeout=300s# Disable the gateway entry and fall back to the legacy E2B direct address
NAMESPACE=openclaw-platform
kubectl -n "$NAMESPACE" patch configmap openclaw-platform-config \
--type merge \
-p '{"data":{"AGENT_GATEWAY_DOMAIN":""}}'
kubectl -n "$NAMESPACE" rollout restart deployment/openclaw-platform
kubectl -n "$NAMESPACE" rollout status deployment/openclaw-platform --timeout=300sGlobalTrafficPolicy network policy
If the cluster uses GlobalTrafficPolicy to implement network isolation for Agent pods, make sure that spec.selector.matchLabels matches the pods that SandboxSet creates. After you add an Agent type or modify the SandboxSet labels, check the selector again.
kubectl edit globaltrafficpolicy openclaw-global-policyFor example, if the policy needs to match OpenClaw pods:
spec:
selector:
matchLabels:
app: agent-manager-openclawYou can extend an existing selector for the same network rules. For different network rules, create a separate GlobalTrafficPolicy. After the policy takes effect, verify that the required paths between the platform, Agent Gateway, and Sandbox are still reachable.
Troubleshooting
Common deployment issues
The gateway returns 502
First check the logs of openclaw-agent-gateway, and then identify the segment where the problem occurs:
| Log or symptom | What to check first |
upstream SSL certificate verify error | Whether the e2b-ca-cert contains a CA chain that can verify the E2B upstream and is not a leaf certificate with CA:FALSE. |
connection refused | Whether the Sandbox is running and whether the Agent web port is listening. |
timed out or host not found | The network, DNS, and security groups between the gateway and the E2B upstream. |
A working direct connection after you disable the gateway does not prove that the e2b-ca-cert is correct, because the legacy direct path bypasses the certificate verification from nginx to the E2B upstream. For detailed troubleshooting, see FAQ and troubleshooting.
Deployment parameters
Pre-deployment confirmation
| Parameter | Template field | Default value | Description |
| Whitelist configuration confirmation | WhitelistConfirmation | Not selected | Confirms that you have read the instructions on the Agent Sandbox shared storage, privileged containers, and hostPath. You must select this check box before you can deploy. |
Sandbox settings
| Parameter | Template field | Default value | Description |
| Sandbox Cluster ID | ClusterId | None | Select the Kubernetes cluster where the existing ACS Sandbox resides. |
| K8s Namespace | PlatformNamespaceName | openclaw-platform | The namespace where the Agent Manager platform resources reside. |
Supabase settings
| Parameter | Template field | Default value | Description |
| Supabase Source | SupabaseDeploymentMode | CreateNew | Use managed Supabase in production environments. An existing open source Supabase applies only to compatibility verification, migration, or testing. |
| Supabase Instance Specification | SupabaseProjectSpec | 2C2G | Required when you create managed Supabase. |
| Supabase Storage (GB) | SupabaseStorageSize | 10 | Required when you create managed Supabase. The minimum value is 1 GB. |
| Existing Supabase Public URL | ExistingSupabaseUrl | Empty | Required when you use an existing open source Supabase. It is used for browser access. Do not end the value with /. |
| Existing Supabase Server Access URL | ExistingSupabaseInternalUrl | Empty | Required when you use an existing open source Supabase. It is used for backend access. Within the same cluster, you can enter a Kubernetes Service address. |
| Existing Supabase Anon Key | ExistingSupabaseAnonKey | Empty | Required when you use an existing open source Supabase. It is used by the frontend to call the Auth and REST APIs. |
| Existing Supabase Service Role Key | ExistingSupabaseServiceRoleKey | Empty | Required when you use an existing open source Supabase. It is used only on the server side. |
| Existing Supabase Database Connection String | ExistingSupabaseDatabaseUrl | Empty | Required when you use an existing open source Supabase. It is used to initialize the table schema and the administrator account. |
Network settings
| Parameter | Template field | Default value | Description |
| Supabase Zone | ZoneId | Empty | Required when you create managed Supabase. |
| VPC Instance ID | VpcId | Empty | Required when you create managed Supabase. It is usually in the same VPC as the Sandbox cluster. |
| vSwitch Instance ID | VSwitchId | Empty | Required when you create managed Supabase. Do not select the OpenClaw dedicated vSwitch. |
Agent access authentication
| Parameter | Template field | Default value | Description |
| Enable Agent Access Authentication | EnableAgentGatewayAccess | true (authentication enabled) | Enables authentication for Agent access links through the Agent access gateway. For details about the gateway behavior, see Agent access gateway. |
OSS storage settings
| Parameter | Template field | Default value | Description |
| Select an Existing or New OSS Bucket | OssOption | NewOSS | Stores the internal Skill data and backup data of your enterprise. |
| OSS Bucket Name | ExistingBucketName | Empty | Required when you select an existing OSS bucket. |
AI Gateway settings
| Parameter | Template field | Default value | Description |
| Configure AI Gateway | EnableAIGateway | No | If you select Yes, Alibaba Cloud AI Gateway and the Model Studio model proxy are automatically created. |
| DashScope API key | DashScopeApiKey | Empty | Required when you enable AI Gateway. Get the key from the Model Studio console. |
| AI Gateway Specification | AIGatewaySpec | aigw.small.x1 | A higher specification supports more concurrent requests. |
| AI Gateway Network Access Type | AIGatewayNetworkType | InternetAndIntranet | You can select the public network, the internal network, or both. Public network access incurs public network traffic fees. |
Cloud resource access credentials
| Parameter | Template field | Default value | Description |
| Alibaba Cloud Access Credential Source | AccessKeyMode | AutoCreate | Used by the platform to access cloud resources such as OSS and AI Gateway. |
| Reference Access Policy for Existing AccessKey | ExistingAccessKeyRequiredPolicy | Automatically displayed | Grant permissions based on this policy when you select an existing AccessKey. |
| Existing AccessKey ID | ExistingAccessKeyId | Empty | Required when you select an existing AccessKey. |
| Existing AccessKey secret | ExistingAccessKeySecret | Empty | Required when you select an existing AccessKey. |