Files
zitadel/apps/docs/content/self-hosting/deploy/kubernetes/uninstalling.mdx
T
Florian ForsterandGitHub 413f8ba585 docs: add missing k8s example (#11474)
This pull request significantly expands and restructures the Kubernetes
deployment documentation for Zitadel. It introduces detailed,
task-focused guides for installation, configuration, ingress, and
database setup, replacing the previous minimal documentation. The new
docs provide comprehensive instructions and best practices for deploying
Zitadel on Kubernetes using Helm, including security, scaling, and high
availability considerations.

The most important changes are:

**Documentation Restructuring and Overview**
- Added a new `index.mdx` providing an overview of the Zitadel Helm
chart, architecture, prerequisites, and quick links to relevant
resources and next steps.
- Removed the old minimal Kubernetes deployment page and replaced it
with a structured, multi-page documentation set.

**Installation and Setup**
- Added an `installation.mdx` guide with step-by-step instructions for
preparing prerequisites, creating Kubernetes secrets, configuring
`values.yaml`, installing the Helm chart, and verifying the deployment.

**Configuration and Best Practices**
- Added a `configuration.mdx` guide covering Helm chart configuration
options, including replica count, container images, security contexts,
external domain setup, secrets management, scaling, autoscaling, pod
disruption budgets, and anti-affinity rules.

**Ingress and Database Configuration**
- Added an `ingress.mdx` guide detailing how to configure Kubernetes
ingress resources for Zitadel and Login containers, including TLS
termination and certificate management.
- Added a `database.mdx` guide explaining how to connect Zitadel to
PostgreSQL with various TLS/security options and how to manage database
credentials and certificates using Kubernetes secrets.
2026-01-30 08:27:01 +01:00

60 lines
1.4 KiB
Plaintext

---
title: Uninstalling
sidebar_label: Uninstalling
---
This guide covers how to remove Zitadel from your Kubernetes cluster.
## Uninstall the Helm Release
```bash
helm uninstall my-zitadel
```
## Clean Up Helm Hooks
> ⚠️ **Important:** The Zitadel chart uses Helm hooks, which are [not garbage collected by helm uninstall](https://helm.sh/docs/topics/charts_hooks/#hook-resources-are-not-managed-with-corresponding-releases).
Remove hook resources manually:
```bash
for k8sresourcetype in job configmap secret rolebinding role serviceaccount; do
kubectl delete $k8sresourcetype \
--selector app.kubernetes.io/name=zitadel,app.kubernetes.io/managed-by=Helm
done
```
## Complete Namespace Teardown
To remove everything including the namespace and any Persistent Volume Claims:
```bash
kubectl delete namespace zitadel
```
> ⚠️ **Warning:** This permanently deletes all data in the namespace, including any PVCs. Ensure you have backups if needed.
## Verify Removal
Confirm all resources have been removed.
Check for remaining Zitadel resources:
```bash
kubectl get all --selector app.kubernetes.io/name=zitadel
```
Check for remaining secrets:
```bash
kubectl get secrets --selector app.kubernetes.io/name=zitadel
```
If you did not delete the namespace, check for remaining PVCs:
```bash
kubectl get pvc --selector app.kubernetes.io/name=zitadel
```