Docs / Uninstall

Uninstall

Removing SkelaDB is a two-step decision: removing the platform, which keeps every database, and deleting the data, which cannot be undone. uninstall.sh in the release bundle does both, and refuses to delete data unless you confirm the exact cluster.

Remove the platform, keep every database

SKELA_KUBE_CONTEXT=<context> ./uninstall.sh

It deletes the controller, the proxy, their Services, NetworkPolicies, RBAC and platform certificates (everything the installer labelled app.kubernetes.io/part-of=skeladb) and stops every database compute and storage pool by scaling it to zero. It keeps:

  • the skela namespace and the Branch resource definition (deleting either would delete every branch);
  • every Branch, disk (PersistentVolumeClaim) and Secret: API tokens, the license key, project identities and database passwords;
  • everything in your bucket.

Running ./install.sh apply again with the same settings brings the platform back and the branches resume. Disks survive because the bundled StorageClass uses reclaimPolicy: Retain; use Retain for your own classes too.

Delete every database

SKELA_KUBE_CONTEXT=<context> SKELA_UNINSTALL_CONFIRM=<context> ./uninstall.sh --delete-data

It refuses unless SKELA_UNINSTALL_CONFIRM names the same context. It then deletes every Branch while the controller is still running, so each one stops its compute and releases its disk, waits up to 30 minutes for them to go, deletes the platform, the skela namespace and the Branch resource definition, and hands any remaining retained disks of the namespace (storage pool and seed disks) back to their provisioner for deletion.

It never deletes:

  • backups, WAL archives and storage pool data under skela/ in your bucket. Keep them for a later restore, or delete them with your cloud tools (object lock and versioning keep them until their retention ends);
  • cloud identities created by the project scripts: IAM roles and policies, managed folders and their bindings, managed identities;
  • the bucket itself, KMS keys and the EKS cluster created by the AWS installer.

To delete a single project’s retained backups while keeping the platform, delete its branches and call DELETE /v1/projects/<project>/retained until it answers purged; the console does this automatically after the project’s retention period.

Remove the console

The console is in its own namespace and keeps its state in your management database:

kubectl delete namespace skela-cloud

The management database, its backups and your encryption key escrow are not touched; delete them yourself once you no longer need the audit trail. Remove the redirect and webhook from your WorkOS environment.

License keys

A license key cannot be revoked online and simply expires. If you are leaving SkelaDB, tell us so we do not send a renewal.