id = "glooctl"
name = "glooctl"
homepage = "https://docs.solo.io/gloo-edge/latest/reference/cli/glooctl/"
description = "CLI for Gloo."
executables = ["glooctl"]
[dotfiles]
paths = ["~/.gloo/glooctl-config.yaml"]
secret = []
[commands]
format = 1
label = "glooctl"
description = "Install Gloo Gateway on Kubernetes. Other glooctl subcommands and the Consul options are left out."
quality = "ai-draft"
parser = { end_of_options = "--", interleave = "permute", long_equals = true, short_attached = true, short_bundles = false }
[[commands.subcommand]]
path = ["install", "gateway"]
label = "Install Gloo Gateway"
description = "Install the open-source Gloo Gateway into a Kubernetes cluster (requires kubectl)."
[[commands.subcommand.source]]
id = "help"
kind = "manual"
url = "https://docs.solo.io/gloo-edge/latest/reference/cli/glooctl_install_gateway/"
evidence = """glooctl install gateway [flags]
--create-namespace Create the namespace to install gloo into (default true)
-d, --dry-run Dump the raw installation yaml instead of applying it to kubernetes
-f, --file string Install Gloo from this Helm chart archive file rather than from a release
-n, --namespace string namespace to install gloo into (default "gloo-system")
--release-name string helm release name (default "gloo")
--values strings List of files with value overrides for the Gloo Helm chart, (e.g. --values file1,file2 or --values file1 --values file2)
--version string version to install (e.g. 1.4.0, defaults to latest)
--kube-context string kube context to use when interacting with kubernetes
--kubeconfig string kubeconfig to use, if not standard one
-v, --verbose If true, output from kubectl commands will print to stdout/stderr"""
[[commands.subcommand.field]]
id = "dry_run"
label = "Dry run (print YAML)"
type = "boolean"
option = ["--dry-run", "-d"]
sources = ["help"]
[[commands.subcommand.field]]
id = "namespace"
label = "Namespace"
type = "string"
option = ["--namespace", "-n"]
sources = ["help"]
[[commands.subcommand.field]]
id = "version"
label = "Gloo version"
type = "string"
option = ["--version"]
sources = ["help"]
[[commands.subcommand.field]]
id = "release_name"
label = "Helm release name"
type = "string"
option = ["--release-name"]
sources = ["help"]
[[commands.subcommand.field]]
id = "file"
label = "Helm chart archive"
type = "path"
path = { kind = "file", role = "input" }
option = ["--file", "-f"]
sources = ["help"]
[[commands.subcommand.field]]
id = "values"
label = "Values files"
type = "path"
path = { kind = "file", role = "input" }
option = ["--values"]
multiple = true
sources = ["help"]
[[commands.subcommand.field]]
id = "kube_context"
label = "Kube context"
type = "string"
option = ["--kube-context"]
sources = ["help"]
[[commands.subcommand.field]]
id = "kubeconfig"
label = "Kubeconfig"
type = "path"
path = { kind = "file", role = "input" }
option = ["--kubeconfig"]
sources = ["help"]
[[commands.subcommand.field]]
id = "verbose"
label = "Verbose kubectl output"
type = "boolean"
option = ["--verbose", "-v"]
sources = ["help"]
[[commands.subcommand.task]]
id = "preview"
label = "Preview manifests"
set = { dry_run = [true] }
lock = ["dry_run"]
fields = ["dry_run", "namespace", "version", "values"]
[[commands.subcommand.task]]
id = "install"
label = "Install"
fields = ["namespace", "version", "values", "kube_context"]
[[commands.subcommand.group]]
id = "basic"
label = "Basic"
fields = ["dry_run", "namespace", "version", "values"]
[[commands.subcommand.group]]
id = "advanced"
label = "Advanced"
fields = ["release_name", "file", "kube_context", "kubeconfig", "verbose"]