Expose authenticated Loki push endpoint for tsunagi logs
Update Kubernetes Services Wiki / Generate and Update K8s Wiki (push) Successful in 5s

This commit is contained in:
Ultradesu committed 2026-10-18 00:35:03 +01:00
1 parent 8a4849733c
commit 52780edbb5
4 files changed
+52 -3

No files matched your search

+1 -1
View File
@@ -25,7 +25,7 @@ spec:
homelab.hexor.cy/exposure: external
containers:
- name: auth-proxy
image: ultradesu/rsauth2-proxy:latest
image: ultradesu/rsauth2-proxy:v0.1.3
ports:
- containerPort: 8080
name: http
@@ -6,6 +6,7 @@ resources:
- external-secrets.yaml
- alertmanager-config.yaml
- ingress.yaml
- loki-ingress.yaml
- service-monitors.yaml
- dashboards/auth-proxy-dashboard-cm.yaml
- dashboards/furumi-dashboard-cm.yaml
+48
View File
@@ -0,0 +1,48 @@
apiVersion: traefik.io/v1alpha1
kind: Middleware
metadata:
name: loki-machine-auth
spec:
forwardAuth:
address: http://auth-proxy.keycloak.svc:80/auth
trustForwardHeader: false
---
# Do not pass the Keycloak client secret through to Loki after ForwardAuth.
apiVersion: traefik.io/v1alpha1
kind: Middleware
metadata:
name: loki-strip-authorization
spec:
headers:
customRequestHeaders:
Authorization: ""
---
apiVersion: traefik.io/v1alpha1
kind: IngressRoute
metadata:
name: loki-push
spec:
entryPoints: [websecure]
routes:
- match: Host(`loki.hexor.cy`) && Path(`/loki/api/v1/push`) && Method(`POST`)
kind: Rule
middlewares:
- name: loki-machine-auth
- name: loki-strip-authorization
services:
- name: loki-gateway
port: 80
tls:
secretName: loki-push-tls
---
apiVersion: cert-manager.io/v1
kind: Certificate
metadata:
name: loki-push-tls
spec:
secretName: loki-push-tls
issuerRef:
name: letsencrypt
kind: ClusterIssuer
dnsNames:
- loki.hexor.cy
+2 -2
View File
@@ -81,7 +81,7 @@ sidecar:
gateway:
enabled: true
# Gateway replicas can run on either external core node; Loki storage stays on music.
replicas: 1
replicas: 2
nodeSelector:
homelab.hexor.cy/pool: core
homelab.hexor.cy/exposure: external
@@ -97,7 +97,7 @@ gateway:
cpu: 500m
memory: 256Mi
podDisruptionBudget:
enabled: false
enabled: true
test:
enabled: false