From 98f8cba8446ba1fddaef07ea7bfae6b4781526c5 Mon Sep 17 00:00:00 2001 From: eedo_y Date: Thu, 9 Apr 2026 16:33:19 +0900 Subject: [PATCH 1/3] =?UTF-8?q?chore:=20platform=20chart=20=EB=82=B4?= =?UTF-8?q?=EB=B6=80=EB=A1=9C=20=EC=9D=B4=EB=8F=99=20(#40)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../prod/platform/monitoring-httproute.yaml | 42 ------------------- k8s-helm/platform-chart/values-prod.yaml | 9 ++++ k8s-helm/platform-chart/values.yaml | 16 ++++++- .../platform/monitoring/httproute.yaml | 27 ------------ .../platform/monitoring/kustomization.yaml | 9 ---- 5 files changed, 24 insertions(+), 79 deletions(-) delete mode 100644 k8s-argocd/applications/prod/platform/monitoring-httproute.yaml delete mode 100644 k8s-kustomize/platform/monitoring/httproute.yaml delete mode 100644 k8s-kustomize/platform/monitoring/kustomization.yaml diff --git a/k8s-argocd/applications/prod/platform/monitoring-httproute.yaml b/k8s-argocd/applications/prod/platform/monitoring-httproute.yaml deleted file mode 100644 index ab05195..0000000 --- a/k8s-argocd/applications/prod/platform/monitoring-httproute.yaml +++ /dev/null @@ -1,42 +0,0 @@ -# =================================== -# Prod Platform Monitoring HTTPRoute -# =================================== - -apiVersion: argoproj.io/v1alpha1 -kind: Application - -# 기본 정보 -metadata: - name: platform-monitoring-httproute-prod - namespace: argocd - labels: - pinhouse.co.kr/environment: prod - pinhouse.co.kr/component: platform - annotations: - # Gateway와 인증서가 준비된 뒤 HTTPRoute를 연결합니다. - argocd.argoproj.io/sync-wave: "3" - finalizers: - - resources-finalizer.argocd.argoproj.io - -# 스펙 -spec: - project: default - - # Grafana HTTPRoute 설정 - source: - repoURL: https://github.com/PinHouse/PinHouse_CLOUD - targetRevision: main - path: k8s-kustomize/platform/monitoring - - # 배포 대상 클러스터 - destination: - server: https://kubernetes.default.svc - namespace: monitoring - - # 동기화 정책 - syncPolicy: - automated: - prune: true - selfHeal: true - syncOptions: - - CreateNamespace=true diff --git a/k8s-helm/platform-chart/values-prod.yaml b/k8s-helm/platform-chart/values-prod.yaml index ca136a8..b3d5484 100644 --- a/k8s-helm/platform-chart/values-prod.yaml +++ b/k8s-helm/platform-chart/values-prod.yaml @@ -144,6 +144,15 @@ certificates: - grafana.pinhouse.co.kr enabled: true +# 모니터링 (Grafana HTTPRoute) +monitoring: + namespace: monitoring + grafana: + enabled: true + domain: grafana.pinhouse.co.kr + serviceName: pinhouse-monitoring-core-grafana + servicePort: 80 + # GCP Secret Manager 기반 시크릿 적용 externalSecrets: enabled: true diff --git a/k8s-helm/platform-chart/values.yaml b/k8s-helm/platform-chart/values.yaml index 468aacc..8049559 100644 --- a/k8s-helm/platform-chart/values.yaml +++ b/k8s-helm/platform-chart/values.yaml @@ -68,10 +68,15 @@ gateway: # 특수 리스너 (ArgoCD 등) listeners: argo: - enabled: true + enabled: false domain: nonprod.argo.your-domain.com # 🔒 실제 도메인으로 변경 tlsSecretName: your-tls-argo + grafana: + enabled: false + domain: grafana.your-domain.com # 🔒 실제 도메인으로 변경 + tlsSecretName: your-tls-grafana + # 접근 제어 (Access Control) accessControl: enabled: false @@ -112,3 +117,12 @@ externalSecrets: # ExternalSecret 리소스 목록 secrets: [] + +# 모니터링 (Grafana HTTPRoute) +monitoring: + namespace: monitoring + grafana: + enabled: false + domain: grafana.your-domain.com # 🔒 실제 도메인으로 변경 + serviceName: pinhouse-monitoring-core-grafana + servicePort: 80 diff --git a/k8s-kustomize/platform/monitoring/httproute.yaml b/k8s-kustomize/platform/monitoring/httproute.yaml deleted file mode 100644 index 117cd86..0000000 --- a/k8s-kustomize/platform/monitoring/httproute.yaml +++ /dev/null @@ -1,27 +0,0 @@ -apiVersion: gateway.networking.k8s.io/v1 -kind: HTTPRoute - -# 기본 설정 -metadata: - name: grafana - namespace: monitoring - -# 스펙 -spec: - parentRefs: - - name: pinhouse-gateway - namespace: nginx-gateway - - # 도메인 명 - hostnames: - - "grafana.pinhouse.co.kr" - - # 참조 규칙 - rules: - - matches: - - path: - type: PathPrefix - value: / - backendRefs: - - name: pinhouse-monitoring-core-grafana - port: 80 diff --git a/k8s-kustomize/platform/monitoring/kustomization.yaml b/k8s-kustomize/platform/monitoring/kustomization.yaml deleted file mode 100644 index 96034a1..0000000 --- a/k8s-kustomize/platform/monitoring/kustomization.yaml +++ /dev/null @@ -1,9 +0,0 @@ -# ======================================== -# Grafana HTTPRoute (NGINX Gateway Fabric) -# ======================================== - -apiVersion: kustomize.config.k8s.io/v1beta1 -kind: Kustomization - -resources: - - httproute.yaml From 4007c57a865a813ac6fcb37eb86e54a9205818c2 Mon Sep 17 00:00:00 2001 From: eedo_y Date: Thu, 9 Apr 2026 16:35:12 +0900 Subject: [PATCH 2/3] =?UTF-8?q?chore:=20platform=20chart=20httproutes=20?= =?UTF-8?q?=EC=83=9D=EC=84=B1=20(#40)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../monitoring/grafana-httproute.yaml | 26 +++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 k8s-helm/platform-chart/templates/monitoring/grafana-httproute.yaml diff --git a/k8s-helm/platform-chart/templates/monitoring/grafana-httproute.yaml b/k8s-helm/platform-chart/templates/monitoring/grafana-httproute.yaml new file mode 100644 index 0000000..f68c544 --- /dev/null +++ b/k8s-helm/platform-chart/templates/monitoring/grafana-httproute.yaml @@ -0,0 +1,26 @@ +{{- if .Values.monitoring.grafana.enabled }} +# Grafana HTTPRoute +apiVersion: gateway.networking.k8s.io/v1 +kind: HTTPRoute +metadata: + name: grafana + namespace: {{ .Values.monitoring.namespace }} +spec: + parentRefs: + - name: {{ .Values.gateway.name }} + namespace: {{ .Values.gateway.namespace }} + + # 도메인 명 + hostnames: + - {{ .Values.monitoring.grafana.domain | quote }} + + # 라우팅 규칙 + rules: + - matches: + - path: + type: PathPrefix + value: / + backendRefs: + - name: {{ .Values.monitoring.grafana.serviceName }} + port: {{ .Values.monitoring.grafana.servicePort }} +{{- end }} From a462623df8b70c7789953de7f36b0975a8f909c5 Mon Sep 17 00:00:00 2001 From: eedo_y Date: Thu, 9 Apr 2026 16:47:30 +0900 Subject: [PATCH 3/3] =?UTF-8?q?refactor:=20kustomization=20=ED=99=98?= =?UTF-8?q?=EA=B2=BD=EB=B3=84=20=ED=99=95=EC=9E=A5=20=EA=B0=80=EB=8A=A5?= =?UTF-8?q?=EC=84=B1=20=EC=A0=9C=EA=B3=B5=20(#40)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../prod/platform/monitoring-httproute.yaml | 42 +++++++++++++++++++ k8s-helm/.gitignore | 1 + .../monitoring/grafana-httproute.yaml | 26 ------------ k8s-helm/platform-chart/values-prod.yaml | 9 ---- k8s-helm/platform-chart/values.yaml | 9 ---- .../monitoring/overlays/prod/httproute.yaml | 27 ++++++++++++ .../overlays/prod/kustomization.yaml | 9 ++++ 7 files changed, 79 insertions(+), 44 deletions(-) create mode 100644 k8s-argocd/applications/prod/platform/monitoring-httproute.yaml delete mode 100644 k8s-helm/platform-chart/templates/monitoring/grafana-httproute.yaml create mode 100644 k8s-kustomize/platform/monitoring/overlays/prod/httproute.yaml create mode 100644 k8s-kustomize/platform/monitoring/overlays/prod/kustomization.yaml diff --git a/k8s-argocd/applications/prod/platform/monitoring-httproute.yaml b/k8s-argocd/applications/prod/platform/monitoring-httproute.yaml new file mode 100644 index 0000000..4ce8262 --- /dev/null +++ b/k8s-argocd/applications/prod/platform/monitoring-httproute.yaml @@ -0,0 +1,42 @@ +# =================================== +# Prod Platform Monitoring HTTPRoute +# =================================== + +apiVersion: argoproj.io/v1alpha1 +kind: Application + +# 기본 정보 +metadata: + name: platform-monitoring-httproute-prod + namespace: argocd + labels: + pinhouse.co.kr/environment: prod + pinhouse.co.kr/component: platform + annotations: + # Gateway와 인증서가 준비된 뒤 HTTPRoute를 연결합니다. + argocd.argoproj.io/sync-wave: "3" + finalizers: + - resources-finalizer.argocd.argoproj.io + +# 스펙 +spec: + project: default + + # Grafana HTTPRoute 설정 + source: + repoURL: https://github.com/PinHouse/PinHouse_CLOUD + targetRevision: main + path: k8s-kustomize/platform/monitoring/overlays/prod + + # 배포 대상 클러스터 + destination: + server: https://kubernetes.default.svc + namespace: monitoring + + # 동기화 정책 + syncPolicy: + automated: + prune: true + selfHeal: true + syncOptions: + - CreateNamespace=true diff --git a/k8s-helm/.gitignore b/k8s-helm/.gitignore index c252a66..799419b 100644 --- a/k8s-helm/.gitignore +++ b/k8s-helm/.gitignore @@ -6,6 +6,7 @@ platform-chart/**/README.md !platform-chart/**/values.yaml !platform-chart/**/values-nonprod.yaml !platform-chart/**/values-prod.yaml +!platform-chart/templates/**/*.yaml # ======================================== # 로컬 시크릿 매니페스트 diff --git a/k8s-helm/platform-chart/templates/monitoring/grafana-httproute.yaml b/k8s-helm/platform-chart/templates/monitoring/grafana-httproute.yaml deleted file mode 100644 index f68c544..0000000 --- a/k8s-helm/platform-chart/templates/monitoring/grafana-httproute.yaml +++ /dev/null @@ -1,26 +0,0 @@ -{{- if .Values.monitoring.grafana.enabled }} -# Grafana HTTPRoute -apiVersion: gateway.networking.k8s.io/v1 -kind: HTTPRoute -metadata: - name: grafana - namespace: {{ .Values.monitoring.namespace }} -spec: - parentRefs: - - name: {{ .Values.gateway.name }} - namespace: {{ .Values.gateway.namespace }} - - # 도메인 명 - hostnames: - - {{ .Values.monitoring.grafana.domain | quote }} - - # 라우팅 규칙 - rules: - - matches: - - path: - type: PathPrefix - value: / - backendRefs: - - name: {{ .Values.monitoring.grafana.serviceName }} - port: {{ .Values.monitoring.grafana.servicePort }} -{{- end }} diff --git a/k8s-helm/platform-chart/values-prod.yaml b/k8s-helm/platform-chart/values-prod.yaml index b3d5484..ca136a8 100644 --- a/k8s-helm/platform-chart/values-prod.yaml +++ b/k8s-helm/platform-chart/values-prod.yaml @@ -144,15 +144,6 @@ certificates: - grafana.pinhouse.co.kr enabled: true -# 모니터링 (Grafana HTTPRoute) -monitoring: - namespace: monitoring - grafana: - enabled: true - domain: grafana.pinhouse.co.kr - serviceName: pinhouse-monitoring-core-grafana - servicePort: 80 - # GCP Secret Manager 기반 시크릿 적용 externalSecrets: enabled: true diff --git a/k8s-helm/platform-chart/values.yaml b/k8s-helm/platform-chart/values.yaml index 8049559..59acaee 100644 --- a/k8s-helm/platform-chart/values.yaml +++ b/k8s-helm/platform-chart/values.yaml @@ -117,12 +117,3 @@ externalSecrets: # ExternalSecret 리소스 목록 secrets: [] - -# 모니터링 (Grafana HTTPRoute) -monitoring: - namespace: monitoring - grafana: - enabled: false - domain: grafana.your-domain.com # 🔒 실제 도메인으로 변경 - serviceName: pinhouse-monitoring-core-grafana - servicePort: 80 diff --git a/k8s-kustomize/platform/monitoring/overlays/prod/httproute.yaml b/k8s-kustomize/platform/monitoring/overlays/prod/httproute.yaml new file mode 100644 index 0000000..e089754 --- /dev/null +++ b/k8s-kustomize/platform/monitoring/overlays/prod/httproute.yaml @@ -0,0 +1,27 @@ +apiVersion: gateway.networking.k8s.io/v1 +kind: HTTPRoute + +# 기본 설정 +metadata: + name: grafana + namespace: monitoring + +# 스펙 +spec: + parentRefs: + - name: pinhouse-gateway + namespace: nginx-gateway + + # 도메인 명 + hostnames: + - "grafana.pinhouse.co.kr" + + # 참조 규칙 + rules: + - matches: + - path: + type: PathPrefix + value: / + backendRefs: + - name: monitoring-core-grafana + port: 80 diff --git a/k8s-kustomize/platform/monitoring/overlays/prod/kustomization.yaml b/k8s-kustomize/platform/monitoring/overlays/prod/kustomization.yaml new file mode 100644 index 0000000..8da587b --- /dev/null +++ b/k8s-kustomize/platform/monitoring/overlays/prod/kustomization.yaml @@ -0,0 +1,9 @@ +# ======================================== +# Grafana HTTPRoute (Prod) +# ======================================== + +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization + +resources: + - httproute.yaml