KubeMQ
Licensing

How licensing works

How a KubeMQ server behaves online and offline, what happens when it cannot reach KubeMQ or a license ends, and how to check license status.

Every KubeMQ server checks its own license, on Docker and Kubernetes. Without a valid license it does not start, and when a license ends it stops. Your data is never deleted. A license belongs to its installation: the Kubernetes cluster, or on Docker the data volume, so keep the volume.

Online and offline licenses

KindWhich licensesTalks to KubeMQEnds
OnlineThe evaluation, trial keys and license keysContacts license.kubemq.io at first start and while running, and sends usage reports (Data sent to KubeMQ)At the evaluation, trial or contract end. kmq license (kmq is the KubeMQ command-line tool) shows the time under RUNS UNTIL
OfflineAn offline license fileNeverOn the file's end date

If both are set, the file wins (Core & Licensing).

When the server cannot reach KubeMQ

A server with an online license keeps running while it cannot reach KubeMQ, until the time kmq license shows under RUNS UNTIL. Restore the connection before then.

Meanwhile the server logs a warning (Troubleshooting) and kmq license shows the state grace. An online license's first start must reach KubeMQ.

When a license ends

An online license stops renewing at the contract or trial end, and the server stops at RUNS UNTIL. An evaluation ends 14 days after it started.

An offline license file stops the server on its end date. Renew it first: Install air-gapped.

At a stop the server refuses new connections, lets current work finish (5 minutes by default, Core & Licensing) and exits with code 3. Cluster servers stop at different times. Restarts fail the same way until the license is fixed (CrashLoopBackOff on Kubernetes).

Messages, accounts and settings stay on the volume. Add a trial key or license key with your install page's Add your license step and the server starts on the same data; a new evaluation cannot.

Buying before a trial key ends converts the same key; running servers pick up the new plan without a restart.

Revocation

KubeMQ revokes a license only by deliberate action. Missed payments, network silence and extra installations never revoke one. Offline license files cannot be revoked. Notice periods are in the licensing policy (Plans compared). A cluster larger than its license stops by itself (Troubleshooting).

Check license status

kmq license shows one row per server (Troubleshooting has the command for each platform); --details gives the full record for support.

ColumnMeaning
SERVERThe Docker container, or one Kubernetes pod
STATEThe license state (next table)
PLANevaluation, trial or your plan
SERVERS LICENSEDHow many servers the license allows
EXPIRESWhen the license itself ends
DAYS LEFTWhole days until EXPIRES
RUNS UNTILWhen this server stops if nothing changes. It moves later while the server reaches KubeMQ
VERSIONThe KubeMQ version the server runs
CHECKEDWhen this status was read
PROBLEMA link to the Troubleshooting entry for the current problem
StateDo this
activeNothing to do.
evaluationAdd a license before the evaluation ends.
expiring (14 days or fewer to the end)Renew or buy.
graceRestore the connection to license.kubemq.io before RUNS UNTIL.
stopping and refusedFollow the PROBLEM link.
unknownCheck again in a minute.

Monitor with kmq license -o json on a schedule. Codes 1 to 8 are kmq's general errors (kmq CLI).

Exit codeMeaningDo this
0Every server is fineNothing
9Needs attention: expiring, grace, more servers or installations than licensed, failing usage reports, or a server that has not reportedWarn
10A server stopped or was refusedAlert
11Status not available: kmq prints license status not available: <reason>Alert, then follow Troubleshooting
5, on DockerCannot connect: a server the license stopped cannot answerAlert as server down
Any otherThe check itself failedTreat as a failed check

On Docker this status needs no sign-in and never includes the key or an identifier; an administrator can turn that off (Core & Licensing).

Was this page helpful?

On this page