Skip to main content
Hoop includes the Open Source license by default. If you’re evaluating or using enterprise features, this guide will help you manage your license in your current installation. Two components read a license, from different places. The gateway keeps it in its database, installed through the web application or hoop admin license install. The Sidecar has no database, so it takes the same document on the command line, in the environment, or in its config file. One license Hoop issues verifies for both. Jump to Licensing the Sidecar if that is the component you are configuring.

License Characteristics

  • A single license can be applied to multiple hosts
  • All licenses have an expiration date
  • The gateway stops functioning when your license expires
  • The Sidecar keeps serving on an expired license, under its free-tier rule caps

Managing Gateway Licenses Through the Web Application

The web application allows you to upload a new license or update an expired one.
The web application only permits license updates after expiration. To update an active license before it expires, use the command line utility instead.

Managing Gateway Licenses Through the Command Line

The command line interface provides more flexibility, including the ability to update licenses before expiration:

License Information

To obtain license information of you current installation

Handling Expired Gateway Licenses

When a gateway license expires, all execution attempts will fail with an error. You have two options:
  1. Update to a new enterprise license
  2. Downgrade to the Open Source license
Contact our support team if your license is nearing expiration.

Downgrading to Open Source

To downgrade your installation, update the license with the Open Source version:
Advanced users can also remove license information by clearing the license_data column in the private.orgs database table.

Licensing the Sidecar

The Sidecar is a standalone process that reads its whole configuration from one file, so hoop admin license install does not reach it. Hand it the license directly.

Three sources, one order

The flag outranks the environment variable, which outranks the config key. Licensing a fleet is then one environment variable rather than an edit to every config file in it, and one host can still override the fleet from its command line.
The first source holding a value decides, valid or not. A HOOP_LICENSE pointing at a file that does not exist is an error, not a reason to fall back to the license key. Falling through would hide a broken environment variable until the next config change made it matter.
HOOP_LICENSE is deliberately not HOOP_SIDECAR_LICENSE. The document is the same one the gateway verifies, and a deployment spelling it two ways sets one of them wrong.

A path or the document itself

Every source accepts both shapes. A value whose first non-blank character is { is read as the license document; anything else is read as a filename. Moving a license from a mounted file to a secret is then not also a rename.
config.yaml
config.yaml

What the Sidecar does without one

An unlicensed process enforces one guardrail rule and one data masking rule, per process rather than per lane. A license lifts the cap for each feature it names, guardrails and data-masking being the two the Sidecar reads. Check what a process resolved before you deploy it:
A running process reports the same verdict at GET /config on its admin listener, under license and limits, minus the signature.

Expiry on the Sidecar

A missing or expired license is a state, not a startup failure. A license that cannot be read is a failure: a path to nothing, malformed JSON, or a signature that does not verify stops startup and names the source it came from, because dropping to the free tier over a typo would be a silent downgrade. Once a term ends under a running relay, what happens depends on the config. One inside the free-tier caps keeps serving and reports expired. One over them drains its connections, flushes its audit trail and exits non-zero, and startup refuses the config by name until somebody renews or removes rules. The log warns once a day through the last fortnight of the term. Full reference: Config File Reference — Licensing.