Licensing
Decide on the type of license that you want to use for Solo Enterprise for kgateway.
License types
| Mode | Required license | Description |
|---|---|---|
| Enterprise | Solo Enterprise for kgateway | Use all functionality that is supported for the data plane proxy. |
| Trial | Trial | Use all functionality that is supported for the data plane proxy for a limited time. |
Get a license key
To get a Solo Enterprise for kgateway license key, contact an account representative.
You can also request a trial license key instead. Note that each trial license key is typically valid for 30 days. When the license key expires, you can request a new license key by contacting your account representative.
Provide the license key during installation
To use Solo Enterprise for kgateway, you must provide a license key during the installation process.
Provide key directly
When you install Solo Enterprise for kgateway in your management cluster, you can provide your license keys as follows:
helm upgrade -i enterprise-kgateway oci://us-docker.pkg.dev/solo-public/enterprise-kgateway/charts/enterprise-kgateway \
-n kgateway-system \
--version 2.1.5 \
--set licensing.licenseKey=$LICENSE_KEY helm upgrade -i enterprise-kgateway oci://us-docker.pkg.dev/solo-public/enterprise-kgateway/charts/enterprise-kgateway \
-n kgateway-system \
--version 2.1.5 \
--set licensing.licenseKey=$TRIAL_LICENSE_KEY After installation completes, the Kubernetes secret enterprise-kgateway-license is created for you to store the license keys.
Provide key in a secret
You can specify your license key by creating a secret before you install Solo Enterprise for kgateway.
- Create a secret with your license key in the
kgateway-systemnamespace of your cluster. Note that the secret must be created in the same namespace as you plan to install Solo Enterprise for kgateway.cat << EOF | kubectl apply -f - apiVersion: v1 kind: Secret type: Opaque metadata: name: enterprise-kgateway-license namespace: kgateway-system stringData: enterprise-kgateway-license-key: "${LICENSE_KEY}" EOF - When you install Solo Enterprise for kgateway, specify the secret name and disable default secret generation in your Helm values file.
licensing: secretName: license-key createSecret: false
Check the license values
Get your license key value. The following command gets and decodes the license key value from the license secret in the kgateway-system namespace by using jq.
kubectl get secret enterprise-kgateway-license \
-n kgateway-system \
-o jsonpath="{.data.enterprise-kgateway-license-key}" | base64 --decode | cut -d '.' -f1,2 | tr '.' '\n' | base64 --decode | jqExample output: The following Solo Enterprise for kgateway license was issued on March 1, 2025 and expires on March 1, 2026. The license has no add-ons.
{
"addOns": [
{
"Addon": 0,
"ExpiresAt": 1753969356,
"LicenseType": "ent"
}
],
"exp": 1772323200,
"iat": 1740787200,
"k": "zsclAQ",
"lt": "ent",
"product": "kgateway"
}Update the license
Before your Solo Enterprise for kgateway license expires, you can update the license by patching the license key secret.
Confirm license expiration
The license keys are stored as a Kubernetes secret in the cluster. When the keys expire, the pods that mount the secret might crash. For example, if you notice that your control plane deployment has new warnings, your licenses might be expired. You can check the logs for control plane to look for an error message similar to the following:
kubectl logs deploy/enterprise-kgateway -n kgateway-system{"level":"warn","ts":"2024-03-23T18:36:16.282Z","caller":"setup/setup.go:85",
"msg":"LICENSE WARNING: License expired, please contact support to renew."}You can confirm that the license key is expired by copying and pasting your current license key into the JWT Debugger, and checking the expiration date indicated by the exp header.
Replace the expired license
Trial license: If you’re a new user whose trial license has expired, contact your Solo.io account representative to get a new license key.
Enterprise license: To update the license key, patch the secret and restart the Solo Enterprise for kgateway control plane deployment. During the upgrade, the data plane continues to run, but you might not be able to modify the configurations for Solo Enterprise for kgateway custom resources through the control plane.
Save the new license key in an environment variable.
export LICENSE_KEY=<new-key-string>Update the
licensesecret with the new key.kubectl create secret generic --save-config \ -n kgateway-system enterprise-kgateway-license \ --from-literal=enterprise-kgateway-license-key=$LICENSE_KEY \ --dry-run=client -o yaml | kubectl apply -f -Restart the control plane deployment to pick up the license secret changes.
kubectl -n kgateway-system rollout restart deploy/enterprise-kgatewayVerify that the deployment is restarted and no longer in a crashed state.
kubectl logs deploy/enterprise-kgateway -n kgateway-system