# Commands
# Global flags
There are some global flags that can be appended to any command.
--home string
Location of your KUDO config. (default "~/.kudo")
--kubeconfig string
Path to your Kubernetes configuration file. (default "~/.kube/config")
-n, --namespace string
Target namespace for the object. (default "default")
--request-timeout int
Request timeout value, in seconds. Defaults to 0 (unlimited):::
-v, --v
Log level for verbose logs
--validate-install
Validate KUDO installation before running the actual command. (default true)
# Semi-global Flags
These flags are not really global, but a lot of commands have them. Use --help
to see if a certain command supports it.
--help
All commands have this flag to show the usage details of that command.
-o, --output
A lot of commands support this flag that allows machine parsable output. Usually you can specify "yaml" or "json". If the the flag is not specified, human readable output is used.
--dry-run
Do not actually execute anything, run only checks and preparations for the command. Can often be combined with --output
to
see which resources would be applied to the cluster.
# init
Initializes or upgrades the KUDO server and client components.
Usage
kubectl kudo init [flags]
# Flags to customize the installation
These flags customize the installation, especially the server part. At the moment these values are not saved in the installation itself and have to be provided every time the init command is executed.
-n, --namespace string
For kudo init, the default is kudo-system
. If a custom namespace is specified, the KUDO controller is installed in
this namespace. A custom namespace has to exist before installation and will not be created.
-i, --kudo-image string
Override KUDO controller image and/or version
--version string
Override KUDO controller version of the KUDO image
--kudo-image-pull-policy string
Override KUDO controller image pull policy (default "Always")
--service-account string
Override for the default serviceAccount. By default, a service account "kudo-manager" is created with cluster-admin permissions. If a custom service account is provided, it has to exist and has to have cluster-admin permissions.
--unsafe-self-signed-webhook-ca
Use self-signed CA bundle (for testing only) for the webhooks. By default, KUDO expects cert-manager (opens new window) to be installed, multiple versions are supported.
# Other flags
--upgrade
Upgrade an existing KUDO installation
--verify
Verify an existing KUDO installation
--client-only
Only initialize the ~/.kudo directory and repository config, do not install any server side resources
-w --wait
Block until KUDO manager is running and ready to receive requests
--wait-timeout int
Wait timeout to be used (default 300) with --wait
# get
Get information about installed instances, operators and operator versions.
Usage
kubectl kudo get all [flags]
instances
Show all instances
operators
Show all operators
operatorversions
Show all operator versions
all
Show all KUDO objects
All get
commands supports --output yaml
option.
# search
Searches the repository for a match on "contains" search criteria
Given an operator named foo-demo, a search for 'foo' or 'demo' would include this operator.
By default, the command only shows the latest version of an operator. Use --all-versions
to list all found versions.
Usage
kubectl-kudo search [criteria] [flags]
--repo string
Name of repository configuration to use. (default defined by context)
-a, --all-versions
Return all versions of found operators.
# install
Install a KUDO package from the local filesystem, official repo or in-cluster resources.
The name argument must be a name of the package in the repository, a URL or path to package in *.tgz format,
path to an unpacked package directory or a name of an already installed operator (when using the --in-cluster
option).
To specify a local path as an operator, the path has to start with ./
, ../
or /
, otherwise KUDO expects the operatorname to be a
package from the remote repository.
Usage
kubectl-kudo install <name> [flags]
--app-version string
A specific app version in the official GitHub repo. (default to the most recent)
--operator-version string
A specific operator version int the official GitHub repo. (default to the most recent)
--repo string
Name of repository configuration to use. (default defined by context)
--instance string
The Instance name. (defaults to Operator name appended with -instance)
--skip-instance
If set, install will install the Operator and OperatorVersion, but not an Instance. (default "false")
--create-namespace
If set, install will create the specified namespace and will fail if it exists. (default "false")
-p, --parameter string=value
The parameter name and value separated by '='. For example -p NODE_COUNT=3
Array and map parameters can be provided as YAMl. For example -p PORTS='[80, 443]'
for an array, -p CUSTOM_LABELS='{team: dev, owner: foo}'
for a map.
-P, --parameter-file string
Path to a YAML file with parameter values. The top-level element in this file must be a mapping, where keys are parameter names and values are the parameter values.
See the section on installing with overrides below for an example of a parameter value file.
This is useful if you want to keep your instances' parameter values in version control, or for specifying particularly complex or long parameter values which are inconvenient to handle in shell command line.
Parameters are collected by first reading the files specified with --parameter-file
/-P
(in the order specified)
and then from values specified with --parameter
/-p
. Last encountered value of a given parameter wins.
This lets you define defaults in one or more files, and override them on the command line as needed.
--wait
Specify if the CLI should wait for the install to complete before returning (default "false")
--wait-time int
Specify the max wait time in seconds for CLI for the install to complete before returning (default "300")
--in-cluster
When specified, the operator is searched in the already installed in-cluster operator versions. To see already installed operator versions use the get command.
# plan
# plan status
Shows the plan status of the given instance.
This command supports --output yaml
.
Usage
kubectl kudo plan status --instance=<instanceName> [flags]
--wait
Specify if the CLI should wait for the plan to complete before returning (default "false")
# plan history
Lists history for each plan of an instance.
Usage
kubectl kudo plan history --instance=<instanceName>
# plan trigger
Triggers a specific plan on a particular instance.
Usage
kubectl kudo plan trigger --name=<planName> --instance=<instanceName> [flags]
--wait
Specify if the CLI should wait for the triggered plan to complete before returning (default "false")
--wait-time int
Specify the max wait time in seconds for CLI for the triggered plan to complete before returning (default "300")
# uninstall
Uninstall an instance of a KUDO package. This also removes dependent objects, e.g. deployments, pods. It will NOT remove the OperatorVersion or Operator CRD.
Usage
kubectl-kudo uninstall --instance=<instanceName> [flags]
WARNING
This will uninstall the specified operator instance and may lead to data loss!
# update
Update KUDO operator instance with new parameters. The update of parameters can trigger the execution of specific plans.
Usage
kubectl kudo update --instance=<instanceName> [flags]
-p, --parameter string=value
The parameter name and value separated by '='. For example -p NODE_COUNT=3
-P, --parameter-file string
A YAML file with parameters. See install for details.
--wait
Specify if the CLI should wait for the update to complete before returning (default "false")
--wait-time int
Specify the max wait time in seconds for CLI for the update to complete before returning (default "300")
Info
Updating the value of a parameter in an instance will trigger the plan which is specified in the parameter definition.
# upgrade
Upgrade a KUDO operator instance from the currently installed version to a new version. The upgrade argument must be a name of the package in the repository, a path to package in *.tgz format, or a path to an unpacked package directory.
To specify a local path as an operator, the path has to start with ./
, ../
or /
, otherwise KUDO expects the operatorname to be a
package from the remote repository.
Depending on the new operator version you may need to specify certain parameters, for example if the new operator version has newly added required parameters.
Usage
kubectl kudo upgrade <operatorname> --instance=<instanceName> [flags]
--app-version string
A specific app version in the official GitHub repo. (default to the most recent)
--operator-version string
A specific operator version int the official GitHub repo. (default to the most recent)
--repo string
Name of repository configuration to use. (default defined by context)
-p, --parameter string=value
The parameter name and value separated by '='. For example -p NODE_COUNT=3
-P, --parameter-file string
A YAML file with parameters. See install for details.
# diagnostics
Diagnostics provides functionality to collect and analyze diagnostics data
Usage
kubectl kudo diagnostics collect --instance=<instanceName> [flags]
--log-since duration
Only return logs newer than a relative duration like 5s, 2m, or 3h. Defaults to all logs.
-O, --output-directory string
The output directory for the collected resources. Defaults to 'diag' (default "diag")
# Development Commands
These commands are mostly interesting for operator developers.
# package
This command consists of multiple sub-commands to interact with KUDO packages.
It can be used to package or verify an operator, or list parameters. When working with parameters it can provide a list of parameters from a remote operator given a url or repository along with the name and version.
add
Add content to an operator package files
create
Package a local KUDO operator into a tarball.
list
List context from an operator package
new
Wizard style helper to create new operator
verify
Verify a package
For more details please use --help
with the CLI.
# repo
This command consists of multiple sub-commands to interact with KUDO repositories.
It can be used to add, remove, list, and index kudo repositories.
add
Add an operator repository
context
Set default for operator repository context
index
Generate an index file given a directory containing KUDO operator packages
list
List operator repositories
remove
Remove an operator repository
For more details please use --help
# test
Runs KUTTL tests against a Kubernetes cluster.
For more details see KUTTL (opens new window)
# version
Show the version of KUDO.
← Installation Examples →