Last modified May 30, 2023

kubectl-gs reference

kubectl-gs is a CLI and a kubectl plugin (invoked as kubectl gs) for the Giant Swarm Management API.

Note: Management API support is under active development. Supported functionality depends on the provider and the workload cluster release used. Please pay attention to the compatibility information given on the individual command reference pages.


loginEnsure an authenticated kubectl context
get appsList apps or get details on a single app
get catalogsList catalogs or get details on a single catalog
get clustersList clusters or get details on a single cluster
get nodepoolsList node pools or get details on a single node pool
get organizationsList organizations or get details on a single organization
get releasesList releases or get details on a single release
gitopsGathers GitOps related subcommand
template appCreate manifests for an app
template catalogCreate manifests for a catalog
template clusterCreate manifests for a cluster
template nodepoolCreate manifests for a node pool
template organizationCreate manifest for an organization
update appUpdate given App
update clusterSchedule a cluster update
helpGet help for a command

Deprecated commands:


--v, --versionVersion for kubectl gs.

Global flags

--asUsername to impersonate for the operation. User could be a regular user or a service account in a namespace.
--as-groupGroup to impersonate for the operation, this flag can be repeated to specify multiple groups.
--as-uidUID to impersonate for the operation.
--cache-dirDefault cache directory.
--certificate-authorityPath to a cert file for the certificate authority.
--client-certificatePath to a client certificate file for TLS.
--client-keyPath to a client key file for TLS.
--clusterThe name of the kubeconfig cluster to use.
--contextThe name of the kubeconfig context to use.
--debugToggle debug mode, for seeing full error output.
--disable-version-checkDisable self-update version check.
-h, --helpHelp for kubectl gs.
--insecure-skip-tls-verifyIf true, the server’s certificate will not be checked for validity. This will make your HTTPS connections insecure.
--kubeconfigPath to the kubeconfig file to use for CLI requests.
-n, --namespaceIf present, the namespace scope for this CLI request.
--request-timeoutThe length of time to wait before giving up on a single server request. Non-zero values should contain a corresponding time unit (e.g. 1s, 2m, 3h). A value of zero means don’t timeout requests. (default “0”)
-s, --serverThe address and port of the Kubernetes API server
--tls-server-nameServer name to use for server certificate validation. If it is not provided, the hostname used to contact the server is used
--tokenBearer token for authentication to the API server
--userThe name of the kubeconfig user to use

Installing and updating

With Krew, simply install and upgrade the gs plug-in:

kubectl krew install gs
kubectl krew upgrade gs

Find out more details in our installation docs.


Otherwise, your Giant Swarm support staff is available for you in case you run into an issue. Also feel free to check our frequently asked questions on kubectl-gs.


See the GitHub project for source code, issues and pull requests.

As a Giant Swarm customer, feel free to use your Slack channel to give feedback, ask questions and suggest improvements for kubectl-gs.