Skip to content
GitHub

Skupper CLI commands

Command index

Site operations

SiteOverview of site commands
Site createA site is a place where components of your application are running
Site updateChange site settings of a given site
Site deleteDelete a site
Site statusDisplay the current status of a site
Site generateA site is a place where components of your application are running

Site linking

TokenOverview of token commands
Token issueIssue a token file redeemable for a link to the current site
Token redeemRedeem a token file in order to create a link to a remote site
LinkOverview of link commands
Link updateChange link settings
Link deleteDelete a link by name
Link statusDisplay the status of links in the current site
Link generateGenerate a new link resource as a YAML output, unless explicitly specified otherwise using the --output flag

Service exposure

ListenerOverview of listener commands
Listener createClients at this site use the listener host and port to establish connections to the remote service
Listener updateClients at this site use the listener host and port to establish connections to the remote service
Listener deleteDelete a listener
Listener statusDisplay status of all listeners or a specific listener
Listener generateClients at this site use the listener host and port to establish connections to the remote service
ConnectorOverview of connector commands
Connector createClients at this site use the connector host and port to establish connections to the remote service
Connector updateClients at this site use the connector host and port to establish connections to the remote service
Connector deleteDelete a connector
Connector statusDisplay status of all connectors or a specific connector
Connector generateClients at this site use the connector host and port to establish connections to the remote service

System operations

SystemOverview of system commands
System installChecks the local environment for required resources and configuration
System uninstallRemove local system infrastructure, undoing the configuration changes made by skupper system install, by disabling the Podman/Docker API
System startStart the Skupper router for the current site
System stopStop the Skupper router for the current site
System reloadForces to overwrite an existing namespace based on input/resources, if the namespace is not provided, the default one is going to be reloaded
System applyCreate or update resources using files or standard input
System deleteDelete resources using files or standard input
System generate-bundleGenerate a self-contained site bundle for use on another machine

Debugging operations

DebugOverview of debug commands
Debug checkRun diagnostic checks
Debug dumpCreate a tarball including site resources and status; component versions, config files, and logs; and info about the environment where Skupper is running

Other operations

VersionReport the version of the Skupper CLI binary

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.

  • Resource configuration: Create, update, and delete Skupper resources.
  • Resource status: Display the current state of Skupper resources.
  • Resource generation: Produce Skupper resources in YAML or JSON format.
  • Site linking: Use tokens to set up site-to-site links.
  • System operation: Install and operate Skupper runtime components.
  • Troubleshooting: Use debugging tools to identify and fix problems.

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]
  • command: A resource type or functional area.
  • subcommand: The specific operation you want to perform.
  • options: Additional arguments that change the operation's behavior.

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.

  • Site and link operations block until the resource is ready.
  • Listener and connector operations block until the resource is configured.
  • All resource delete operations block until deletion is complete.

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:

  • User input is invalid.
  • Referenced resources are not found.
  • The operation fails or times out.

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.