Skupper command overview

Skupper uses the skupper command as its command-line interface (CLI) for creating and operating Skupper networks.

Capabilities

In its primary role, the Skupper CLI is a thin layer on top of the standard Skupper resources. Its job is to configure sites, listeners, and connectors. It additionally provides commands for site linking, system operation, and troubleshooting.

By design, the Skupper CLI does not do everything the Skupper resources can do. We encourage you to use the resources directly for advanced use cases.

Usage

skupper [command] [subcommand] [options]

Context

Skupper commands operate with a current platform and namespace (with a few exceptions). On Kubernetes, there is additionally a current kubeconfig and context. You can use CLI options or environment variables to change the current selection.

Context Default CLI option Environment variable
Platform kubernetes --platform SKUPPER_PLATFORM
Namespace From kubeconfig --namespace None
Kubeconfig context From kubeconfig --context None
Kubeconfig ~/.kube/config --kubeconfig KUBECONFIG

On Docker, Podman, and Linux, the current namespace defaults to default.

Blocking

On Kubernetes, resource operations block until the desired outcome is achieved, an error occurs, or the timeout is exceeded. You can change the wait condition and the timeout duration using the --wait and --timeout options.

On Docker, Podman, and Linux, resource operations do not block. Instead, they place the resources in the input location. Changes are applied when the user invokes skupper system reload.

Errors

The Skupper CLI returns a non-zero exit code indicating an error when:

Resource commands

skupper <resource-type> create <resource-name> [options]
skupper <resource-type> update <resource-name> [options]
skupper <resource-type> delete <resource-name> [options]
skupper <resource-type> status [resource-name] [options]
skupper <resource-type> generate <resource-name> [options]

These commands operate on Skupper sites, links, listeners, and connectors.

Resource properties are set using one or more --some-key some-value command-line options. YAML resource options in camel case (someKey) are exposed as hyphenated names (--some-key) when used as options.

The create, update, and delete commands control the lifecycle of Skupper resources and configure their properties.

The status commands display the current state of resources. If no resource name is specified, they list the status of all resources of the given type.

The generate commands produce Skupper resources as YAML or JSON output. They are useful for directing the output to files or other tools.

Token commands

skupper token issue <token-file> [options]
skupper token redeem <token-file> [options]

These commands use access tokens to create links between sites.

The token issue command creates an access token for use in remote sites. The token redeem command uses an access token to create a link to the issuing site.

System commands

skupper system install [options]
skupper system uninstall [options]
skupper system start [options]
skupper system stop [options]
skupper system reload [options]
skupper system status [options]
skupper system apply [options]
skupper system delete [options]
skupper system generate-bundle [options]

These commands configure and operate the Skupper runtime components for Docker, Podman, and Linux sites.

Debug commands

skupper debug check [options]
skupper debug dump [options]

These commands help you troubleshoot problems.

Version command

skupper version

The version command displays the versions of Skupper components.