130 lines
3.2 KiB
YAML
130 lines
3.2 KiB
YAML
apiVersion: v1
|
|
kind: Service
|
|
metadata:
|
|
name: duplicati
|
|
spec:
|
|
ports:
|
|
- name: app
|
|
port: 8200
|
|
protocol: TCP
|
|
targetPort: 8200
|
|
clusterIP: None
|
|
type: ClusterIP
|
|
|
|
---
|
|
|
|
apiVersion: v1
|
|
kind: Endpoints
|
|
metadata:
|
|
name: duplicati
|
|
subsets:
|
|
- addresses:
|
|
- ip: 192.168.20.253
|
|
ports:
|
|
- name: app
|
|
port: 8200
|
|
protocol: TCP
|
|
|
|
#---
|
|
#
|
|
#apiVersion: networking.k8s.io/v1
|
|
#kind: Ingress
|
|
#metadata:
|
|
# name: duplicati-ingress
|
|
# annotations:
|
|
# kubernetes.io/ingress.class: nginx
|
|
# cert-manager.io/cluster-issuer: letsencrypt-production
|
|
# nginx.ingress.kubernetes.io/whitelist-source-range: "192.168.0.0/16"
|
|
# nginx.ingress.kubernetes.io/auth-url: |-
|
|
# http://ak-outpost-authentik-embedded-outpost.authentik.svc.cluster.local:9000/outpost.goauthentik.io/auth/nginx
|
|
# nginx.ingress.kubernetes.io/auth-signin: |-
|
|
# https://duplicati.internal.durp.info/outpost.goauthentik.io/start?rd=$escaped_request_uri
|
|
# nginx.ingress.kubernetes.io/auth-response-headers: |-
|
|
# Set-Cookie,X-authentik-username,X-authentik-groups,X-authentik-email,X-authentik-name,X-authentik-uid
|
|
# nginx.ingress.kubernetes.io/auth-snippet: |
|
|
# proxy_set_header X-Forwarded-Host $http_host;
|
|
#spec:
|
|
# rules:
|
|
# - host: duplicati.internal.durp.info
|
|
# http:
|
|
# paths:
|
|
# - path: /
|
|
# pathType: Prefix
|
|
# backend:
|
|
# service:
|
|
# name: duplicati
|
|
# port:
|
|
# number: 8200
|
|
# - path: /outpost.goauthentik.io
|
|
# pathType: Prefix
|
|
# backend:
|
|
# service:
|
|
# name: ak-outpost-authentik-embedded-outpost
|
|
# port:
|
|
# number: 9000
|
|
# tls:
|
|
# - hosts:
|
|
# - duplicati.internal.durp.info
|
|
# secretName: duplicati-tls
|
|
|
|
---
|
|
|
|
apiVersion: traefik.containo.us/v1alpha1
|
|
kind: IngressRoute
|
|
metadata:
|
|
name: duplicati-ingress
|
|
annotations:
|
|
cert-manager.io/cluster-issuer: letsencrypt-production
|
|
traefik.ingress.kubernetes.io/auth-type: forward
|
|
spec:
|
|
entryPoints:
|
|
- websecure
|
|
routes:
|
|
- match: Host(`duplicati.internal.durp.info`) && PathPrefix(`/`)
|
|
kind: Rule
|
|
services:
|
|
- name: duplicati
|
|
port: 8200
|
|
middlewares:
|
|
- name: authentik
|
|
namespace: traefik
|
|
- match: Host(`duplicati.internal.durp.info`) && PathPrefix(`/outpost.goauthentik.io`)
|
|
kind: Rule
|
|
services:
|
|
- name: ak-outpost-authentik-embedded-outpost
|
|
port: 9000
|
|
tls:
|
|
secretName: duplicati-tls
|
|
|
|
---
|
|
apiVersion: traefik.containo.us/v1alpha1
|
|
kind: Middleware
|
|
metadata:
|
|
name: authentik
|
|
namespace: traefik
|
|
spec:
|
|
forwardAuth:
|
|
address: http://ak-outpost-authentik-embedded-outpost.authentik.svc.cluster.local:9000/outpost.goauthentik.io/auth/traefik
|
|
trustForwardHeader: true
|
|
authResponseHeaders:
|
|
- X-authentik-username
|
|
- X-authentik-groups
|
|
- X-authentik-email
|
|
- X-authentik-name
|
|
- X-authentik-uid
|
|
- X-authentik-jwt
|
|
- X-authentik-meta-jwks
|
|
- X-authentik-meta-outpost
|
|
- X-authentik-meta-provider
|
|
- X-authentik-meta-app
|
|
- X-authentik-meta-version
|
|
|
|
---
|
|
|
|
kind: Service
|
|
apiVersion: v1
|
|
metadata:
|
|
name: ak-outpost-authentik-embedded-outpost
|
|
spec:
|
|
type: ExternalName
|
|
externalName: ak-outpost-authentik-embedded-outpost.authentik.svc.cluster.local |