Compare commits

...
5 Commits
10 changed files with 102 additions and 12 deletions
+15 -1
View File
@@ -15,8 +15,22 @@ spec:
sectionName: websecure sectionName: websecure
rules: rules:
- backendRefs: - backendRefs:
- name: garage-ui - name: authentik-server
namespace: authentik
port: 80 port: 80
matches:
- path:
type: PathPrefix
value: /outpost.goauthentik.io
- backendRefs:
- name: garage-ui
port: 80
filters:
- extensionRef:
group: traefik.io
kind: Middleware
name: authentik
type: ExtensionRef
matches: matches:
- path: - path:
type: PathPrefix type: PathPrefix
+1
View File
@@ -2,4 +2,5 @@ apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization kind: Kustomization
resources: resources:
- sealed-secret.yaml - sealed-secret.yaml
- middleware.yaml
- httproute.yaml - httproute.yaml
+17
View File
@@ -0,0 +1,17 @@
apiVersion: traefik.io/v1alpha1
kind: Middleware
metadata:
annotations:
argocd.argoproj.io/sync-wave: "1"
name: authentik
namespace: garage
spec:
forwardAuth:
address: http://authentik-server.authentik.svc.cluster.local/outpost.goauthentik.io/auth/traefik
authResponseHeaders:
- X-authentik-username
- X-authentik-groups
- X-authentik-email
- X-authentik-name
- X-authentik-uid
trustForwardHeader: true
+1 -3
View File
@@ -27,9 +27,7 @@ spec:
name: garage-ui-secrets name: garage-ui-secrets
auth: auth:
admin: admin:
enabled: true enabled: false
existingSecret:
name: garage-ui-secrets
jwt_private_key_secret: jwt_private_key_secret:
name: garage-ui-secrets name: garage-ui-secrets
cors: cors:
+13
View File
@@ -39,6 +39,19 @@ spec:
websiteUpstream: garage.garage.svc.cluster.local:3902 websiteUpstream: garage.garage.svc.cluster.local:3902
bucket: redoost-sites bucket: redoost-sites
existingSecret: redoost-s3 existingSecret: redoost-s3
networkPolicy:
enabled: true
gateway:
- namespaceSelector:
matchLabels:
kubernetes.io/metadata.name: traefik
s3:
- namespaceSelector:
matchLabels:
kubernetes.io/metadata.name: garage
podSelector:
matchLabels:
app.kubernetes.io/name: garage
- path: apps/redoost - path: apps/redoost
repoURL: https://gitea.whyredfire.dev/whyredfire/gitops.git repoURL: https://gitea.whyredfire.dev/whyredfire/gitops.git
targetRevision: main targetRevision: main
+1
View File
@@ -8,6 +8,7 @@ data:
issuer: https://auth.whyredfire.dev/application/o/argocd/ issuer: https://auth.whyredfire.dev/application/o/argocd/
clientID: argocd clientID: argocd
clientSecret: $argocd-oidc:clientSecret clientSecret: $argocd-oidc:clientSecret
enablePKCEAuthentication: true
requestedScopes: requestedScopes:
- openid - openid
- profile - profile
+22 -8
View File
@@ -4,18 +4,11 @@ metadata:
name: authentik-blueprints name: authentik-blueprints
namespace: authentik namespace: authentik
data: data:
# Google is the only way in: its source has no enrollment flow, so a Google
# account can only log in when a user with the same email already exists.
google-login.yaml: | google-login.yaml: |
version: 1 version: 1
metadata: metadata:
name: Google login name: Google login
entries: entries:
- model: authentik_blueprints.metaapplyblueprint
attrs:
identifiers:
path: default/flow-default-authentication-flow.yaml
required: true
- model: authentik_blueprints.metaapplyblueprint - model: authentik_blueprints.metaapplyblueprint
attrs: attrs:
identifiers: identifiers:
@@ -48,8 +41,29 @@ data:
provider_type: google provider_type: google
user_matching_mode: email_link user_matching_mode: email_link
- model: authentik_stages_identification.identificationstage - model: authentik_stages_identification.identificationstage
id: google-identification
identifiers: identifiers:
name: default-authentication-identification name: google-identification
attrs: attrs:
sources: sources:
- !KeyOf google - !KeyOf google
user_fields: []
- model: authentik_flows.flow
id: google-flow
identifiers:
slug: google-login
attrs:
authentication: require_unauthenticated
designation: authentication
name: Google login
title: Welcome!
- model: authentik_flows.flowstagebinding
identifiers:
order: 10
stage: !KeyOf google-identification
target: !KeyOf google-flow
- model: authentik_brands.brand
identifiers:
domain: authentik-default
attrs:
flow_authentication: !KeyOf google-flow
+14
View File
@@ -14,6 +14,20 @@ spec:
namespace: traefik namespace: traefik
sectionName: websecure sectionName: websecure
rules: rules:
# The ArgoCD Android app posts to the token endpoint without its trailing slash
- backendRefs:
- name: authentik-server
port: 80
filters:
- type: URLRewrite
urlRewrite:
path:
replaceFullPath: /application/o/token/
type: ReplaceFullPath
matches:
- path:
type: Exact
value: /application/o/token
- backendRefs: - backendRefs:
- name: authentik-server - name: authentik-server
port: 80 port: 80
+1
View File
@@ -4,3 +4,4 @@ resources:
- sealed-secret.yaml - sealed-secret.yaml
- blueprints.yaml - blueprints.yaml
- httproute.yaml - httproute.yaml
- referencegrant.yaml
+17
View File
@@ -0,0 +1,17 @@
apiVersion: gateway.networking.k8s.io/v1
kind: ReferenceGrant
metadata:
name: outpost
namespace: authentik
spec:
from:
- group: gateway.networking.k8s.io
kind: HTTPRoute
namespace: garage
- group: gateway.networking.k8s.io
kind: HTTPRoute
namespace: qbit
to:
- group: ""
kind: Service
name: authentik-server