Перейти к содержимому

Licensing & editions

Taranac ships as a single product with two editions. Community is the free core — the complete AAA and NAC platform, TACACS+, RADIUS, 802.1X, policies, devices, users, logging, captive portal — with no usage caps and no metering: unlimited devices, users, groups, rules and policies. Pro unlocks feature-gated capabilities on top of that same core; today the only Pro feature is high availability. Pro is turned on by uploading an offline, Ed25519-signed license file (.lic) that Taranac verifies locally — there is no phone-home, no online activation, and no hardware fingerprinting. The Community core runs identically whether a license is present, absent, expired or invalid; a licensing problem can only ever stand down a Pro feature, never break authentication. This page covers the two editions, what a license is, how to find your installation ID, how to obtain and install a .lic, how to confirm it is active, and how licensing works across an HA cluster.

CommunityPro
AAA (TACACS+ / RADIUS)FullFull
NAC / 802.1X (PEAP / MAB / EAP-TLS)FullFull
Devices, users, groups, policies, rulesUnlimitedUnlimited
Logging, audit, alerts, backups, captive portalFullFull
High availability (clustering)Included
License file requiredNoYes (a signed .lic)

There are no scale limits and no usage metering in either edition. Taranac gates features, not volume. The single numeric entitlement a license carries is max_nodes — the size cap for an HA cluster, itself a feature dimension, not a device or user count. If you run a single Taranac node for AAA and NAC, you never need a license.

A license is a self-contained .lic file: human-readable JSON carrying a payload of entitlements plus a detached Ed25519 signature over that payload. Taranac verifies it entirely offline, against a signing public key baked into the product — nothing leaves your install. This matters for the target audience: air-gapped and isolated NAC deployments that reject outbound calls.

A license carries two things that live by different rules:

AxisFieldExpires?Effect of expiry
Functionalityentitlements (features, max_nodes)Never— the grant is permanent
Supportsupport.expires_atYesWarning only — nothing functional changes

This is the most important thing to understand about Taranac licensing: entitlements are permanent, support is time-boxed, and the two are independent. A license that grants ["ha"] grants HA forever. The support window is a purely commercial signal — when it lapses, the product surfaces a “support expired” banner and keeps every feature running. A license with no active support at all (support.expires_at: null) is a valid, permanent grant.

Integrity comes from the signature, not from secrecy or from any network check. Tampering with the payload — changing max_nodes, adding a feature, moving the expiry — invalidates the signature, and Taranac falls back to Community. The signing private key exists only with TaranacLabs and is never shipped.

To stop one license file being copied onto an unrelated install, every .lic is bound to a single installation. That binding target is the installation ID — a random UUID Taranac generates once at first boot and stores immutably.

  • Where to find it. Settings → System → Licensing page (with a copy button), or from the CLI on the host:

    Terminal window
    ./taranac installation-id
  • It is stable across VM migration. The ID is a persisted random UUID, deliberately not a hardware fingerprint. Fingerprints (MAC, CPU, machine-id) break when you migrate a VM or move a node; a persisted UUID survives migration and only changes on a genuine fresh install. It is also decoupled from rotatable crypto (the internal CA, the master key), so certificate renewal or key rotation never invalidates a valid license.

  • It is not secret. The Ed25519 signature — not secrecy — is the integrity boundary, so the ID is shown openly in the UI and CLI.

  • It is cluster-level. There is exactly one installation ID per Taranac deployment. Under HA the whole cluster shares a single logical database, so the ID is one shared value that replicates to every node — one ID, one .lic, per cluster (see HA / cluster licensing below).

