Gloo product licenses

Before you install Gloo Mesh, 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.

Gloo Mesh

Gloo Mesh deploys alongside your Istio environment in single or multicluster environments, and can discover existing Istio installations across clusters and infrastructure providers. The Gloo Mesh management plane provides visibility into your Istio environment in one or multiple clusters, such as built-in advanced observability tools, and a Gloo UI that gives you an at-a-glance view of the configuration, health, and compliance status of your Gloo Mesh setup and the workloads in your cluster. Gloo Mesh also comes with an insights engine that automatically analyzes your Istio setup for health, security, and resiliency issues. Then, Gloo shares these issues along with recommendations to harden your Istio and setup in a custom dashboard. The insights give you a checklist to address issues that might otherwise be hard to detect across your environment.

Features by license level

When you use the Solo distribution of Istio to deploy ambient or sidecar service meshes, you can also provide your Gloo Mesh license.

The Solo distribution of Istio includes standard built-in features by default, and numerous other features that you can unlock with two levels of Solo licenses. When you provide your license in your Istio installation values, your Istio installation is automatically enabled with the features provided by your license.

  • Standard features are included by default in the Solo distribution of Istio version 1.25 and later. If you provide a -solo tagged Istio version in your Istio installation values, your Istio installation is enabled with these standard features.
  • Premium features are unlocked with a Premium license (sometimes called a Gloo Mesh license). In addition to all Standard features, a Premium license unlocks better environment visibility and analysis with the Gloo Mesh management plane, and increased Solo support.
  • Enterprise features are unlocked with an Enterprise license (sometimes called a Gloo Mesh Enterprise license). In addition to all Standard and Premium features, a Premium license unlocks the most comprehensive enterprise-level features to help you build out your ideal, customized mesh setup.

If you do not already have a Premium or Enterprise license for Gloo Mesh, you can contact an account representative to obtain one. Note that if you also install the Gloo Mesh management plane for better visibility and insights into your environment, you specify your same license in your Gloo Mesh installation too.

Review the following features and the levels that each feature is supported in. Note that these lists provide a general overview of major features, and are not exhaustive.

✅ Supported
🟡 Limited support
❌ Unsupported
* Additional fees apply
† Multicluster mesh support requires an Enteprise level license for both Gloo Gateway and Gloo Mesh.

Gloo Gateway

Gloo Gateway is a feature-rich, fast, and flexible Kubernetes-native ingress controller and next-generation API gateway that is built on top of Envoy proxy. An API Gateway is a reverse proxy that serves as a security barrier between your clients and the microservices that make up your app. In order to access a microservice, all clients must send a request to the API Gateway. The API Gateway then verifies and routes the request to the microservice.

To set up advanced routing, traffic management, security, resiliency, and integration capabilities, the Gloo Gateway proxy uses the Kubernetes Gateway API with custom Gloo Gateway extensions. If you also use Gloo Mesh, you can then leverage these routing features in your service mesh environment, such as by using Gloo Gateway as the ingress gateway for your ambient mesh, or using Gloo Gateway as a waypoint proxy.

For more information about Gloo Gateway features, see the Gloo Gateway overview.

Get a license key

To get Gloo Mesh license, contact an account representative.

Provide your license key during Gloo Mesh installation

When you install Gloo Mesh in your management cluster, you provide your license keys either directly in your meshctl install command or Helm values file, or in a secret that you pass into the command or values file.

Trial license

  1. Save your trial license key as an environment variable.
      export GLOO_TRIAL_LICENSE_KEY=<gloo-trial-license-key>
      
  2. Decide how you want to provide your trial key during installation.

Gloo Mesh license

Provide your premium- or enterprise-level license for Gloo Mesh.

  1. Save your license key as an environment variables.
      export GLOO_MESH_LICENSE_KEY=<gloo-mesh-license-key>
      
  2. Decide how you want to provide your license key during installation.

Provide your license key during Istio installation

When you install an ambient or sidecar service mesh in your workload clusters, you can provide your license by following one of the Istio installation guides in this documentation set. These guides include steps for how to provide your license in your service mesh installation values, depending on the method of installation.

Ambient mesh

Sidecar mesh

Monitor your license

You can check your license, including your license expiration date, in multiple ways.

CLI

To check your current licenses with the meshctl CLI, you can use the meshctl license check command.

  • To pass in a license key directly, encode the key to base64 and pass it in the --key flag. For example, to check your Gloo Mesh license key, you can run the following command:
      meshctl license check --key $(echo ${GLOO_MESH_LICENSE_KEY} | base64 -w0) 
      
  • If you store your license keys in a Kubernetes secret, you can pass the secret YAML file in the --secrets-file flag instead.
      meshctl license check --secrets-file license-keys.yaml
      

