Skip to content

License

dnseditor-ee only starts with a valid license file. Verification happens offline: the file is signed with Ed25519 and the binary carries the corresponding public key. There is no call to the outside, no license server and no telemetry.

VariableDefaultMeaning
DNSE_LICENSE_FILE./license.jsonPath to the license file
DNSE_LICENSE_PUBKEYPublic key as hex — development only

In releases the production public key is compiled in (-ldflags "-X main.publicKeyHex=…"). DNSE_LICENSE_PUBKEY exists for development and testing and overrides the built-in key.

If the file is missing, expired, or the signature does not match, the service logs the reason and exits with exit code 1. There is no “degraded” start — the license check is a gate, not a hint.

The private key stays with the publisher. For development and test licenses, use cmd/licensegen:

Terminal window
# one-time: generate a key pair (hex output)
go run ./cmd/licensegen -generate-keys
# sign a license
go run ./cmd/licensegen \
-key <private-key-hex> \
-licensee "Beispiel GmbH" \
-features ee \
-valid-until 2027-12-31 \
-out license.json
FlagMeaning
-generate-keysgenerate a new Ed25519 key pair
-keyprivate key (hex) for signing
-licenseename of the licensee
-featuresfeature flags, comma-separated (default ee)
-valid-untilexpiry date YYYY-MM-DD
-outoutput file (default license.json)

After the expiry date, the service refuses to run on the next start. A running instance is not shut down mid-operation — renewal should nevertheless be planned before the date so a restart holds no surprises.