On-prem deployments can enforce a signed license file that controls the number of allowed seats and the license expiry date. Your ManyLayers account contact issues license files during onboarding.

How licensing works

  • License files are cryptographically signed JSON documents
  • The gateway verifies the signature on startup
  • An absent license_file (empty string or omitted) keeps unlimited default behavior
  • A configured but invalid license file causes the gateway to refuse to start — it fails closed rather than granting unauthorized access

Installing your license

1

Receive your license file

Your ManyLayers account contact provides a signed customer.json license file. The file looks like:
{
  "seats": 100,
  "expires_at": "2026-12-31T00:00:00Z",
  "sig": "base64-encoded-signature"
}
2

Place the license file on your server

scp customer.json server:/etc/manylayers/
For Kubernetes, create a secret:
kubectl create secret generic manylayers-license \
  --namespace manylayers \
  --from-file=license.json=customer.json
3

Configure the gateway

billing:
  license_file: /etc/manylayers/customer.json
Restart the gateway. On startup you will see:
INFO on-prem license loaded seats=100 expires_at=2026-12-31T00:00:00Z

License verification behavior

license_fileBehavior
Empty / omittedUnlimited — no seat enforcement
Set, valid signatureLicense enforced (seats and expiry)
Set, invalid signatureGateway refuses to start
Set, file missingGateway refuses to start

Renewing your license

Contact your ManyLayers account contact before your license expires to receive a renewed license file. Replace the file on your server and restart the gateway to apply the new license.