Files
dap-was-dapms/deploy/helm/mcp-server/templates/networkpolicy.yaml
2026-08-05 15:54:25 +09:00

43 lines
1.7 KiB
YAML

# 이 서버는 인증·인가를 하지 않는다(ADR-0006). 호출자를 제한하는 것은 이 정책이며,
# 이것이 빠지면 클러스터 안의 어떤 Pod이든 /mcp로 Tool을 실행할 수 있다.
# 선택적 강화가 아니라 ADR-0006의 성립 조건이므로 비활성화 스위치를 두지 않는다.
apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
name: {{ include "mcp-server.name" . }}-ingress
labels:
{{- include "mcp-server.labels" . | nindent 4 }}
spec:
podSelector:
matchLabels:
{{- include "mcp-server.selectorLabels" . | nindent 6 }}
policyTypes:
- Ingress
ingress:
# 공개 Route를 거친 요청은 OpenShift Ingress Controller에서 들어온다.
- from:
- namespaceSelector:
matchLabels:
policy-group.network.openshift.io/ingress: ""
ports:
- protocol: TCP
port: {{ .Values.ports.http }}
# 업무 포트는 Agent Builder namespace에서만 받는다.
# namespaceSelector가 참조하는 label은 대상 namespace에 실제로 붙어 있어야 한다.
# OpenShift가 자동으로 넣어 주는 kubernetes.io/metadata.name을 사용한다.
- from:
- namespaceSelector:
matchLabels:
kubernetes.io/metadata.name: {{ .Values.global.agentBuilderNamespace }}
ports:
- protocol: TCP
port: {{ .Values.ports.http }}
# management 포트는 관제만 접근한다. 외부로 노출하지 않는다.
- from:
- namespaceSelector:
matchLabels:
kubernetes.io/metadata.name: {{ .Values.global.monitoringNamespace }}
ports:
- protocol: TCP
port: {{ .Values.ports.management }}