aboutsummaryrefslogtreecommitdiffstats
path: root/docs/docs/services/LDAP/index.md
blob: 66f6da835beb9cf8e804a179ce403d9e9a14e698 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
---
description: LDAP services hosted by Python Discord
---
# Overview

This document describes the LDAP setup for Python Discord. We use LDAP to manage
user accounts and permissions for our services.

We deploy several services to manage our LDAP, a brief overview of how they
interact is shown below:

```mermaid
flowchart TD
    subgraph internal[Internal Services]

    subgraph ldap[LDAP services]
    FIPA[("FreeIPA")]
    KC[Keycloak]

    KC-- Authenticates with LDAP -->FIPA
    end

    KA[King Arthur]-- Updates users -->FIPA
    KA-- Updates users -->KC

    G["Grafana (and others)"]-- Authenticates with LDAP --->FIPA

    subgraph mail[Mail]
    P[Postfix]-- Fetches user mail settings --> FIPA
    S[SASLAuthD]-- Authenticates users with LDAP ---> FIPA
    S<-- Authenticates Users -->P
    end
    end

    subgraph ext[External Services]
    CA[Cloudflare Access]-- Authenticates with SAML ----> KC
    end
```

## Services

LDAP services are provided by:

- [FreeIPA](components/freeipa.md)
- [Keycloak](components/keycloak.md)