License Activation Scenarios
Kadeck requires a valid license to operate. Licenses are managed through Xeotek Link, the central licensing platform provided by Xeotek.
This guide describes the supported license activation methods, depending on your network environment and deployment strategy.
Overview
| Activation Method | Network Requirement | Method | Typical Use Case |
|---|---|---|---|
| Online Activation | Internet access to connect.xeotek.link | Automatic | Standard enterprise environments |
| Offline Activation | No internet access | Challenge-Response | Air-gapped or high-security deployments |
| Activation via Public API | Internal Kadeck API access | Fully automated | IaC pipelines and automated environments |
License Model and Compliance
Each Kadeck license (also referred to as a team license) is assigned to exactly one operational setup—a single Kadeck instance or Kadeck cluster.
Running multiple, independent setups with the same license is not permitted.
Kadeck monitors license validity internally and displays warnings or banners if inconsistencies are detected.
Xeotek Link independently audits and tracks license usage.
Warning:
If you activate a license on a new setup without decommissioning the previous environment, this may result in an under-licensed state.
Administrator Responsibility:
Ensure that licenses are used exclusively on authorized and active environments.
Recommendation:
Before activating a license on a new Kadeck instance, decommission any existing setup using the same license.
Failure to comply may lead to service disruptions and administrative enforcement through Xeotek Link.
License Storage and Database Dependency
Activated licenses are stored persistently in the configured database of Kadeck.
Important:
If the database changes (for example, when using an embedded database that resets on container restarts, or when switching to a new external database), the license assignment is lost.
Once a license has been activated and assigned to a Kadeck setup:
- The license is tied to that specific database.
- Future online activations will fail if a different database is used.
- Kadeck will refuse to reassign the same license automatically.
In these cases:
- Ensure the previous setup is decommissioned properly.
- Use Offline Activation or Activation via Public API to enforce license reassignment.
Recommendation:
In any automated deployment or IaC pipeline, ensure that database persistence is maintained to avoid unintended license loss.
1. Online Activation
Recommended when:
Kadeck can connect directly to external internet resources.
Requirements
- Outbound HTTPS access to:
https://connect.xeotek.link:443
Activation Steps
- Deploy Kadeck with the correct team and secret configured.
- Kadeck automatically connects to Xeotek Link and activates the license at startup.
- No manual interaction is required.
Important:
If the database is replaced or lost after activation, Kadeck will not be able to retrieve the license again automatically.
In such a case, use Offline Activation to enforce license reassignment.
Ensure outbound traffic to Xeotek Link is allowed through proxies, firewalls, or network policies
2. Offline Activation (Air-Gapped Environments)
Recommended when:
Kadeck operates in an environment with no internet access.
Requirements
- Access to the Xeotek Link Self-Management Console from an external internet-connected device.
Activation Steps
- Log in to Kadeck with an administrative account.
- Navigate to:
Administration → Licensing → Offline Activation
- Generate a Challenge Code.
- Transfer the Challenge Code securely to an internet-connected device.
- Submit the Challenge Code through the Xeotek Link Self-Management Console.
- Retrieve the Response Code.
- Enter the Response Code back into Kadeck.
- Log out and log back in to apply license changes.
Keep the Challenge and Response codes secure during the transfer.
3. Activation via Public API (Infrastructure as Code)
Recommended when:
Kadeck is deployed and configured automatically through an IaC pipeline.
Kadeck supports fully automated offline license activation through its Public API.
This allows environments without internet access to integrate license activation into their deployment pipelines.
Requirements
- Kadeck Public API must be enabled via
XEOTEK_KADECK_API_KEY. - Database persistence must be guaranteed.
- Secure transfer of activation codes must be possible.
Activation Flow
The following diagram illustrates the offline license activation workflow using the Public API:
- Start Kadeck with a configured API key. See Access and Authentication.
- Request Challenge Code via Public API:
GET /public/v1/license/challenge
Authorization: Bearer <xeotek_kadeck_api_key>
Content-Type: application/json
Response:
{
"challenge": "<challenge-code>"
}
- Transfer the Challenge Code to an internet-connected device.
- Obtain the Response Code:
- Submit the Challenge Code manually via the Xeotek Link Self-Management Console, or
- Use automated tooling (e.g., curl) to retrieve the license response.
- Submit the Response Code to Kadeck:
POST /public/v1/license/activate
Authorization: Bearer <admin_token>
Content-Type: application/json
{
"response": "<response-code>"
}
- The license is stored persistently in the database and automatically reused after Kadeck restarts.
Important Notes
- The license is permanently linked to the specific Kadeck setup (instance or cluster and its database).
- If the database is reset, lost, or replaced, a new license activation is required.
- Before reassigning a license to a new setup, deprovision any existing Kadeck environment using the same license.
- Failure to do so can cause an under-licensed state and lead to service restrictions or compliance actions.
Recommendation:
Always treat the license and database as coupled assets in your infrastructure planning.