openclaw - 💡(How to fix) Fix k3s: add IOSG profile support to pod template [1 participants]

Official PRs (…)
ON THIS PAGE

Recommended Tools

×6

Utilities matched from this issue’s tags and category — try them while you read without losing context.

GitHub issue graph ai analysis

Paste a GitHub issue URL. We fetch that issue, discover linked issues from bodies/comments/timeline, collect linked pull requests, and produce a structured English report.

The report is written in English Markdown for sharing and archival.

Helpful · Quick feedback

Loading…
GitHub stats
openclaw/openclaw#56168Fetched 2026-04-08 01:44:13
View on GitHub
Comments
0
Participants
1
Timeline
0
Reactions
0
Author
Participants

The k3s pod template (openclaw/k8s/pod-template.yaml) only supports the default profile (gateway + browser-relay). The IOSG profile (docker-compose.iosg.yml) adds an MCP OAuth onboarding dashboard on port 18790, but this isn't wired into the k3s deploy path.

Root Cause

The k3s pod template (openclaw/k8s/pod-template.yaml) only supports the default profile (gateway + browser-relay). The IOSG profile (docker-compose.iosg.yml) adds an MCP OAuth onboarding dashboard on port 18790, but this isn't wired into the k3s deploy path.

RAW_BUFFERClick to expand / collapse

Summary

The k3s pod template (openclaw/k8s/pod-template.yaml) only supports the default profile (gateway + browser-relay). The IOSG profile (docker-compose.iosg.yml) adds an MCP OAuth onboarding dashboard on port 18790, but this isn't wired into the k3s deploy path.

What's needed

  1. Pod template: add mcp-dashboard container (port 18790) — conditionally included for IOSG profile
  2. Service: add port 18790 mapping
  3. IngressRoute: add route for <app-id>-18790.<cluster-domain>
  4. Backend k3s.py: pass MCP_SERVERS_JSON env var from DeployProfile into the pod Secret
  5. Profile-aware template selection: either a separate template or conditional rendering in the deploy path

Context

  • deploy_profile.py already detects IOSG via email domain (@iosg.vc) and builds MCP_SERVERS_JSON
  • The Phala CVM path uses docker-compose.iosg.yml which has the full 4-container setup
  • k3s needs parity so IOSG users can be deployed to k3s clusters

extent analysis

Fix Plan

To add support for the IOSG profile in the k3s pod template, follow these steps:

  • Update pod template: Add a conditional mcp-dashboard container to openclaw/k8s/pod-template.yaml
spec:
  containers:
  - name: mcp-dashboard
    image: <mcp-dashboard-image>
    ports:
    - containerPort: 18790
    condition: {{ .Values.deployProfile == "iosg" }}
  • Add service port mapping: Update the service to include port 18790
apiVersion: v1
kind: Service
spec:
  ports:
  - name: mcp-dashboard
    port: 18790
    targetPort: 18790
  • Update IngressRoute: Add a route for <app-id>-18790.<cluster-domain>
apiVersion: traefik.containo.us/v1alpha1
kind: IngressRoute
spec:
  routes:
  - match: Host(`{{ .Values.appId }}-18790.{{ .Values.clusterDomain }}`)
    kind: Rule
    services:
    - name: mcp-dashboard
      port: 18790
  • Pass MCP_SERVERS_JSON env var: Update k3s.py to pass MCP_SERVERS_JSON as an env var to the pod Secret
import os

# ...

mcp_servers_json = os.environ.get('MCP_SERVERS_JSON')
if mcp_servers_json:
    pod_spec['env'] = [{'name': 'MCP_SERVERS_JSON', 'value': mcp_servers_json}]
  • Profile-aware template selection: Use a separate template or conditional rendering in the deploy path to select the correct template based on the deploy profile.

Verification

To verify the fix, deploy the updated k3s pod template with the IOSG profile and check that the mcp-dashboard container is included and accessible on port 18790.

Extra Tips

  • Make sure to update the docker-compose.iosg.yml file to match the changes made to the k3s pod template.
  • Test the updated deploy path with different deploy profiles to ensure that the correct template is selected and the mcp-dashboard container is included only for the IOSG profile.

Vote matrix · Quick signals

Works
Did the solution work? Tap to confirm.
Easy Fix
Was it a quick fix?
Time Saver
Did it save you time?
Blocking
Was it severely blocking?
Common Issue
Are others likely hitting this too?
Flaky / Intermittent
Is it intermittent?
Verified / Reproducible
Can you reproduce it reliably?
Loading…

Still need to ship something?

×6

Another batch ranked right after the header list — different links, same matching logic.

Back to top recommendations

TRENDING