Licensing
RAMP requires a valid license to operate. Licenses are X.509 certificates issued by the kenaro licensing service and bound to a specific machine. Without a valid license, users cannot log in.
License Overview
Section titled “License Overview”Each RAMP license includes:
| Property | Description |
|---|---|
| Edition | Determines the maximum number of templates (Starter, Team, Business, Professional, Enterprise) |
| Customer | Your organization name |
| License Type | Subscription or Perpetual |
| Expiry Date | When the license expires |
| Machine Binding | License is tied to a specific machine via an activation code |
Editions
Section titled “Editions”| Edition | Max Templates |
|---|---|
| Starter | 5 |
| Team | 10 |
| Business | 25 |
| Professional | 50 |
| Enterprise | Unlimited |
License Status
Section titled “License Status”You can check the current license status at any time:
- API endpoint:
GET _api/license/status(no authentication required) - CLI:
ramp-cli license status
The status response includes the edition, template limit, current template count, and expiry date.
Activation Code
Section titled “Activation Code”Every RAMP installation has a unique activation code derived from the serial number and machine identity (hostname + machine ID). This code binds the license to a specific server.
To view the activation code:
ramp-cli license activation-code --serial YOUR-SERIAL-CODERequires Administrator role:
GET _api/license/activation-codeThe serial must be configured in appsettings.json under License:Serial first.
Online Activation
Section titled “Online Activation”If your RAMP server has internet access, use online activation for the simplest setup.
-
Obtain a serial code from your license provider.
-
Run the activation command:
Terminal window ramp-cli license activate --serial YOUR-SERIAL-CODE --email your@email.com -
Verify the license:
Terminal window ramp-cli license status
The CLI contacts the license server, activates the license, and writes the certificate to appsettings.json automatically. RAMP hot-reloads the license — no restart required.
Configuration
Section titled “Configuration”The license is stored in appsettings.json:
{ "License": { "Serial": "XXXX-YYYY-ZZZZ-...", "Certificate": "MIIBxz..." }}You can also provide these values via environment variables:
License__Serial=XXXX-YYYY-ZZZZ-...License__Certificate=MIIBxz...Offline Activation
Section titled “Offline Activation”If your RAMP server has no internet access, use offline activation with a .lic file.
-
Get the activation code from the server:
Terminal window ramp-cli license activation-code --serial YOUR-SERIAL-CODENote down the activation code displayed.
-
Request a license file from your vendor. Provide:
- Your serial code
- Your activation code
- Your email address
The vendor will generate a
.licfile (PFX certificate) for your machine.Alternatively, if you have access to the licensing portal, you can download the
.licfile yourself by entering the serial, email, and activation code. -
Transfer the
.licfile to your RAMP server (via USB drive, SCP, file share, etc.). -
Activate using the file:
Terminal window ramp-cli license activate --serial YOUR-SERIAL-CODE --file /path/to/license.lic -
Verify:
Terminal window ramp-cli license status
Deactivation
Section titled “Deactivation”Deactivating a license frees the activation slot, allowing you to activate on a different machine.
Online Deactivation
Section titled “Online Deactivation”ramp-cli license deactivate --serial YOUR-SERIAL-CODE --email your@email.comThis contacts the license server, releases the activation, and removes the certificate from appsettings.json.
Offline Deactivation
Section titled “Offline Deactivation”If the server has no internet access:
-
Remove the license from
appsettings.jsonby clearing theLicense:Certificatevalue (or removing theLicensesection entirely). -
Contact your vendor to release the activation slot on the license server. Provide your serial code and activation code.
Docker Deployments
Section titled “Docker Deployments”For Docker deployments, pass the license via environment variables:
services: ramp: image: kenaro.azurecr.io/ramp:latest environment: - License__Serial=XXXX-YYYY-ZZZZ-... - License__Certificate=MIIBxz...Activating in Docker
Section titled “Activating in Docker”To activate inside a running container:
# Enter the containerdocker exec -it ramp-container bash
# Run activationdotnet RAMP.Cli.dll license activate --serial YOUR-SERIAL-CODE --email your@email.com
# Or for offline activationdotnet RAMP.Cli.dll license activate --serial YOUR-SERIAL-CODE --file /path/to/license.licThen copy the License:Certificate value from the generated appsettings.json to your Docker Compose environment variables for persistence.
CLI Reference
Section titled “CLI Reference”| Command | Description |
|---|---|
ramp-cli license status | Show license validity, edition, template count, and expiry |
ramp-cli license activation-code | Show this machine’s activation code |
ramp-cli license activate | Activate a license (online or offline) |
ramp-cli license deactivate | Deactivate and release the license slot |
Common Options
Section titled “Common Options”| Option | Alias | Description |
|---|---|---|
--serial | -s | Serial code |
--email | -e | Email address (for online activation/deactivation) |
--file | -f | Path to .lic file (for offline activation) |
--config | -c | Path to appsettings.json (default: current directory) |
Troubleshooting
Section titled “Troubleshooting””RAMP is not licensed”
Section titled “”RAMP is not licensed””This error appears when logging in if no valid license is configured. Check:
- Is
License:Serialset inappsettings.jsonor environment variables? - Is
License:Certificateset and non-empty? - Run
ramp-cli license statusto see the specific validation error.
”Activation code mismatch”
Section titled “”Activation code mismatch””The license certificate is bound to a different machine. This happens when:
- The server hostname changed
- The machine ID changed (e.g., after OS reinstall)
- The license was activated on a different machine
Fix: Deactivate the old license and re-activate on the current machine.
”License expired”
Section titled “”License expired””The license certificate has passed its expiry date. Contact your vendor to renew.
Template limit reached
Section titled “Template limit reached”You’ve reached the maximum number of templates for your edition. Options:
- Delete unused templates
- Upgrade to a higher edition