CLI Reference
This documentation is for the up CLI v0.44.3.
The latest version of up can be installed by running:
curl -sL "https://cli.upbound.io" | sh
up
The Upbound CLI
Please report issues and feature requests at https://github.com/upbound/upbound.
Usage
up <command> [flags]
Flags
| Flag | Short Form | Description |
|---|---|---|
--help | -h | Show context-sensitive help. |
--format | Format for get/list commands. Can be: json, yaml, default | |
--quiet | -q | Suppress all informational output. Command results will still be printed. |
--silent | Suppress all output. | |
--pretty | Pretty print output. |
up completion
Generate shell autocompletions
Usage
up completion [flags]
Flags
| Flag | Short Form | Description |
|---|---|---|
--uninstall |
up composition
Manage Compositions.
Usage
up composition <command> [flags]
Flags
| Flag | Short Form | Description |
|---|---|---|
--domain | Root Upbound domain. Overrides the current profile's domain. | |
--profile | Profile used to execute command. | |
--account | -a | Deprecated. Use organization instead. |
--organization | Organization used to execute command. Overrides the current profile's organization. | |
--ca-bundle | Path to CA bundle file to prepend to existing CAs | |
--insecure-skip-tls-verify | [INSECURE] Skip verifying TLS certificates. | |
--debug | -d | [INSECURE] Run with debug logging. Repeat to increase verbosity. Output might contain confidential data like tokens. |
--override-api-endpoint | Overrides the default API endpoint. | |
--override-auth-endpoint | Overrides the default auth endpoint. | |
--override-proxy-endpoint | Overrides the default proxy endpoint. | |
--override-registry-endpoint | Overrides the default registry endpoint. | |
--override-accounts-endpoint | Overrides the default accounts endpoint. | |
--kubeconfig | Override default kubeconfig path. | |
--kubecontext | Override default kubeconfig context. |
up composition generate
Generate a Composition.
The generate command creates a composition and adds the required function
packages to the project as dependencies.
Examples
Generate a composition from a CompositeResourceDefinition (XRD) and save output
to apis/xnetworks/composition.yaml:
up composition generate apis/xnetwork/definition.yaml
Generate a composition from a Composite Resource (XR) and save output to
apis/xnetworks/composition.yaml:
up composition generate examples/xnetwork/xnetwork.yaml
Generate a composition from a Composite Resource (XR), prefixing the
metadata.name with aws and save output to
apis/xnetworks/composition-aws.yaml:
up composition generate examples/network/network-aws.yaml --name aws
Generate a composition from a Composite Resource (XR) with a custom plural form
and save output to apis/xdatabases/composition.yaml:
up composition generate examples/xdatabase/database.yaml --plural postgreses
Usage
up composition generate <resource> [flags]
Arguments
| Argument | Description |
|---|---|
<resource> | File path to Composite Resource Claim (XRC) or Composite Resource (XR) or CompositeResourceDefinition (XRD). |
Flags
| Flag | Short Form | Description |
|---|---|---|
--name | Name for the new composition. | |
--plural | Optional custom plural for the CompositeTypeRef.Kind | |
--path | Optional path to the output file where the generated Composition will be saved. | |
--project-file | -f | Path to project definition file. |
--output | -o | Output format for the results: 'file' to save to a file, 'yaml' to print XRD in YAML format, 'json' to print XRD in JSON format. |
--cache-dir | Directory used for caching dependency images. |
up composition render
Run a composition locally to render an XR into composed resources.
The render command shows you what composed resources Crossplane would create
by printing them to stdout. It also prints any changes that would be made to the
status of the XR. It doesn't talk to Crossplane. Instead it runs the Composition
Function pipeline specified by the Composition locally, and uses that to render
the XR.
Examples
Simulate creating a new XR:
up composition render composition.yaml xr.yaml
Simulate updating an XR that already exists:
up composition render composition.yaml xr.yaml \
--observed-resources=existing-observed-resources.yaml
Pass context values to the Function pipeline:
up composition render composition.yaml xr.yaml \
--context-values=apiextensions.crossplane.io/environment='{"key": "value"}'
Pass extra resources requested by functions in the pipeline:
up composition render composition.yaml xr.yaml \
--extra-resources=extra-resources.yaml
Pass credentials needed by functions in the pipeline:
up composition render composition.yaml xr.yaml \
--function-credentials=credentials.yaml
Override function annotations for a remote Docker daemon.
DOCKER_HOST=tcp://192.168.1.100:2376 up composition render composition.yaml xr.yaml \
--function-annotations render.crossplane.io/runtime-docker-publish-address=0.0.0.0 \
--function-annotations render.crossplane.io/runtime-docker-target=192.168.1.100
Docker Configuration
The render command uses Docker (or any Docker-compatible container runtime) to run composition functions. Configure the Docker connection using these standard environment variables:
DOCKER_HOST: Docker daemon socket (e.g.,unix:///var/run/docker.sock)DOCKER_API_VERSION: Docker API version to useDOCKER_CERT_PATH: Path to Docker TLS certificatesDOCKER_TLS_VERIFY: Enable TLS verification (1 or 0)
Usage
up composition render <composition> <composite-resource> [flags]
Arguments
| Argument | Description |
|---|---|
<composition> | A YAML file specifying the Composition to use to render the Composite Resource (XR). |
<composite-resource> | A YAML file specifying the Composite Resource (XR) to render. |
Flags
| Flag | Short Form | Description |
|---|---|---|
--xrd | A YAML file specifying the CompositeResourceDefinition (XRD) to validate the XR against. | |
--context-files | Comma-separated context key-value pairs to pass to the Function pipeline. Values must be files containing JSON. | |
--context-values | Comma-separated context key-value pairs to pass to the Function pipeline. Values must be JSON. Keys take precedence over --context-files. | |
--include-function-results | -r | Include informational and warning messages from Functions in the rendered output as resources of kind: Result. |
--include-full-xr | -x | Include a direct copy of the input XR's spec and metadata fields in the rendered output. |
--observed-resources | -o | A YAML file or directory of YAML files specifying the observed state of composed resources. |
--extra-resources | -e | A YAML file or directory of YAML files specifying extra resources to pass to the Function pipeline. |
--include-context | -c | Include the context in the rendered output as a resource of kind: Context. |
--function-credentials | A YAML file or directory of YAML files specifying credentials to use for Functions to render the XR. | |
--function-annotations | Override function annotations for all functions. Can be repeated. | |
--timeout | How long to run before timing out. | |
--max-concurrency | Maximum number of functions to build at once. | |
--project-file | -f | Path to project definition file. |
--cache-dir | Directory used for caching dependency images. | |
--no-build-cache | Don't cache image layers while building. | |
--build-cache-dir | Path to the build cache directory. |
up config
Manage global configuration settings.
Usage
up config <command> [flags]
up config get
Get configuration values.
The get command shows global configuration values for the up CLI.
Configuration Keys
telemetry.disabled: Controls whether anonymous telemetry is collected.
Usage
up config get
up config set
Set configuration values.
The set command sets a global configuration value for the up CLI.
Configuration Keys
telemetry.disabled: Set to true to disable collection of anonymous telemetry.
Examples
Disable collection of anonymous telemetry:
up config set telemetry.disabled true
Usage
up config set <key> <value>
Arguments
| Argument | Description |
|---|---|
<key> | Configuration key to set. |
<value> | Configuration value to set. |
up controlplane
Interact with control planes.
Usage
up controlplane <command> [flags]
Flags
| Flag | Short Form | Description |
|---|---|---|
--domain | Root Upbound domain. Overrides the current profile's domain. | |
--profile | Profile used to execute command. | |
--account | -a | Deprecated. Use organization instead. |
--organization | Organization used to execute command. Overrides the current profile's organization. | |
--ca-bundle | Path to CA bundle file to prepend to existing CAs | |
--insecure-skip-tls-verify | [INSECURE] Skip verifying TLS certificates. | |
--debug | -d | [INSECURE] Run with debug logging. Repeat to increase verbosity. Output might contain confidential data like tokens. |
--override-api-endpoint | Overrides the default API endpoint. | |
--override-auth-endpoint | Overrides the default auth endpoint. | |
--override-proxy-endpoint | Overrides the default proxy endpoint. | |
--override-registry-endpoint | Overrides the default registry endpoint. | |
--override-accounts-endpoint | Overrides the default accounts endpoint. | |
--kubeconfig | Override default kubeconfig path. | |
--kubecontext | Override default kubeconfig context. |
up controlplane api-connector
Connect an App Cluster to a control plane using API Connector.
Usage
up controlplane api-connector <command> [flags]
up controlplane api-connector install
Install api-connector into an consumer cluster.
The install command installs the API Connector into a consumer cluster.
Note that the API Connector is a preview feature, under active development and subject to breaking changes. Production use is not recommended.
Examples
Install the API Connector into the consumer cluster and connect it to the control plane referred to by the current context:
up controlplane api-connector install --consumer-kubeconfig /path/to/kubeconfig
Install the API Connector into the cluster and connect it to the control plane referred to by the current context using the provided robot name for authentication:
up controlplane api-connector install --consumer-kubeconfig /path/to/kubeconfig \
--robot-name upbound-robot-name
Install the API Connector into the cluster but do not provision a
ClusterConnection resource or create a robot for authentication:
up controlplane api-connector install --consumer-kubeconfig /path/to/kubeconfig \
--skip-connection
Usage
up controlplane api-connector install [flags]
Flags
| Flag | Short Form | Description |
|---|---|---|
--set | Set parameters. | |
--file | -f | Parameters file. |
--bundle | Local bundle path. | |
--upgrade | Upgrade or downgrade the API Connector to --version, even if it is already installed. | |
--version | Version of the API Connector to install. If not provided, the latest, known to CLI, will be installed. | |
--name | Name of the related objects for named connection. If not provided, control plane name will be used with api-connector prefix. | |
--upbound-token | API token used to authenticate to the provider control plane. Mutually exclusive with --robot-name. | |
--skip-connection | Skip secret and connection initialization to the control plane. If provided, the connector will be installed without connecting to the control plane. | |
--consumer-kubeconfig | Path to the kubeconfig file for the consumer cluster. If not provided, the default kubeconfig resolution will be used. | |
--consumer-context | Context to use in the kubeconfig file. If not provided, the current context will be used. | |
--helm-directory | Directory to store the Helm chart. If not provided, the default will be used. |
up controlplane api-connector uninstall
Uninstall api-connector from an consumer cluster.
The uninstall command uninstalls the API Connector from a cluster.
Examples
Uninstall the API Connector from the cluster but leave the connections and secrets in place:
up controlplane api-connector uninstall --target-kubeconfig kubeconfig-path-for-deployment-cluster
Uninstall the API Connector from the cluster and delete the connections and secrets. API objects created by the API Connector initial installation will not be deleted:
up controlplane api-connector uninstall --all --target-kubeconfig kubeconfig-path-for-deployment-cluster
Usage
up controlplane api-connector uninstall --consumer-kubeconfig=STRING [flags]
Flags
| Flag | Short Form | Description |
|---|---|---|
--consumer-kubeconfig | Required Path to the kubeconfig file for the consumer cluster. If not provided, the default kubeconfig resolution will be used. | |
--consumer-context | Context to use in the kubeconfig file. If not provided, the current context will be used. | |
--all | Uninstall all resources including the connectors and secrets. If not provided, only the connector will be uninstalled. |
up controlplane configuration
Manage Configurations.
Usage
up controlplane configuration <command> [flags]
up controlplane configuration install
Install a Configuration.
Usage
up controlplane configuration install <package> [flags]