CLI reference

Hull’s command-line interface is rooted at hull. Every command has a --help output reachable via hull <cmd> --help; this directory holds the long-form reference for each, with description, every flag, and examples.

Global flags

These apply to every command and can also be set as defaults via environment variables.

Flag Env Description
-n, --namespace <ns> HULL_NAMESPACE Kubernetes namespace for the operation.
--kubeconfig <path> KUBECONFIG Path to kubeconfig file.
--kube-context <name> Active kubeconfig context.
--debug HULL_DEBUG Enable debug logging.
--allow-plaintext-auth HULL_ALLOW_PLAINTEXT_AUTH Send registry credentials over plaintext HTTP.
--oci-plain-http HULL_OCI_PLAIN_HTTP Use plain HTTP for OCI registries instead of HTTPS.
--oci-insecure-skip-tls-verify HULL_OCI_INSECURE_SKIP_TLS Skip TLS verification for OCI registries.

Environment variables

Variable Purpose
HULL_CONFIG_HOME Config dir (default: ~/.config/hull).
HULL_CACHE_HOME Cache dir (default: ~/.cache/hull).
HULL_DATA_HOME Data dir (default: ~/.local/share/hull).
HULL_DEBUG Enable debug logging when truthy.
HULL_OCI_PLAIN_HTTP Use HTTP for OCI instead of HTTPS.
HULL_OCI_INSECURE_SKIP_TLS Skip TLS verification for OCI.
HULL_ALLOW_PLAINTEXT_AUTH Allow sending registry credentials over plaintext HTTP.
HULL_DRIVER Release storage driver (secret, configmap, memory, sql). Default secret.
HULL_DRIVER_SQL_DSN SQL DSN when driver is sql.
HULL_NAMESPACE (or HELM_NAMESPACE) Default namespace; legacy aliases recognised.
KUBECONFIG Standard Kubernetes kubeconfig path.

Exit codes

Code Meaning
0 Success.
1000-1999 Input validation (CLI args, manifest format).
2000-2999 Business logic (release not found, version conflict).
3000-3999 Resource (cluster resource missing or unavailable).
4000-4999 Permission (RBAC, auth).
5000-5999 System (timeout, dependency failure, internal error).

Hull prints both the textual error and the numeric code to stderr; scripts can branch on the code.


Commands by category

Release lifecycle

Command One-liner
install Install a hull package as a new release.
upgrade Upgrade an existing release to a new revision.
rollback Roll back a release to a previous revision.
uninstall Uninstall a release.
status Show a release’s current status and revision.
list List releases.
history Show release history.
get Get release details (manifest, values, hooks, notes).
audit Show the chronological audit trail for a release.
prune Drop superseded revisions, keeping the most recent N.
rename Rename a release in-place (preserve history).
releases Manage cross-release dependencies declared in hull-releases.yaml.

Diff, plan, drift

Command One-liner
diff Show what would change on upgrade.
plan Render and persist an apply-able plan.
apply Execute a previously-saved plan.
drift Detect drift between the stored manifest and live cluster state.
reconcile Re-apply the stored manifest to converge cluster state.
canary Staged upgrade through replica percentages with bake periods.
multi-install Install a release into multiple clusters.

Authoring

Command One-liner
create Scaffold a new package.
init Scaffold from a built-in template.
lint Validate a package for correctness.
template Render templates locally.
debug Debug template rendering.
dev Watch a package and re-render on changes.
config Interactively build a values file from values.schema.json.
values Show effective values, optionally with per-key resolution trace.
scan Find common values across packages; extract a base layer.
policy Evaluate package policies against rendered manifests.
graph Render a dependency graph of a release.
metrics Sample CPU/memory; recommend requests/limits.

Packaging

Command One-liner
package Package as a .hull.tgz archive.
publish Publish a package to a registry.
sbom Emit a CycloneDX 1.5 SBOM for a release.
adopt Claim existing in-cluster resources as a hull-managed release.
dependency Manage layers and required packages.

Repositories and OCI

Command One-liner
repo Manage hull package repositories.
registry Manage OCI registries.
login Store credentials for a package registry.
logout Remove stored credentials.
pull Download a package from a repository or OCI.
registry push Push a package archive to an OCI registry.
search Search for packages.
show Show package metadata, values, README, etc.

Signing

Command One-liner
keyring Manage the PGP keyring used for provenance verification.
package verify Verify a .prov signature against the local keyring.

Workspaces

Command One-liner
workspace Orchestrate multiple packages declared in hull-workspace.yaml.

Plugins and marketplace

Command One-liner
plugin Manage hull plugins.
marketplace Browse and install signed plugins.

Test

Command One-liner
test Run tests for a release.

Operations

Command One-liner
controller Reconcile HullRelease CRs declared in the cluster.
purge Clean up everything hull has installed.

Compat and migration

Command One-liner
helm-compat Helm chart compatibility helpers.
migrate Convert a Helm chart to a hull package.

Misc

Command One-liner
version Print the hull version.
env Print hull’s environment information.
completion Generate shell completion scripts.