Open source Kubernetes operator for Kanidm

Manage Kanidm on Kubernetes with confidence.

Deploy, configure, and operate Kanidm clusters and identity resources through the Kubernetes API. Built for declarative workflows, predictable reconciliation, and GitOps.

Kanidm is the identity server. Kaniop operates it on Kubernetes and reconciles identity resources from GitOps workflows.

Open source · Kubernetes-native · Built in Rust

kanidm.yaml YAML
apiVersion: kaniop.rs/v1beta1
kind: Kanidm
metadata:
  name: my-idm
spec:
  domain: my-idm.localhost
  replicaGroups:
    - name: default
      replicas: 1
Real Kubernetes CRD examples Full reference →
Kubernetes APIDesired state
KaniopReconciliation
KanidmIdentity service
GitOps readyManage identity as code
Kubernetes nativeStandard CRDs and controllers
Identity resourcesPersons, groups, OAuth2 & more
Operational safetyConservative stateful workflows

ARCHITECTURE

Kubernetes-native by design.

Kaniop continuously reconciles Kubernetes custom resources. Kubernetes defines the desired deployment state, Kaniop coordinates operations, and Kanidm remains responsible for identity, persistence, and replication correctness.

Explore the architecture

QUICKSTART

Get started with Kaniop.

Install the operator with Helm, then use the documented Kubernetes resources to deploy and manage Kanidm.

  1. 1
    Install the operatorUse the official Helm chart from GHCR.
  2. 2
    Declare a Kanidm clusterApply the manifests in the quickstart guide.
  3. 3
    Manage identity as codeAdd persons, groups, and OAuth2 clients through CRDs.
Follow the full quickstart
Install with HelmShell
helm install --create-namespace \
  --namespace kaniop --wait kaniop \
  oci://ghcr.io/pando85/helm-charts/kaniop

kubectl get pods -n kaniop

See the guide for prerequisites and production configuration.
Installation documentation

OPEN SOURCE

Built openly. Improved together.

Explore the source, follow releases, report issues, and help shape Kaniop.