# goauthentik/helm architecture

> Architecture diagram of the GitHub repository goauthentik/helm, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-11-10). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/goauthentik/helm
- Repository: https://github.com/goauthentik/helm

## Overview

This repository packages authentik as two Helm charts: the main chart and a remote-cluster chart. The tree identifies server and worker Kubernetes resources in the main chart, and service-account and RBAC resources in the remote-cluster chart. The supplied README only points to the chart-specific READMEs; their contents and chart templates were not provided, so relationships and runtime behavior cannot be verified and are omitted.

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_main["Authentik chart"]
  node_main_chart["Main Helm chart<br/>[Chart.yaml]"]
  node_server["Server resources<br/>[deployment.yaml]"]
  node_worker["Worker resources<br/>[deployment.yaml]"]
  node_server_service["Server service<br/>[service.yaml]"]
  node_server_ingress["Server ingress<br/>[ingress.yaml]"]
  node_server_metrics["Server metrics<br/>[metrics.yaml]"]
  node_worker_metrics["Worker metrics<br/>[metrics.yaml]"]
  node_chart_secret["Chart secret<br/>[secret.yaml]"]
end

subgraph group_remote["Remote cluster chart"]
  node_remote_chart["Remote-cluster chart<br/>[Chart.yaml]"]
  node_service_account["Service account"]
  node_cluster_role["Cluster role<br/>[clusterrole.yaml]"]
  node_cluster_binding["Cluster role binding"]
  node_namespace_role["Namespace role<br/>[role.yaml]"]
  node_namespace_binding["Role binding<br/>[rolebinding.yaml]"]
end

click node_main_chart "https://github.com/goauthentik/helm/blob/main/charts/authentik/Chart.yaml"
click node_server "https://github.com/goauthentik/helm/blob/main/charts/authentik/templates/server/deployment.yaml"
click node_worker "https://github.com/goauthentik/helm/blob/main/charts/authentik/templates/worker/deployment.yaml"
click node_server_service "https://github.com/goauthentik/helm/blob/main/charts/authentik/templates/server/service.yaml"
click node_server_ingress "https://github.com/goauthentik/helm/blob/main/charts/authentik/templates/server/ingress.yaml"
click node_server_metrics "https://github.com/goauthentik/helm/blob/main/charts/authentik/templates/server/metrics.yaml"
click node_worker_metrics "https://github.com/goauthentik/helm/blob/main/charts/authentik/templates/worker/metrics.yaml"
click node_chart_secret "https://github.com/goauthentik/helm/blob/main/charts/authentik/templates/secret.yaml"
click node_remote_chart "https://github.com/goauthentik/helm/blob/main/charts/authentik-remote-cluster/Chart.yaml"
click node_service_account "https://github.com/goauthentik/helm/blob/main/charts/authentik-remote-cluster/templates/serviceaccount.yaml"
click node_cluster_role "https://github.com/goauthentik/helm/blob/main/charts/authentik-remote-cluster/templates/clusterrole.yaml"
click node_cluster_binding "https://github.com/goauthentik/helm/blob/main/charts/authentik-remote-cluster/templates/clusterrolebinding.yaml"
click node_namespace_role "https://github.com/goauthentik/helm/blob/main/charts/authentik-remote-cluster/templates/role.yaml"
click node_namespace_binding "https://github.com/goauthentik/helm/blob/main/charts/authentik-remote-cluster/templates/rolebinding.yaml"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_main_chart,node_server,node_worker,node_server_service,node_server_ingress,node_server_metrics,node_worker_metrics,node_chart_secret toneBlue
class node_remote_chart,node_service_account,node_cluster_role,node_cluster_binding,node_namespace_role,node_namespace_binding toneAmber
```

## Components

### Authentik chart

- [Main Helm chart](https://github.com/goauthentik/helm/blob/main/charts/authentik/Chart.yaml): `charts/authentik/Chart.yaml`
- [Server resources](https://github.com/goauthentik/helm/blob/main/charts/authentik/templates/server/deployment.yaml): `charts/authentik/templates/server/deployment.yaml`
- [Worker resources](https://github.com/goauthentik/helm/blob/main/charts/authentik/templates/worker/deployment.yaml): `charts/authentik/templates/worker/deployment.yaml`
- [Server service](https://github.com/goauthentik/helm/blob/main/charts/authentik/templates/server/service.yaml): `charts/authentik/templates/server/service.yaml`
- [Server ingress](https://github.com/goauthentik/helm/blob/main/charts/authentik/templates/server/ingress.yaml): `charts/authentik/templates/server/ingress.yaml`
- [Server metrics](https://github.com/goauthentik/helm/blob/main/charts/authentik/templates/server/metrics.yaml): `charts/authentik/templates/server/metrics.yaml`
- [Worker metrics](https://github.com/goauthentik/helm/blob/main/charts/authentik/templates/worker/metrics.yaml): `charts/authentik/templates/worker/metrics.yaml`
- [Chart secret](https://github.com/goauthentik/helm/blob/main/charts/authentik/templates/secret.yaml): `charts/authentik/templates/secret.yaml`

### Remote cluster chart

- [Remote-cluster chart](https://github.com/goauthentik/helm/blob/main/charts/authentik-remote-cluster/Chart.yaml): `charts/authentik-remote-cluster/Chart.yaml`
- [Service account](https://github.com/goauthentik/helm/blob/main/charts/authentik-remote-cluster/templates/serviceaccount.yaml): `charts/authentik-remote-cluster/templates/serviceaccount.yaml`
- [Cluster role](https://github.com/goauthentik/helm/blob/main/charts/authentik-remote-cluster/templates/clusterrole.yaml): `charts/authentik-remote-cluster/templates/clusterrole.yaml`
- [Cluster role binding](https://github.com/goauthentik/helm/blob/main/charts/authentik-remote-cluster/templates/clusterrolebinding.yaml): `charts/authentik-remote-cluster/templates/clusterrolebinding.yaml`
- [Namespace role](https://github.com/goauthentik/helm/blob/main/charts/authentik-remote-cluster/templates/role.yaml): `charts/authentik-remote-cluster/templates/role.yaml`
- [Role binding](https://github.com/goauthentik/helm/blob/main/charts/authentik-remote-cluster/templates/rolebinding.yaml): `charts/authentik-remote-cluster/templates/rolebinding.yaml`
