Skip to content
LatchkeyLatchkey home

meshctl install: Install Gloo From CI

meshctl install deploys the Gloo control plane into the current-context cluster, with a version and optional Helm value overrides.

meshctl install is the CLI path to stand up Gloo in a pipeline; pin the version and follow it with meshctl check to confirm the rollout.

What it does

meshctl install applies the Gloo management components (and, for enterprise, requires a license) to the cluster your kube context points at. You choose the version and can override chart values with --set or a values file, mirroring a Helm install.

Common usage

Terminal
meshctl install --version 2.5.0
# with a license key and value overrides
meshctl install --version 2.5.0 \
  --set licensing.glooMeshLicenseKey=$GLOO_LICENSE \
  --set glooMgmtServer.enabled=true

Options

FlagWhat it does
--version <ver>Pin the Gloo version to install
--set <path=value>Override a Helm value (repeatable)
--chart-values-file <f>Supply a values file
--kubecontext <name>Target cluster context
--dry-runRender manifests without applying

In CI

Pin --version for reproducibility and pass the license via a secret env var, never inline. Chain meshctl install && meshctl check so the pipeline only continues when the install verified healthy.

Common errors in CI

"a valid Gloo ... license is required" or a license-expired message means the license env var is empty or stale. "Error: could not ... context ... not found" is a KUBECONFIG problem. "release ... already exists" means Gloo is already installed; use meshctl upgrade instead of a second install.

Using this in CI

A runner has no kubeconfig, no cached context, and no interactive auth. Every kubectl invocation in CI needs the context supplied explicitly, and most confusing CI failures here are the command running against the wrong cluster or no cluster at all.

Terminal
# never rely on the ambient context on a runner
kubectl --context "$KUBE_CONTEXT" -n "$NAMESPACE" get pods

# confirm what you are actually connected to before mutating anything
kubectl config current-context
kubectl cluster-info

# fail fast instead of hanging on an unreachable API server
kubectl --request-timeout=30s get nodes

Frequently asked questions

meshctl install: Install Gloo From CI?
meshctl install is the CLI path to stand up Gloo in a pipeline; pin the version and follow it with meshctl check to confirm the rollout.
What it does?
meshctl install applies the Gloo management components (and, for enterprise, requires a license) to the cluster your kube context points at. You choose the version and can override chart values with --set or a values file, mirroring a Helm install.
In CI?
Pin --version for reproducibility and pass the license via a secret env var, never inline. Chain meshctl install && meshctl check so the pipeline only continues when the install verified healthy.
Common errors in CI?
"a valid Gloo ... license is required" or a license-expired message means the license env var is empty or stale. "Error: could not ... context ... not found" is a KUBECONFIG problem. "release ... already exists" means Gloo is already installed; use meshctl upgrade instead of a second install.

Related guides

References

Run this faster and cheaper on Latchkey managed runners - self-healing included. Start free → 30-day trial · No credit card