Files
toolhive/manifest/overlays/production/mcpserver-argocd.yaml
T
2026-06-01 14:46:50 +01:00

51 lines
1.6 KiB
YAML

apiVersion: toolhive.stacklok.dev/v1beta1
kind: MCPServer
metadata:
name: argocd-mcp
namespace: toolhive-system
spec:
# argoproj-labs MCP server for Argo CD. The image entrypoint already launches
# the server (default stdio transport); ToolHive proxies it to streamable-http
# at http://mcp-argocd-mcp-proxy.mcp-services:8080/mcp.
# NOTE: do NOT set args — the image ENTRYPOINT is `node` and any args replace
# the script path (e.g. "stdio" -> node stdio -> "Cannot find module /app/stdio").
image: ghcr.io/argoproj-labs/mcp-for-argocd:v0.7.0
transport: stdio
proxyMode: streamable-http
proxyPort: 8080
groupRef:
name: homelab-core
env:
- name: ARGOCD_BASE_URL
value: https://argocd-server.argocd.svc.cluster.local
# argocd-server serves a self-signed cert in-cluster.
- name: NODE_TLS_REJECT_UNAUTHORIZED
value: "0"
# Start read-only; drop this to enable sync/write tools later.
- name: MCP_READ_ONLY
value: "true"
# ToolHive 0.28.3 does not translate spec.secrets into the workload, so inject
# the token natively on the `mcp` container via podTemplateSpec.
podTemplateSpec:
spec:
groupRef:
name: homelab-core
containers:
- name: mcp
env:
- name: ARGOCD_API_TOKEN
valueFrom:
secretKeyRef:
name: argocd-mcp-secret
key: token
permissionProfile:
type: builtin
name: network
resources:
requests:
cpu: 100m
memory: 128Mi
limits:
cpu: 500m
memory: 512Mi