75 lines
1.5 KiB
YAML
75 lines
1.5 KiB
YAML
---
|
|
apiVersion: traefik.io/v1alpha1
|
|
kind: Middleware
|
|
metadata:
|
|
name: keycloak-auth
|
|
spec:
|
|
forwardAuth:
|
|
address: http://oauth2-proxy.oauth2-proxy.svc:80/oauth2/auth
|
|
trustForwardHeader: true
|
|
authResponseHeaders:
|
|
- X-Auth-Request-User
|
|
- X-Auth-Request-Email
|
|
- X-Auth-Request-Groups
|
|
---
|
|
apiVersion: traefik.io/v1alpha1
|
|
kind: Middleware
|
|
metadata:
|
|
name: keycloak-auth-redirect
|
|
spec:
|
|
errors:
|
|
status:
|
|
- "401"
|
|
service:
|
|
name: oauth2-proxy-redirect
|
|
port: 80
|
|
query: /oauth2/sign_in?rd={url}
|
|
---
|
|
apiVersion: v1
|
|
kind: Service
|
|
metadata:
|
|
name: oauth2-proxy-redirect
|
|
spec:
|
|
type: ExternalName
|
|
externalName: oauth2-proxy.oauth2-proxy.svc.cluster.local
|
|
ports:
|
|
- port: 80
|
|
---
|
|
apiVersion: traefik.io/v1alpha1
|
|
kind: IngressRoute
|
|
metadata:
|
|
name: secret-reader
|
|
annotations:
|
|
cert-manager.io/cluster-issuer: letsencrypt
|
|
spec:
|
|
entryPoints:
|
|
- websecure
|
|
routes:
|
|
- match: Host(`secret-reader.hexor.cy`) && PathPrefix(`/oauth2/`)
|
|
kind: Rule
|
|
services:
|
|
- name: oauth2-proxy-redirect
|
|
port: 80
|
|
- match: Host(`secret-reader.hexor.cy`)
|
|
kind: Rule
|
|
middlewares:
|
|
- name: keycloak-auth
|
|
- name: keycloak-auth-redirect
|
|
services:
|
|
- name: secret-reader
|
|
port: 80
|
|
tls:
|
|
secretName: secret-reader-tls
|
|
---
|
|
apiVersion: cert-manager.io/v1
|
|
kind: Certificate
|
|
metadata:
|
|
name: secret-reader-tls
|
|
spec:
|
|
secretName: secret-reader-tls
|
|
issuerRef:
|
|
name: letsencrypt
|
|
kind: ClusterIssuer
|
|
dnsNames:
|
|
- secret-reader.hexor.cy
|