# services/logging/oauth2-proxy.yaml apiVersion: v1 kind: Service metadata: name: oauth2-proxy-logs namespace: logging labels: app: oauth2-proxy-logs spec: ports: - name: http port: 80 targetPort: 4180 selector: app: oauth2-proxy-logs --- apiVersion: apps/v1 kind: Deployment metadata: name: oauth2-proxy-logs namespace: logging labels: app: oauth2-proxy-logs spec: replicas: 2 selector: matchLabels: app: oauth2-proxy-logs template: metadata: labels: app: oauth2-proxy-logs annotations: vault.hashicorp.com/agent-inject: "true" vault.hashicorp.com/role: "logging" vault.hashicorp.com/agent-inject-secret-oidc-env: "kv/data/atlas/logging/oauth2-proxy-logs-oidc" vault.hashicorp.com/agent-inject-template-oidc-env: | {{- with secret "kv/data/atlas/logging/oauth2-proxy-logs-oidc" -}} export OAUTH2_PROXY_CLIENT_ID="{{ .Data.data.client_id }}" export OAUTH2_PROXY_CLIENT_SECRET="{{ .Data.data.client_secret }}" export OAUTH2_PROXY_COOKIE_SECRET="{{ .Data.data.cookie_secret }}" {{- end -}} spec: serviceAccountName: logging-vault-sync imagePullSecrets: - name: harbor-regcred nodeSelector: node-role.kubernetes.io/worker: "true" affinity: nodeAffinity: requiredDuringSchedulingIgnoredDuringExecution: nodeSelectorTerms: - matchExpressions: - key: hardware operator: In values: - rpi5 - rpi4 containers: - name: oauth2-proxy image: registry.bstein.dev/tools/oauth2-proxy-vault:v7.6.0 imagePullPolicy: IfNotPresent command: ["/entrypoint.sh"] args: - /bin/oauth2-proxy - --provider=oidc - --redirect-url=https://logs.bstein.dev/oauth2/callback - --oidc-issuer-url=https://sso.bstein.dev/realms/atlas - --scope=openid profile email - --email-domain=* - --code-challenge-method=S256 - --set-xauthrequest=true - --pass-access-token=true - --set-authorization-header=true - --cookie-secure=true - --cookie-samesite=lax - --cookie-refresh=20m - --cookie-expire=168h - --insecure-oidc-allow-unverified-email=true - --upstream=http://opensearch-dashboards.logging.svc.cluster.local:5601 - --http-address=0.0.0.0:4180 - --skip-provider-button=true - --skip-jwt-bearer-tokens=true - --cookie-domain=logs.bstein.dev env: - name: VAULT_ENV_FILE value: /vault/secrets/oidc-env ports: - containerPort: 4180 name: http readinessProbe: httpGet: path: /ping port: 4180 initialDelaySeconds: 5 periodSeconds: 10 livenessProbe: httpGet: path: /ping port: 4180 initialDelaySeconds: 20 periodSeconds: 20