Request a .lic through the Taranac portal — the signing itself stays offline and person-reviewed (there is no automated signer, and the private key never leaves TaranacLabs):

  1. On your install, copy the installation ID (Licensing page or ./taranac installation-id).
  2. Sign in at taranac.pro and open Licensing — enter your company and installation ID and choose a plan (High Availability, up to 8 nodes, with a 1-month or 1-year support window).
  3. We email a payment request. Once payment is confirmed, TaranacLabs builds the payload — bound_to set to your installation ID, the agreed features and max_nodes, a support window — signs it offline, and the signed .lic appears in the portal for you to download.
  4. Upload it (next section). No network call ever leaves your install.

Upload the .lic on Settings → System → Licensing (the upload card is gated by the license.manage RBAC permission). Taranac verifies the file on upload and stores it — encrypted at rest — in the database, as the single source of truth. There is no file-path or environment-variable alternative, so there is never ambiguity about which license is active.

An upload is rejected (nothing invalid is stored) when the file is:

  • malformed — not valid signed JSON, or signed with an unexpected algorithm;
  • signed by an untrusted key — an unknown or wrong key_id;
  • tampered — the signature does not match the payload;
  • bound to a different installation — its bound_to does not equal this install’s installation ID.

The last case is the common one: a license issued for another installation ID will not activate here. Re-check that you sent the correct ID, and that you are uploading the file to the install it was issued for.

After a valid upload, confirm Pro is live:

  • Edition badge. The Licensing page shows a Pro badge (versus Community) once a valid, correctly-bound license is active.
  • Entitlements. The page lists the licensed details — organisation, granted features (e.g. an HA badge), max_nodes, issue date and license ID.
  • Support status. Shown as active until <date>, permanent (no expiry), or an amber support expired warning — the warning never means a feature stopped.
  • Dashboard widget. A License status widget on the dashboard mirrors edition, entitlements and support state at a glance.
  • License-invalid alert. If a stored license cannot be honoured (bad signature or wrong installation), Taranac raises a firing alert (source: license) and runs as Community until it is fixed; a valid upload clears the alert. See Alerts.

Support expiry is a warning only — it never disables anything. When support.expires_at passes, every Pro feature keeps running (the functionality grant is permanent) and the UI shows a “support expired” banner. Because expiry changes nothing functional, clock drift is low-risk: the worst outcome of a skewed clock on an air-gapped box is a warning shown a little early or late, never a feature turning off. To renew support (or raise max_nodes), request a new .lic and upload it over the old one — entitlements are always “what the current file grants,” never additive across files.

High availability is a Pro feature, licensed at the cluster level — one .lic for the whole cluster, not one per node:

  • An HA cluster runs on one shared logical database, so the installation ID and the stored license are single shared rows. The cluster needs one license, bound_to the cluster’s installation ID, granting features: ["ha"] and a max_nodes cap.
  • Upload the license before you add nodes. Adding a node is refused unless a valid, HA-entitled license is present and the number of live nodes is below max_nodes. The order is: upload the cluster license on the existing node first, then join further nodes.
  • Nodes inherit the license. A joining node bootstraps as a streaming replica and receives the installation ID and .lic from the replicated database — there is no per-node upload.
  • Renewing or growing the cluster means issuing a new .lic (same cluster installation ID, updated max_nodes / support / features) and uploading it once — it replicates to every node.

For the full HA setup, day-2 operations and the node-count model, see High availability.

  • No phone-home. No online activation, no revocation callback, no telemetry. Verification is entirely offline.
  • No hardware fingerprinting. Binding is a persisted installation ID, stable across VM migration.
  • No usage metering or caps. Devices, users, groups, rules and policies are unlimited in both editions. Only features are gated.
  • No license-driven failure of the core. A missing, expired, tampered or wrong-install license degrades only the affected Pro feature (HA collapses to single-node); AAA and NAC keep serving.

Licensing is honest about its own limits: an offline scheme can be worked around by cloning a whole deployment, and Taranac does not pretend otherwise. The hard commercial boundary is that Pro container images are private; the license is the in-product entitlement check on top of that — designed to make issuance and renewal painless for the honest operator, never to hold the core hostage.