Licensing
Community and Enterprise, applying a license, and enforcement.
Community and Enterprise
Without a license NetlyDB runs as the Community edition: the complete embedded, single-node engine, free to use under NetlySoft's license terms (the package's license file: all rights reserved, use governed by your license agreement with NetlySoft). Enterprise features need a license.
Enterprise features
| Feature | Enabled by |
|---|---|
| Clustering & replication | JoinCluster(...) |
| REST API | AddNetlyDBAPI(...) |
| Management UI | AddNetlyDBManagementUI(...) |
| MCP server | AddNetlyDBMCP(...) |
| Encryption at rest | Security.Encryption.Enabled |
| JWT / OIDC authentication | Security.EnableJwtBearer |
| Observability: the Management UI metrics dashboard | the Management UI Metrics page |
Everything else is Community - including full-text and vector search, health checks, the NetlyDB metrics
meter, backup and import, compression, schema validation, memory limits and API-key authentication.
Applying a license
Provide the license token in one of these ways, checked in this order:
- In code -
options.License.LicenseKey. - File -
options.License.LicenseFilePath, a file containing the token. - Environment variable -
NETLYDB_LICENSE(the name is configurable throughoptions.License.EnvironmentVariable).
// 1) Inline license key (for example from configuration or a secret store)
builder.Services.AddNetlyDB(options =>
{
options.License.LicenseKey = configuration["NetlyDB:License"];
});
// 2) From a license file
builder.Services.AddNetlyDB(options =>
{
options.License.LicenseFilePath = "/etc/netlydb/netlydb.lic";
});
// 3) From an environment variable (default name: NETLYDB_LICENSE) - no code required
builder.Services.AddNetlyDB();
Offline verification
Licenses are signed tokens verified against a public key embedded in NetlyDB (ECDSA P-256). Verification is entirely offline: there is no license server and no call home, so licensed features work on machines without internet access. A license can also limit the number of cluster nodes.
Enforcement and grace period
With no license the process runs as Community. If you enable an Enterprise feature without a valid license, startup
fails closed with an error that names the feature, instead of silently running degraded. An expired
license keeps working during a grace period (options.License.GracePeriod, default 14 days), with a warning
logged, so a renewal does not become an outage. The Management UI's Settings page shows the active
license and which Enterprise features it enables.