Documentation

shdctl global flags and command reference

Find the global flags and commands you can use to deploy and manage Self-Hosted Deployment releases with shdctl.
Read time 3 minutesLast updated a day ago

Find a command for a task

shdctl has one required operation:
shdctl release generate
, which renders Helm chart values from your
manifest.yaml
file. Your CI, GitOps controller, or operator workflow can replace every other operation.

Task

Command

Render Helm charts from the manifest (required).
shdctl release generate
Check that the cluster meets the prerequisites.
shdctl cluster check
Pull the release archive from the Unity registry.
shdctl release pull
Mirror images and ORAS artifacts to your registry.
shdctl artifact sync ...
Check that your registry holds what the manifest needs.
shdctl artifact sync verify
Render Kubernetes Secret manifests.
shdctl secret generate
Apply secrets to the cluster.
shdctl secret deploy
Rebuild the secrets import file from a running cluster.
shdctl secret export
Deploy charts with Helm or ArgoCD.
shdctl release deploy --format ...
For the recommended CI and ArgoCD pipeline, and other ways to combine these operations, refer to Workflows.

Command summary

Command

Description

shdctl version
Print the version number.
shdctl configure
Set registry credentials (interactive).
shdctl configure get
View configuration.
shdctl configure set [registry]
Set registry credentials. Prompts on a terminal. For CI, use
--username
with
--password-stdin
, or
SHDCTL_*
environment variables.
shdctl configure delete [registry]
Delete registry credentials.
shdctl manifest init
Initialize a new manifest file interactively.
shdctl manifest validate
Validate a manifest file against the CUE schema.
shdctl manifest schema
Display the CUE schema (or export it for standalone validation).
shdctl cluster check
Validate that the cluster meets the deployment prerequisites (read-only;
--probe-storage
adds an opt-in volume probe,
--dry-run
prints the command plan).
shdctl release pull
Pull a release from the registry.
shdctl release generate
Generate release configuration (Helm/ArgoCD charts).
shdctl release deploy
Deploy a release (Helm or ArgoCD).
shdctl release uninstall
Uninstall a release.
shdctl artifact sync preflight
Verify registry authentication by syncing one image and one ORAS artifact.
shdctl artifact sync images
Sync Docker images from the source registry to the target registry: the images that the manifest's enabled features require, or all images with
--all
.
shdctl artifact sync oras
Sync ORAS artifacts from the source registry to the target registry.
shdctl artifact sync verify
Report which images that the manifest requires are missing from the target registry, and which images the registry holds that the manifest doesn't require (read-only; exits with a non-zero code if images are missing).
shdctl secret generate
Generate Kubernetes secret YAML from schema definitions.
shdctl secret deploy
Deploy secrets to your Kubernetes cluster.
shdctl secret export
Reconstruct the secrets import file from the secrets already in a cluster.
shdctl completion <shell>
Print a shell completion script (bash, zsh, fish, or PowerShell).

Global flags

You can use these flags with any command:
  • --manifest <path>
    : Path to the manifest in YAML format. The default is
    auto-discover
    .
  • --log-level <level>
    : Set the logging level. The options are:
    • trace
    • debug
    • info
      (default)
    • warn
    • error
    • fatal
    • panic
  • --json
    : Output logs in JSON format.
Logs go to stderr. A command's own output goes to stdout, so a pipeline can capture one without the other. Command output includes a
--dry-run
command list, the
cluster check
results, a
verify
report, and the commands that a deploy runs.
Example:
shdctl release pull --version 2.0.0 --log-level debug