deck

module
v0.3.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jun 19, 2026 License: Apache-2.0

README

deck

logo

Korean README | Documentation

Structured workflows for air-gapped operations : prepare, bundle, and apply in one binary!


What is deck?

Operational procedures for disconnected sites—such as Kubernetes bootstraps, package installations, and host configuration—often start as shell scripts. Over time, these scripts grow until they become too large and complex to review confidently.

deck provides a cleaner, structured alternative. It replaces fragile Bash scripts with typed steps, validates your workflows before execution, and packs everything needed into a self-contained bundle that can be securely transported and run locally on the target machine.

Quick Start

Create a workflow, validate it, bundle it, and run it on your target machine.

# 1. Initialize a new demo project
deck init --out ./demo

cd ./demo

# 2. Validate the generated workflows
deck lint

# 3. Prepare artifacts defined in the workflows
deck prepare

# 4. Build a self-contained bundle
deck bundle build --out ./bundle.tar

# 5. Run the workflow locally on the target machine
deck apply

For a detailed walkthrough, start with the Quick Start Guide.

Core Features

  • Typed steps: File, Package, ManageService — step kinds that make intent visible without reading through shell syntax.
  • Pre-flight validation: Lint catches schema errors before you carry the bundle into the site.
  • Self-contained bundle: Workflows, artifacts, and the deck binary in a single archive. No dependency surprises on site.
  • Air-gap native: No SSH, no control plane, no internet access assumed at execution time.

Installation

Requirements:

  • Go 1.26.4 (Any OS for build and prepare)
  • Linux target environment (RHEL, Ubuntu) for the apply step

Release downloads are published on the GitHub Releases page. Homebrew installs are provided through the Airgap Castaways tap rather than homebrew-core.

# Homebrew tap
brew install Airgap-Castaways/tap/deck

Release assets are available at https://github.com/Airgap-Castaways/deck/releases.

# Build and install from source
go install ./cmd/deck

# Verify
deck version
Shell Completion

To enable shell completion in your current session, run:

source <(deck completion bash) # for bash
source <(deck completion zsh)  # for zsh
deck completion fish | source  # for fish

To make it persistent, add the relevant command to your shell's startup file (e.g., ~/.bashrc or ~/.zshrc). For detailed instructions for all supported shells, see the CLI Reference.

Documentation

License

Apache-2.0. See LICENSE.

Directories

Path Synopsis
cmd
deck command
schema-gen command
internal
doccheck
Package doccheck holds documentation consistency checks run as Go tests.
Package doccheck holds documentation consistency checks run as Go tests.
schemafacts
Package schemafacts extracts normalized structural rule facts from generated deck JSON schemas so both human docs and ask prompts can consume the same source-of-truth-backed requirement data.
Package schemafacts extracts normalized structural rule facts from generated deck JSON schemas so both human docs and ask prompts can consume the same source-of-truth-backed requirement data.
structuredpath
Package structuredpath owns canonical structured-edit path handling.
Package structuredpath owns canonical structured-edit path handling.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL