Compare commits
5
Commits
e1da29adbe
..
main
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
96db9b3511 | ||
|
|
7b94d671e4 | ||
|
|
f553fd3cd9 | ||
|
|
ca90f591bd | ||
|
|
b91cc2409c |
@@ -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
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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
|
||||||
@@ -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:
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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,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
|
||||||
|
|||||||
@@ -4,3 +4,4 @@ resources:
|
|||||||
- sealed-secret.yaml
|
- sealed-secret.yaml
|
||||||
- blueprints.yaml
|
- blueprints.yaml
|
||||||
- httproute.yaml
|
- httproute.yaml
|
||||||
|
- referencegrant.yaml
|
||||||
|
|||||||
@@ -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
|
||||||
Reference in New Issue
Block a user