From b06a12fe1db76480ca7afa5e205f52d6c261f73e Mon Sep 17 00:00:00 2001 From: Astra Logical Date: Fri, 3 Apr 2026 20:49:11 -0400 Subject: [PATCH] Add ingress controllers to remaining local services --- monitoring/stack/monitoring-stack.yaml | 8 +-- monitoring/stack/services-external.yaml | 67 ++++++++++++++----- .../abs-kosync-bridge/abs-kosync-ingress.yaml | 19 ++++++ .../lazy-librarian/lazylibrarian-ingress.yaml | 19 ++++++ services/lidarr/lidarr-deployment.yaml | 1 + services/lidarr/lidarr-ingress.yaml | 2 +- services/lidarr/lidarr-service.yaml | 16 ++--- 7 files changed, 102 insertions(+), 30 deletions(-) create mode 100644 services/abs-kosync-bridge/abs-kosync-ingress.yaml create mode 100644 services/lazy-librarian/lazylibrarian-ingress.yaml diff --git a/monitoring/stack/monitoring-stack.yaml b/monitoring/stack/monitoring-stack.yaml index d8b90ac..f89828c 100644 --- a/monitoring/stack/monitoring-stack.yaml +++ b/monitoring/stack/monitoring-stack.yaml @@ -20,7 +20,7 @@ spec: prometheusSpec: serviceMonitorSelectorNilUsesHelmValues: false retention: 10d - externalUrl: http://prometheus.home.nest + externalUrl: http://prometheus.k3s.home.nest storageSpec: volumeClaimTemplate: spec: @@ -64,7 +64,7 @@ spec: **Description:** {{ range .Alerts }}{{ .Annotations.description }}{{ end }} **Severity:** {{ range .Alerts }}{{ .Labels.severity }}{{ end }} alertmanagerSpec: - externalUrl: http://alertmanager.home.nest + externalUrl: http://alertmanager.k3s.home.nest storage: volumeClaimTemplate: spec: @@ -89,8 +89,8 @@ spec: enabled: false grafana.ini: server: - domain: grafana.home.nest - root_url: http://grafana.home.nest + domain: grafana.k3s.home.nest + root_url: http://grafana.k3s.home.nest serve_from_sub_path: false persistence: enabled: true diff --git a/monitoring/stack/services-external.yaml b/monitoring/stack/services-external.yaml index 5789b02..e325284 100644 --- a/monitoring/stack/services-external.yaml +++ b/monitoring/stack/services-external.yaml @@ -2,46 +2,83 @@ apiVersion: v1 kind: Service metadata: - name: grafana-nodeport + name: grafana-internal namespace: monitoring spec: - type: NodePort + type: ClusterIP selector: app.kubernetes.io/name: grafana ports: - - name: "30009" - port: 30009 + - name: http + port: 3000 targetPort: 3000 - nodePort: 30009 --- apiVersion: v1 kind: Service metadata: - name: prometheus-nodeport + name: prometheus-internal namespace: monitoring spec: - type: NodePort + type: ClusterIP selector: app.kubernetes.io/name: prometheus operator.prometheus.io/name: kube-prometheus-stack-prometheus ports: - - name: "30001" - port: 30001 + - name: http + port: 9090 targetPort: 9090 - nodePort: 30001 --- apiVersion: v1 kind: Service metadata: - name: alertmanager-nodeport + name: alertmanager-internal namespace: monitoring spec: - type: NodePort + type: ClusterIP selector: app.kubernetes.io/name: alertmanager app.kubernetes.io/instance: kube-prometheus-stack-alertmanager ports: - - name: "30002" - port: 30002 + - name: http + port: 9093 targetPort: 9093 - nodePort: 30002 +--- +apiVersion: networking.k8s.io/v1 +kind: Ingress +metadata: + name: monitoring-ingress + namespace: monitoring + annotations: + traefik.ingress.kubernetes.io/router.entrypoints: web +spec: + rules: + - host: grafana.k3s.home.nest + http: + paths: + - path: / + pathType: Prefix + backend: + service: + name: grafana-internal + port: + number: 3000 + - host: prometheus.k3s.home.nest + http: + paths: + - path: / + pathType: Prefix + backend: + service: + name: prometheus-internal + port: + number: 9090 + - host: alertmanager.k3s.home.nest + http: + paths: + - path: / + pathType: Prefix + backend: + service: + name: alertmanager-internal + port: + number: 9093 diff --git a/services/abs-kosync-bridge/abs-kosync-ingress.yaml b/services/abs-kosync-bridge/abs-kosync-ingress.yaml new file mode 100644 index 0000000..a251f0c --- /dev/null +++ b/services/abs-kosync-bridge/abs-kosync-ingress.yaml @@ -0,0 +1,19 @@ +apiVersion: networking.k8s.io/v1 +kind: Ingress +metadata: + name: abs-kosync-ingress + namespace: default + annotations: + traefik.ingress.kubernetes.io/router.entrypoints: web +spec: + rules: + - host: abs-kosync.k3s.home.nest + http: + paths: + - path: / + pathType: Prefix + backend: + service: + name: abs-kosync + port: + number: 31080 diff --git a/services/lazy-librarian/lazylibrarian-ingress.yaml b/services/lazy-librarian/lazylibrarian-ingress.yaml new file mode 100644 index 0000000..d9f6e7a --- /dev/null +++ b/services/lazy-librarian/lazylibrarian-ingress.yaml @@ -0,0 +1,19 @@ +apiVersion: networking.k8s.io/v1 +kind: Ingress +metadata: + name: lazy-librarian-ingress + namespace: default + annotations: + traefik.ingress.kubernetes.io/router.entrypoints: web +spec: + rules: + - host: lazy-librarian.k3s.home.nest + http: + paths: + - path: / + pathType: Prefix + backend: + service: + name: lazylibrarian + port: + number: 30787 diff --git a/services/lidarr/lidarr-deployment.yaml b/services/lidarr/lidarr-deployment.yaml index 221db51..bce4764 100644 --- a/services/lidarr/lidarr-deployment.yaml +++ b/services/lidarr/lidarr-deployment.yaml @@ -36,6 +36,7 @@ spec: name: lidarr ports: - containerPort: 8686 + name: lidarr-ui protocol: TCP volumeMounts: - mountPath: /config diff --git a/services/lidarr/lidarr-ingress.yaml b/services/lidarr/lidarr-ingress.yaml index 1c372bd..d748de6 100644 --- a/services/lidarr/lidarr-ingress.yaml +++ b/services/lidarr/lidarr-ingress.yaml @@ -16,4 +16,4 @@ spec: service: name: lidarr port: - number: 30686 + name: http-web diff --git a/services/lidarr/lidarr-service.yaml b/services/lidarr/lidarr-service.yaml index a0a3864..1a842df 100644 --- a/services/lidarr/lidarr-service.yaml +++ b/services/lidarr/lidarr-service.yaml @@ -1,18 +1,14 @@ +--- apiVersion: v1 kind: Service metadata: - annotations: - kompose.cmd: kompose convert -f compose-yarr.yaml - kompose.version: 1.38.0 (HEAD) - labels: - io.kompose.service: lidarr name: lidarr + namespace: default spec: - type: NodePort + type: ClusterIP ports: - - name: "30686" - port: 30686 - targetPort: 8686 - nodePort: 30686 + - name: http-web + port: 80 + targetPort: lidarr-ui selector: io.kompose.service: lidarr