Skip to content

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.


Each RAMP license includes:

PropertyDescription
EditionDetermines the maximum number of templates (Starter, Team, Business, Professional, Enterprise)
CustomerYour organization name
License TypeSubscription or Perpetual
Expiry DateWhen the license expires
Machine BindingLicense is tied to a specific machine via an activation code
EditionMax Templates
Starter5
Team10
Business25
Professional50
EnterpriseUnlimited

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.


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:

Terminal window
ramp-cli license activation-code --serial YOUR-SERIAL-CODE

If your RAMP server has internet access, use online activation for the simplest setup.

  1. Obtain a serial code from your license provider.

  2. Run the activation command:

    Terminal window
    ramp-cli license activate --serial YOUR-SERIAL-CODE --email your@email.com
  3. 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.

The license is stored in appsettings.json:

{
"License": {
"Serial": "XXXX-YYYY-ZZZZ-...",
"Certificate": "MIIBxz..."
}
}

You can also provide these values via environment variables:

Terminal window
License__Serial=XXXX-YYYY-ZZZZ-...
License__Certificate=MIIBxz...

If your RAMP server has no internet access, use offline activation with a .lic file.

  1. Get the activation code from the server:

    Terminal window
    ramp-cli license activation-code --serial YOUR-SERIAL-CODE

    Note down the activation code displayed.

  2. Request a license file from your vendor. Provide:

    • Your serial code
    • Your activation code
    • Your email address

    The vendor will generate a .lic file (PFX certificate) for your machine.

    Alternatively, if you have access to the licensing portal, you can download the .lic file yourself by entering the serial, email, and activation code.

  3. Transfer the .lic file to your RAMP server (via USB drive, SCP, file share, etc.).

  4. Activate using the file:

    Terminal window
    ramp-cli license activate --serial YOUR-SERIAL-CODE --file /path/to/license.lic
  5. Verify:

    Terminal window
    ramp-cli license status

Deactivating a license frees the activation slot, allowing you to activate on a different machine.

Terminal window
ramp-cli license deactivate --serial YOUR-SERIAL-CODE --email your@email.com

This contacts the license server, releases the activation, and removes the certificate from appsettings.json.

If the server has no internet access:

  1. Remove the license from appsettings.json by clearing the License:Certificate value (or removing the License section entirely).

  2. Contact your vendor to release the activation slot on the license server. Provide your serial code and activation code.


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...

To activate inside a running container:

Terminal window
# Enter the container
docker exec -it ramp-container bash
# Run activation
dotnet RAMP.Cli.dll license activate --serial YOUR-SERIAL-CODE --email your@email.com
# Or for offline activation
dotnet RAMP.Cli.dll license activate --serial YOUR-SERIAL-CODE --file /path/to/license.lic

Then copy the License:Certificate value from the generated appsettings.json to your Docker Compose environment variables for persistence.


CommandDescription
ramp-cli license statusShow license validity, edition, template count, and expiry
ramp-cli license activation-codeShow this machine’s activation code
ramp-cli license activateActivate a license (online or offline)
ramp-cli license deactivateDeactivate and release the license slot
OptionAliasDescription
--serial-sSerial code
--email-eEmail address (for online activation/deactivation)
--file-fPath to .lic file (for offline activation)
--config-cPath to appsettings.json (default: current directory)

This error appears when logging in if no valid license is configured. Check:

  1. Is License:Serial set in appsettings.json or environment variables?
  2. Is License:Certificate set and non-empty?
  3. Run ramp-cli license status to see the specific validation error.

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.

The license certificate has passed its expiry date. Contact your vendor to renew.

You’ve reached the maximum number of templates for your edition. Options:

  • Delete unused templates
  • Upgrade to a higher edition