Docs / License keys

License keys

SkelaDB is licensed per installation with a signed license key. The key is required: without one the platform installs and runs, but refuses to create databases.

Who Key Terms
Organizations with less than USD 1M in annual revenue Free Self-hosted license agreement (LICENSE-EULA.md)
Everyone else Annual license A signed agreement with an annual fee based on usage and revenue

Revenue is that of the legal entity using SkelaDB together with its affiliates.

Get a key

Email founders@skeladb.com with the subject “SkelaDB free license key”, or use the contact form at https://skeladb.com/contact with the topic “Free license key”. Tell us:

  • your organization’s legal name;
  • that its annual revenue is under USD 1M;
  • the name and email of the administrator who should receive the key;
  • roughly how many projects and branches you expect.

We reply with a signed key, usually within one business day. Free keys are valid for 12 months and renewable. For an annual license, write to the same address.

What a key contains

A key is one line, <payload>.<signature>. It names your organization and carries an expiry, the number of branches and projects you may run, and any features of your agreement. It is checked offline against a public key built into the platform, so nothing is sent to us and it cannot be changed without invalidating it. Treat it like a credential: anyone with it can run an installation under your license.

Install it

Set it before installing:

export SKELA_LICENSE_KEY='<payload>.<signature>'
./install.sh apply

The installer stores it in the skela-license Secret in the skela namespace, and refuses to apply without a key on a first install. To replace a key later:

kubectl -n skela create secret generic skela-license --from-literal=key="$SKELA_LICENSE_KEY" \
  --dry-run=client -o yaml | kubectl apply -f -
kubectl -n skela rollout restart deployment/skela-control

A malformed or tampered key stops the controller at startup with a message; fix the Secret and it starts again.

Check it

kubectl -n skela logs deploy/skela-control | grep -i license

The controller’s metrics include skela_license_valid, skela_license_expiry_timestamp and skela_license_max_branches. Alert on the expiry well ahead of time.

When a key lapses or a limit is reached

  • New branches are refused with HTTP 402 and a message saying why: no key, key expired, branch limit or project limit reached. In the console the operation fails with that message.
  • Running databases are never stopped, suspended branches still wake, and connections and backups of existing branches keep working. A restore creates a new branch, so it needs a valid key within its limits.
  • Branches created directly as Kubernetes resources are held unprovisioned with the same refusal.

Install a renewed key and creation resumes. Keys cannot be revoked online; they expire.