Quick installation

Install the latest version of glooctl. Make sure to add glooctl to your PATH (see macOS or Linux for specific instructions).

  • Linux and macOS:
      curl -sL https://run.solo.io/gloo/install | sh
    export PATH=$HOME/.gloo/bin:$PATH
      
  • Windows: Notes that this script requires OpenSSL.
      (New-Object System.Net.WebClient).DownloadString("https://run.solo.io/gloo/windows/install") | iex
    $env:Path += ";$env:userprofile/.gloo/bin/"
      

Install a specific version of the CLI

You can download a specific version of glooctl directly from the GitHub releases page.

  1. In your browser, navigate to the Gloo project releases.
  2. Choose the version of glooctl to install. For Gloo Gateway Enterprise, use the Gloo Gateway OSS version that corresponds to the Gloo Gateway Enterprise version you want to upgrade to. To find the OSS version that corresponds to each Gloo Gateway Enterprise release, see the Gloo Gateway Enterprise changelogs. Keep in mind that Gloo Gateway for Kubernetes Gateway API is available in version 1.17 or later (and not in earlier versions).
  3. Click the version of glooctl that you want to install.
  4. In the Assets, download the glooctl package that matches your operating system, and follow your operating system procedures for replacing your existing glooctl binary file with the upgraded version.
  5. After downloading, rename the executable to glooctl and add it to your system’s PATH.

Upgrade the CLI

When it’s time to upgrade Gloo Gateway, make sure to update the glooctl CLI version before upgrading.

You can use the glooctl upgrade command to upgrade or roll back the glooctl version. For example, you might change versions during an upgrade process, or when you have multiple versions of Gloo Gateway across clusters that you manage from the same workstation. For more options, run glooctl upgrade --help.

  1. Set the version to upgrade glooctl to in an environment variable. Include the patch version. For Gloo Gateway Enterprise, specify the Gloo Gateway OSS version that corresponds to the Gloo Gateway Enterprise version you want to upgrade to. To find the OSS version that corresponds to each Gloo Gateway Enterprise release, see the Gloo Gateway Enterprise changelogs.

      export GLOOCTL_VERSION=<version>
      
  2. Upgrade your version of glooctl.

      glooctl upgrade --release v${GLOOCTL_VERSION}
      
  3. Verify the glooctl CLI is installed and running the appropriate version. In the output, the Client is your local version. The Server is the version that runs in your cluster, and is undefined if Gloo Gateway is not installed yet.

      glooctl version -o table
      

Uninstall the CLI

To uninstall glooctl, you can delete the executable file from your system, such as on macOS in the following example.

  rm ~/.gloo/bin/glooctl
  

Skew policy

Use the same version of the glooctl CLI as the Gloo Gateway version that you installed in your cluster.

  • Slight skews within minor versions typically work, such as glooctl 1.18.1 and Gloo 1.18.0.
  • Compatibility across beta versions is not guaranteed, even within minor version skews.
  • To resolve bugs in glooctl, you might have to upgrade the CLI to a specific or latest version.

Reference documentation

For more information about each glooctl command, see the CLI documentation or run the help flag for a command.

  glooctl --help
  

Other command line tools

As you use Gloo Gateway, you might need the following common cluster management command line tools on your local system.

CLI toolDescription
Cloud provider CLIThe CLI to interact with your preferred cloud provider, such as aws or gcloud. You might also have local cluster testing tools such as kind or k3d. gcloud.
istioctlThe Istio command line tool, if you plan to use the Istio integration in your Gloo Gateway environment. The guides in this documentation use Istio version 1.22.4. To check your installed version, run istioctl version.
helmThe Kubernetes package manager, to customize multiple settings in a Gloo Gateway installation.
jqParse JSON output, such as from logs, to get values that you can use in subsequent commands, environment variables, or other contexts.
kubectlThe Kubernetes command line tool. Download the kubectl version that is within one minor version of the Kubernetes clusters you plan to use with Gloo.
openssl

The openssl version must be at least 1.1.

  1. Check your openssl version. If you see LibreSSL in the output, continue to the next step.
      openssl version
      
  2. Install the OpenSSL version (not LibreSSL). For example, you might use Homebrew.
      brew install openssl
      
  3. Review the output of the OpenSSL installation for the path of the binary file. You can choose to export the binary to your path, or call the entire path whenever the following steps use an openssl command.
    • For example, openssl might be installed along the following path: /usr/local/opt/openssl@3/bin/
    • To run commands, you can append the path so that your terminal uses this installed version of OpenSSL, and not the default LibreSSL. /usr/local/opt/openssl@3/bin/openssl req -new -newkey rsa:4096 -x509 -sha256 -days 3650...