REFACTOR(obs): integrate ingress to helm-values

- alertmanager: move ingress to karma inline, servicemonitor to manifests
- goldilocks: move ingress to helm-values
- grafana: move ingress to helm-values
- uptime-kuma: move ingress to helm-values
This commit is contained in:
2026-01-06 01:57:03 +09:00
parent 28ba50d1a3
commit 7b9abaf9c8
13 changed files with 64 additions and 134 deletions

View File

@@ -91,6 +91,21 @@ spec:
httpGet: httpGet:
path: /health path: /health
port: http port: http
ingress:
enabled: true
ingressClassName: traefik
annotations:
cert-manager.io/cluster-issuer: letsencrypt-prod
traefik.ingress.kubernetes.io/router.middlewares: authelia-authelia-auth@kubernetescrd
hosts:
- karma0213.kro.kr
path: /
pathType: Prefix
tls:
- secretName: karma-tls
hosts:
- karma0213.kro.kr
destination: destination:
server: https://kubernetes.default.svc server: https://kubernetes.default.svc
namespace: alertmanager namespace: alertmanager

View File

@@ -1,25 +0,0 @@
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: karma-ingress
namespace: alertmanager
annotations:
cert-manager.io/cluster-issuer: letsencrypt-prod
traefik.ingress.kubernetes.io/router.middlewares: authelia-authelia-auth@kubernetescrd
spec:
ingressClassName: traefik
tls:
- hosts:
- karma0213.kro.kr
secretName: karma-tls
rules:
- host: karma0213.kro.kr
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: karma
port:
number: 8080

View File

@@ -1,6 +1,5 @@
apiVersion: kustomize.config.k8s.io/v1beta1 apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization kind: Kustomization
resources: resources:
- ingress.yaml - manifests/servicemonitor.yaml
- servicemonitor.yaml
- vault/alertmanager-secrets.yaml - vault/alertmanager-secrets.yaml

View File

@@ -18,17 +18,21 @@ dashboard:
type: ClusterIP type: ClusterIP
port: 80 port: 80
# Ingress configuration (optional)
ingress: ingress:
enabled: false enabled: true
# Uncomment below to enable ingress ingressClassName: traefik
# enabled: true annotations:
# ingressClassName: nginx cert-manager.io/cluster-issuer: letsencrypt-prod
# hosts: traefik.ingress.kubernetes.io/router.middlewares: authelia-authelia-auth@kubernetescrd
# - host: goldilocks.example.com hosts:
# paths: - host: goldilocks0213.kro.kr
# - path: / paths:
# type: Prefix - path: /
type: Prefix
tls:
- secretName: goldilocks-dashboard-tls
hosts:
- goldilocks0213.kro.kr
# Controller configuration # Controller configuration
controller: controller:

View File

@@ -1,25 +0,0 @@
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: goldilocks-dashboard-ingress
namespace: goldilocks
annotations:
cert-manager.io/cluster-issuer: "letsencrypt-prod"
traefik.ingress.kubernetes.io/router.middlewares: authelia-authelia-auth@kubernetescrd
spec:
ingressClassName: traefik
tls:
- hosts:
- goldilocks0213.kro.kr
secretName: goldilocks-dashboard-tls
rules:
- host: goldilocks0213.kro.kr
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: goldilocks-dashboard
port:
number: 80

View File

@@ -1,4 +1,3 @@
apiVersion: kustomize.config.k8s.io/v1beta1 apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization kind: Kustomization
resources: resources: []
- ingress.yaml

View File

@@ -72,3 +72,18 @@ grafana.ini:
disable_signout_menu: true disable_signout_menu: true
news: news:
news_feed_enabled: false news_feed_enabled: false
ingress:
enabled: true
ingressClassName: traefik
annotations:
cert-manager.io/cluster-issuer: letsencrypt-prod
traefik.ingress.kubernetes.io/router.middlewares: authelia-authelia-auth@kubernetescrd
hosts:
- grafana0213.kro.kr
- www.grafana0213.kro.kr
tls:
- secretName: grafana-tls
hosts:
- grafana0213.kro.kr
- www.grafana0213.kro.kr

View File

@@ -1,37 +0,0 @@
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: grafana-ingress
namespace: grafana
annotations:
cert-manager.io/cluster-issuer: "letsencrypt-prod"
traefik.ingress.kubernetes.io/router.middlewares: authelia-authelia-auth@kubernetescrd
spec:
ingressClassName: traefik
# TLS 설정
tls:
- hosts:
- grafana0213.kro.kr
- www.grafana0213.kro.kr
secretName: grafana-tls
rules:
- host: grafana0213.kro.kr
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: grafana
port:
number: 80
- host: www.grafana0213.kro.kr
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: grafana
port:
number: 80

View File

@@ -2,7 +2,3 @@ apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization kind: Kustomization
resources: resources:
- vault/grafana-admin-password.yaml - vault/grafana-admin-password.yaml
- ingress.yaml
# Dashboard JSON files are stored in dashboards/ for manual import reference
# Auto-provisioning disabled due to ConfigMap size limits

View File

@@ -30,3 +30,19 @@ serviceMonitor:
enabled: true enabled: true
namespace: prometheus namespace: prometheus
interval: 60s interval: 60s
ingress:
enabled: true
className: traefik
annotations:
cert-manager.io/cluster-issuer: letsencrypt-prod
traefik.ingress.kubernetes.io/router.middlewares: authelia-authelia-auth@kubernetescrd
hosts:
- host: kuma0213.kro.kr
paths:
- path: /
pathType: Prefix
tls:
- secretName: uptime-kuma-tls
hosts:
- kuma0213.kro.kr

View File

@@ -1,25 +0,0 @@
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: uptime-kuma-ingress
namespace: uptime-kuma
annotations:
cert-manager.io/cluster-issuer: "letsencrypt-prod"
traefik.ingress.kubernetes.io/router.middlewares: authelia-authelia-auth@kubernetescrd
spec:
ingressClassName: traefik
tls:
- hosts:
- kuma0213.kro.kr
secretName: uptime-kuma-tls
rules:
- host: kuma0213.kro.kr
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: uptime-kuma
port:
number: 3001

View File

@@ -1,5 +1,3 @@
apiVersion: kustomize.config.k8s.io/v1beta1 apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization kind: Kustomization
resources: []
resources:
- ingress.yaml