Helm Scenario: Browser-Facing Ingress¶
What you'll learn here: how to shape a Kubernetes deployment for browser-visible links, why ingress and public_base_url matter together, and which values make signed uploads and artifact downloads behave cleanly for humans.
What this scenario is for¶
This page is best treated as an overlay, not as a full deployment shape by itself.
Use it when you already have a base Helm shape chosen and now need the public-hostname, ingress, and signed-link pieces to behave properly for humans or browser apps.
Choose it when:
- the adapter sits behind ingress with a real hostname
- users or browser-based clients will click returned links
- signed uploads and artifact downloads matter
public_base_urlmust be correct from the start
Good base shapes to layer this onto:
Suggested values¶
Save this as values-browser-facing.yaml:
If you want a ready-made overlay file from the repository, start from values-browser-facing.yaml.
deploymentMode: distributed
replicaCount: 2
ingress:
enabled: true
className: nginx
annotations:
nginx.ingress.kubernetes.io/proxy-body-size: "50m"
hosts:
- host: demo.example.com
paths:
- path: /
pathType: Prefix
tls:
- secretName: demo-example-com-tls
hosts:
- demo.example.com
environment:
envFromSecret:
name: remote-mcp-adapter-env
keys: [MCP_ADAPTER_TOKEN, MCP_ADAPTER_SIGNING_SECRET]
config:
config.yaml:
core:
public_base_url: https://demo.example.com
allow_artifacts_download: true
auth:
enabled: true
token: ${MCP_ADAPTER_TOKEN}
signing_secret: ${MCP_ADAPTER_SIGNING_SECRET}
cors:
enabled: true
allowed_origins: [https://demo.example.com]
uploads:
require_sha256: true
ttl_seconds: 300
artifacts:
ttl_seconds: 1800
This values file assumes the base shape already defines the rest of the deployment story, especially:
config.config.yaml.servers- storage and persistence choices
- replica strategy that matches your topology
On its own, this page is incomplete by design.
Commands¶
helm repo add remote-mcp-adapter https://aakashh242.github.io/remote-mcp-adapter
helm repo update
helm upgrade --install remote-mcp-adapter remote-mcp-adapter/remote-mcp-adapter \
--namespace remote-mcp-adapter \
--create-namespace \
-f values-ha-adapter.yaml \
-f values-browser-facing.yaml
If you are still on a single durable pod, swap values-ha-adapter.yaml for values-standalone-durable.yaml.
What this gives you¶
- ingress with a real hostname
- artifact download links that resolve correctly
- secret-backed auth and signing values
- a much better browser-facing experience than relying on cluster-internal addresses
- a clean way to separate public-hostname concerns from the rest of your deployment shape
Pair it with¶
Next steps¶
- Back to: Deploy with Helm - Helm overview and scenario selection.
- Previous scenario: HA Adapter Tier - resilience and scaling first.
- Next scenario: Observability-First Production - add telemetry-forward deployment values.
- See also: Security - signed upload and download behavior.