Files
gitops/add-ons/authentik/blueprint-jellyfin-ldap.yaml
T

102 lines
3.3 KiB
YAML

apiVersion: v1
kind: ConfigMap
metadata:
name: blueprint-jellyfin-ldap
namespace: authentik
data:
jellyfin-ldap.yaml: |
version: 1
metadata:
name: Jellyfin LDAP
entries:
- model: authentik_stages_password.passwordstage
id: ldap-password
identifiers:
name: ldap-authentication-password
attrs:
backends:
- authentik.core.auth.InbuiltBackend
- authentik.core.auth.TokenBackend
- model: authentik_stages_identification.identificationstage
id: ldap-identification
identifiers:
name: ldap-authentication-identification
attrs:
user_fields:
- username
password_stage: !KeyOf ldap-password
- model: authentik_stages_user_login.userloginstage
id: ldap-login
identifiers:
name: ldap-authentication-login
- model: authentik_flows.flow
id: ldap-flow
identifiers:
slug: ldap-authentication
attrs:
designation: authentication
name: LDAP bind
title: LDAP bind
- model: authentik_flows.flowstagebinding
identifiers:
order: 10
stage: !KeyOf ldap-identification
target: !KeyOf ldap-flow
- model: authentik_flows.flowstagebinding
identifiers:
order: 30
stage: !KeyOf ldap-login
target: !KeyOf ldap-flow
- model: authentik_core.user
id: ldap-jellyfin
identifiers:
username: ldap-jellyfin
attrs:
name: Jellyfin LDAP bind
password: !Env JELLYFIN_LDAP_PASSWORD
- model: authentik_providers_ldap.ldapprovider
id: jellyfin-ldap-provider
identifiers:
name: jellyfin-ldap
attrs:
authorization_flow: !KeyOf ldap-flow
invalidation_flow: !Find [authentik_flows.flow, [slug, default-invalidation-flow]]
base_dn: dc=ldap,dc=goauthentik,dc=io
certificate: !Find [authentik_crypto.certificatekeypair, [name, authentik Self-signed Certificate]]
bind_mode: direct
search_mode: direct
mfa_support: false # else ";" in a password is read as a TOTP separator
permissions:
- permission: authentik_providers_ldap.search_full_directory
user: !KeyOf ldap-jellyfin
- model: authentik_core.application
id: jellyfin-ldap
identifiers:
slug: jellyfin-ldap
attrs:
name: Jellyfin LDAP
provider: !KeyOf jellyfin-ldap-provider
policy_engine_mode: any
- model: authentik_policies.policybinding
identifiers:
order: 0
target: !KeyOf jellyfin-ldap
attrs:
group: !Find [authentik_core.group, [name, admins]]
- model: authentik_policies.policybinding
identifiers:
order: 10
target: !KeyOf jellyfin-ldap
attrs:
user: !KeyOf ldap-jellyfin
- model: authentik_outposts.outpost
identifiers:
name: ldap
attrs:
type: ldap
service_connection: !Find [authentik_outposts.kubernetesserviceconnection, [name, Local Kubernetes Cluster]]
providers:
- !KeyOf jellyfin-ldap-provider
config:
authentik_host: http://authentik-server.authentik.svc.cluster.local