Get a license key

To get Gloo Mesh Core license, contact an account representative.

Provide your license key during installation

When you install Gloo Mesh Core 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.

Standard license

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

Monitor your license

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

CLI

To check your current license with the gloo CLI, run the following command. In the output, you can see your license status in the License status section.

  meshctl check
  

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 Core license is current and valid. You can also check the expiration date so that you can update your license before it expires.

Metrics

Gloo Mesh Core 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 Core 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 Core 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: TODO/core/main/setup/upgrade/#update-licenses
                  summary: The Gloo Mesh Core license expires in 30 days.
                expr: solo_io_gloo_core_license < 1440 * 30
                labels:
                  severity: warning
      

Update licenses

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

For example, if you notice that your Gloo Mesh Core control 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.