Initial commit
This commit is contained in:
42
deploy/helm/mcp-server/templates/networkpolicy.yaml
Normal file
42
deploy/helm/mcp-server/templates/networkpolicy.yaml
Normal file
@@ -0,0 +1,42 @@
|
||||
# 이 서버는 인증·인가를 하지 않는다(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 }}
|
||||
Reference in New Issue
Block a user