54 lines
1.3 KiB
YAML
54 lines
1.3 KiB
YAML
apiVersion: traefik.io/v1alpha1
|
|
kind: Middleware
|
|
metadata:
|
|
name: firefly-data-importer-auth
|
|
spec:
|
|
forwardAuth:
|
|
address: http://auth-proxy.auth-proxy.svc:80/auth
|
|
trustForwardHeader: true
|
|
authResponseHeaders:
|
|
- X-Auth-Request-User
|
|
- X-Auth-Request-Email
|
|
- X-Auth-Request-Groups
|
|
---
|
|
apiVersion: traefik.io/v1alpha1
|
|
kind: IngressRoute
|
|
metadata:
|
|
name: firefly-data-importer
|
|
spec:
|
|
entryPoints:
|
|
- websecure
|
|
routes:
|
|
# OAuth callback is intentionally public. Data Importer validates both the
|
|
# state parameter and its browser session before exchanging the code.
|
|
- match: Host(`import.hexor.cy`) && Path(`/eb-callback`)
|
|
kind: Rule
|
|
priority: 200
|
|
services:
|
|
- name: firefly-data-importer
|
|
port: 80
|
|
# Everything else requires a valid auth-proxy session and group.
|
|
- match: Host(`import.hexor.cy`)
|
|
kind: Rule
|
|
priority: 100
|
|
middlewares:
|
|
- name: firefly-data-importer-auth
|
|
services:
|
|
- name: firefly-data-importer
|
|
port: 80
|
|
tls:
|
|
secretName: firefly-data-importer-tls
|
|
---
|
|
apiVersion: cert-manager.io/v1
|
|
kind: Certificate
|
|
metadata:
|
|
name: firefly-data-importer-tls
|
|
spec:
|
|
secretName: firefly-data-importer-tls
|
|
issuerRef:
|
|
name: letsencrypt
|
|
kind: ClusterIssuer
|
|
dnsNames:
|
|
- import.hexor.cy
|
|
|