In this example output, the Gloo Mesh license is current and valid. The expiration date is listed so that you can update your license before it expires.

  INFO  License key gloo-core-license-key for product gloo-mesh-core is valid. Expires at 08 Oct 24 12:31 CEST
SUCCESS  Licenses are valid
  

In this example output, the Gloo Mesh license is invalid. Check your license to ensure you entered it correctly, and if you pass the license key in the --key flag, be sure to encode it in base64.

  WARNING  License key gloo-core-license-key is not valid. Make sure that the license is correct. For help or to request a new license, contact Solo Support. See https://docs.solo.io/gloo-mesh-enterprise/main/support/support-ticket/
ERROR  Invalid licenses found
  

In this example output, the Gloo Mesh license is valid but is expired. You can update your license in your Gloo environment.

  WARNING  Your gloo-core license expired on 2024-01-24 19:30:53 +0100 CET. To get a new license, contact Support.
ERROR  License is expired. For more info, see https://docs.solo.io/gloo-mesh-enterprise/latest/setup/prepare/licensing/#update-licenses
  

UI

To check your current license with the Gloo UI:

  1. Open the Gloo UI. The Gloo UI is served from the gloo-mesh-ui service on port 8090. You can connect by using the meshctl or kubectl CLIs.

    • meshctl: For more information, see the CLI documentation.
        meshctl dashboard
        
    • kubectl:
      1. Port-forward the gloo-mesh-ui service on 8090.
          kubectl port-forward -n gloo-mesh svc/gloo-mesh-ui 8090:8090
          
      2. Open your browser and connect to http://localhost:8090.
  2. In the header navigation bar, click the gear icon.
  3. Review the status of your license. In the following example, the Gloo Mesh license is current and valid. You can also check the expiration date so that you can update your license before it expires.

Figure: Product license statuses in the Gloo UI.
Figure: Product license statuses in the Gloo UI.

Metrics

Gloo Mesh includes license metrics that you can view by using the UI of the built-in Prometheus server. These metrics give you the number of minutes until the license expires, which you can optionally use to set up alerts in Prometheus.

  1. Open the Prometheus UI.

  2. Query the solo_io_gloo_core_license metric.

  3. In the output, check the value of the metric, which is the number of minutes until the license expires. For example, in this output, the Gloo Mesh license expires in 247,649 minutes, which equals 171 days, 23 hours, and 29 minutes.

    MetricValue
    solo_io_gloo_core_license{app=“gloo-mesh-mgmt-server”, instance=“10.xx.x.x:9091”, job=“gloo-mesh-mgmt-server”, namespace=“gloo-mesh”, pod=“gloo-mesh-mgmt-server-65bd557b95-v8qq6”, pod_template_hash=“65bd557b95”}247649.2563652057
  4. Optional: If you want to add alerts for these license metrics, such as to remind you to update your license before it expires, you can add alerts to your Helm values file and apply the file during a Gloo upgrade. To get your current Helm values and upgrade Gloo, see Upgrade. For example, you might add the following alert to your values file to remind you to update your Gloo Mesh license 30 days before it expires. You can also add similar alerts for other Gloo product licenses, or alerts for other timeframes (such as using expr: solo_io_gloo_core_license < 0 in the case that a license expires). You can review these alerts in the /alerts page of the Prometheus UI.

      ...
    serverFiles:
      alerting_rules.yml:
        groups:
          - name: GlooCoreAlerts
            rules:
              ...
              - alert: GlooCoreLicenseExpiresSoon
                annotations:
                  runbook: https://docs.solo.io/gloo-mesh/latest/setup/upgrade/#update-licenses
                  summary: The Gloo Mesh license expires in 30 days.
                expr: solo_io_gloo_core_license < 1440 * 30
                labels:
                  severity: warning
      

Update licenses

Before your Gloo Mesh license expires, you can update the license by performing a Helm upgrade.

For example, if you notice that your Gloo management plane deployments are in a crash loop, your license might be expired. You can check the logs for one of the deployments, such as the management server, to look for an error message like the following:

  meshctl logs mgmt
  
  {"level":"fatal","ts":1628879186.1552186,"logger":"gloo-mesh-mgmt-server","caller":"cmd/main.go:24","msg":"License is invalid or expired, crashing - license expired", ...
  

To update your license, see the upgrade guide.