MCP-сервер k8s из реестра ToolHive: ghcr.io/stackloklabs/mkp/server:0.4.3, transport streamable-http. Отдельный SA mcp-k8s и ClusterRole mcp-k8s-readonly (только get/list/watch). Core-группа перечислена поимённо, чтобы не открывать secrets; остальные группы явным списком, потому что apiGroups: [*] включает и core-группу. Наружу не выводим: без oidcConfigRef прокси ToolHive неаутентифицирован.
29 lines
1.3 KiB
YAML
29 lines
1.3 KiB
YAML
---
|
|
# Kubernetes MCP из реестра ToolHive (сервер k8s, проект StacklokLabs/mkp).
|
|
# Транспорт streamable-http — mkp отдаёт MCP по HTTP сам, прокси-обёртка над
|
|
# stdio не нужна. Порты оставлены дефолтными: proxyPort и mcpPort оба 8080.
|
|
#
|
|
# ВАЖНО: без oidcConfigRef прокси ToolHive работает без аутентификации — любой,
|
|
# кто достучится до его порта, получит доступ к API под правами SA ниже.
|
|
# Поэтому наружу сервер не выводим: пока агент вне кластера, адрес только
|
|
# внутрикластерный, а внешний доступ появится вместе с OIDC после Authelia.
|
|
apiVersion: toolhive.stacklok.dev/v1beta1
|
|
kind: MCPServer
|
|
metadata:
|
|
name: mcp-k8s
|
|
spec:
|
|
image: ghcr.io/stackloklabs/mkp/server:0.4.3
|
|
transport: streamable-http
|
|
# SA существует заранее (см. serviceaccount.yaml) — вместе с ним приезжает
|
|
# ClusterRoleBinding mcp-k8s-readonly.
|
|
serviceAccount: mcp-k8s
|
|
permissionProfile:
|
|
type: builtin
|
|
name: network
|
|
resources:
|
|
requests:
|
|
cpu: 50m
|
|
memory: 128Mi
|
|
limits:
|
|
memory: 256Mi
|