License Management
PeSIT Wizard Enterprise uses a license system based on License3j to control access to features.
License Types
The license controls only the number of clusters and pods per cluster. All features are available regardless of the license type.
| Type | Clusters | Pods/cluster | Support |
|---|---|---|---|
| Evaluation | 1 | 3 | 30 days, community |
| Professional | 1 | 3 | Email (48 business hours) |
| Business | 5 | Unlimited | Priority email (24 business hours) |
| Enterprise | Unlimited | Unlimited | Contractual SLA, dedicated support |
Installing a License
Via the REST API
curl -X POST http://localhost:8080/api/v1/license \
-H "Content-Type: application/json" \
-d '{"license": "<BASE64_LICENSE>"}'Via Configuration File
pesitwizard:
license:
file: /app/config/license.binOr via environment variable:
pesitwizard:
license:
content: ${PESITWIZARD_LICENSE}Check the License Status
curl http://localhost:8080/api/v1/licenseResponse:
{
"valid": true,
"evaluation": false,
"type": "PROFESSIONAL",
"customer": "Acme Corp",
"expirationDate": "2026-01-01",
"daysUntilExpiration": 365,
"maxClusters": 1,
"maxPodsPerCluster": 3
}Evaluation Mode
Without a license, PeSIT Wizard Enterprise runs in evaluation mode with a limited period of 30 days.
Evaluation Mode Limits
- Duration: 30 days from first startup
- Clusters: 1 maximum
- Pods: 3 maximum per cluster
- Features: Basic features only
Evaluation Expiration
After the evaluation period expires, all APIs are blocked except:
GET /api/v1/license- Check statusPOST /api/v1/license- Install a licensePOST /api/v1/license/extend-evaluation- Extend evaluation (PoC)/actuator/health- Health check
Blocked requests return an HTTP 402 (Payment Required) code:
{
"error": "LICENSE_REQUIRED",
"message": "Evaluation period has expired. Please install a valid license.",
"licenseUrl": "/api/v1/license"
}Evaluation Period Extension (PoC)
For customer Proof of Concept (PoC) scenarios, it is possible to extend the evaluation period:
curl -X POST http://localhost:8080/api/v1/license/extend-evaluation \
-H "Content-Type: application/json" \
-d '{"days": 30}'WARNING
The extension is cumulative. Each call adds days to the remaining period. The maximum extension duration per call is 365 days.
Evaluation Status
The /api/v1/license endpoint returns evaluation information:
{
"valid": false,
"evaluation": true,
"blocked": false,
"evaluationStartDate": "2026-01-20",
"evaluationExpirationDate": "2026-02-19",
"evaluationDaysRemaining": 30,
"maxClusters": 1,
"maxPodsPerCluster": 3
}Evaluation Duration Configuration
The default duration can be configured:
pesitwizard:
license:
evaluation-days: 30 # Default: 30 daysLicense Generation (administrator)
Licenses are generated with the License3j REPL.
REPL Installation
# Download License3j
curl -L -o license3j-repl.jar \
https://repo1.maven.org/maven2/com/javax0/license3j/license3j/3.3.0/license3j-3.3.0.jar
# Launch the REPL
java -jar license3j-repl.jarGenerate a Key Pair
License3j REPL
L3j> generateKeys algorithm=RSA size=2048 format=BINARY public=license-public.key private=license-private.keyWarning: Keep license-private.key secret! Never commit it.
Copy license-public.key to:
pesitwizard-license/src/main/resources/license-public.keyCreate a License
L3j> newLicense
L3j> feature licenseId=UUID
L3j> feature type=PROFESSIONAL
L3j> feature customer=Acme Corp
L3j> feature email=admin@acme.com
L3j> feature maxClusters:INT=1
L3j> feature maxPodsPerCluster:INT=3
L3j> feature expiryDate:DATE=2026-01-01
L3j> sign key=license-private.key
L3j> saveLicense format=BASE64 file=acme-license.txtRenewal
To renew a license, generate a new license with the new expiration date and install it via the API or configuration file.