MAQPNADocs

maqpna license status

Show the installed licence and this month's billable nodes

Operate-o json | yaml

Synopsis#

maqpna license status [-n NS] [--secret NAME] [--key KEY] [--kube-context C]   (exit 3 when invalid or expired)

Description#

From the help of maqpna license:

install creates or updates the licence Secret (Helm license.secretRef; default: the Secret the gateway/operator mount, else maqpna-license, key license) in the install namespace. The gateway and operator re-read it within about a minute (kubelet Secret sync + 30 s poll), no restart. status reads that Secret, evaluates it with this binary's keys and shows this month's billable nodes against the licence's node limit.

verify checks a licence against the keys built into this binary (or --pubkey, a PEM of Ed25519 or EC P-256 public keys, for checking a licence before it ships; a licence that only verifies with --pubkey enables nothing in a real install). issue signs a licence with a key URI and prints it: an Ed25519 key (a PKCS#8 file, pkcs11: or kms:) signs EdDSA, an Azure Key Vault EC P-256 key (azurekv://VAULT/KEY[/VERSION]) signs ES256. Azure credentials come from AZURE_TENANT_ID, AZURE_CLIENT_ID and AZURE_CLIENT_SECRET, else AZURE_FEDERATED_TOKEN_FILE (workload identity), else the az CLI login.

A licence only switches commercial features on; no licence state ever blocks agent traffic (docs/business/implementation-plan.md P0-4).

Flags#

FlagTypeDescriptionDefault
--keystringdata key in the Secret (default: as mounted, else license)none
--kube-contextstringkubeconfig context (default: the maqpna context's)none
-n, --namespacestringnamespace MAQPNA is installed inmaqpna-system
--secretstringlicence Secret (default: the one the gateway/operator mount, else maqpna-license)none

The global flags (--context, -o, --no-color, ...) work with every command.

Examples#

maqpna license status

What happens when you run it#

  • Uses the Kubernetes API of your kubeconfig (--kubeconfig, --kube-context, or the current context).
  • Prints a table by default; -o json or -o yaml print the data, and --jq EXPR filters the JSON.
  • Exits 3 when the check fails or a result does not match (see exit codes below), so scripts and CI can act on it.

Exit codes#

CodeMeaning
0success
1error (the message says what failed, with a hint when there is one)
2usage error: unknown flag, missing argument or bad value; the synopsis is printed
3a check failed, a change is blocked, or a result did not match (tamper, policy mismatch)

Terminal demo#

maqpna license status --help.cast

This command needs a Kubernetes cluster with MAQPNA installed, so the recording shows its help. Try it against a cluster from Install.