Licensing
Before you install Gloo Gateway, decide which Gloo product licenses you need for your environment. Gloo offers separate licenses for each product, Gloo Mesh and Gloo Gateway. These product licenses unlock certain capabilities in your Gloo environment, and can be used with the other in the same environment.
License types
Gloo Gateway supports Envoy-based and agentgateway data plane proxies. Each proxy type requires its own license. That way, you can get access to the functionality that you need for your workloads. To learn more about these proxy types, see Gateway proxies.
Operation modes
| Mode | Required license | Description |
|---|---|---|
| Envoy data plane only | Gloo Gateway | Use all functionality that is supported for Envoy-based proxies. No agentgateway-specific functionality is available. |
| Agentgateway data plane only | Agentgateway | Use all functionality that is supported for agentgateway proxies. No Envoy-specific functionality is available. |
| Envoy and agentgateway data plane proxies | Gloo GatewayAgentgateway | Use all functionality that is supported for agentgateway and Envoy-based proxies. |
| Trial | Trial | Use all functionality that is supported for agentgateway and Envoy-based proxies. |
Get a license key
To get a Gloo Gateway 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 or filling out this form.
Confirm the license key expiration date with your account representative. Then, set a reminder for before the license key expires, and complete the update steps so that your Gloo Gateway pods do not crash.
Provide the license key during installation
To use Gloo Gateway, you must provide a license key during the installation process.
Provide key directly
When you install Gloo Gateway in your management cluster, you can provide your license keys as follows:
After installation completes, the Kubernetes secret gloo-gateway-license-keys 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 Gloo Gateway.
- Create a secret with your license key in the
gloo-systemnamespace of your cluster. Note that the secret must be created in the same namespace as you plan to install Gloo Gateway - When you install Gloo Gateway, 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 gloo-system namespace by using jq.
Update the license
Before your Gloo Gateway or agentgateway 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 Gloo Gateway deployments have new warnings, your licenses might be expired. You can check the logs for one of the deployments, such as the gloo deployment, to look for an error message similar to the following:
kubectl logs deploy/gloo-gateway -n gloo-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.io 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, or fill out this form.
Enterprise license: To update the license key, patch the secret and restart the Gloo Gateway deployments. During the upgrade, the data plane continues to run, but you might not be able to modify the configurations for Gloo custom resources through the management plane.
Save the new license key in an environment variable.
export GLOO_GATEWAY_LICENSE_KEY=<new-gloo-gateway-key-string> export AGENTGATEWAY_LICENSE_KEY=<new-agentgateway-key-string>Update the
licensesecret with the new key.kubectl create secret generic --save-config \ -n gloo-system gloo-gateway-license-keys \ --from-literal=gloo-gateway-license-key=$GLOO_GATEWAY_LICENSE_KEY \ --from-literal=agentgateway-license-key=$AGENTGATEWAY_LICENSE_KEY \ --dry-run=client -o yaml | kubectl apply -f -Restart the Gloo Gateway deployment to pick up the license secret changes.
kubectl -n gloo-system rollout restart deploy/gloo-gatewayVerify that the deployment is restarted and no longer in a crashed state.
kubectl logs deploy/gloo-gateway -n gloo-system