π Overview
D8 (Deckhouse CLI) is a powerful command-line client for managing and interacting with the Deckhouse Kubernetes Platform. It provides essential tools for cluster operations, module management, backup/restore, and system administration.
Why D8?
- β
Cluster Management: Comprehensive cluster status and control
- π Module Operations: Mirror, backup, and manage Deckhouse modules
- π§ System Tools: Debug info collection and system diagnostics
- π― CI/CD Ready: Perfect for automated deployment pipelines
- π¦ Multi-platform: Native binaries for Linux, macOS, and Windows
π― Features
π Cluster Operations
D8 provides comprehensive cluster management capabilities:
Command |
Purpose |
Key Features |
backup |
Backup operations |
ETCD snapshots, configuration backups, data export |
mirror |
Module mirroring |
Registry operations, image synchronization, air-gapped deployments |
system |
System diagnostics |
Debug info collection, logs analysis, troubleshooting |
π Module Management
Advanced tools for Deckhouse module lifecycle management:
- Mirror Operations: Copy modules to local registries or air-gapped environments
- Backup/Restore: Full cluster and module backup capabilities
- Data Export: Extract and export cluster data for migration or analysis
- Virtualization: Manage virtual machines in Kubernetes clusters
βοΈ System Administration
Essential tools for system administrators:
- Debug Collection: Automated system information gathering
- Log Analysis: Centralized logging and troubleshooting
- Platform Updates: Safe update management for Deckhouse installations
- Security Tools: Stronghold integration for secure operations
π¦ Installation
Method 1: Install Script (Recommended)
Quick one-line installation for Linux and macOS:
sh -c "$(curl -fsSL https://raw.githubusercontent.com/deckhouse/deckhouse-cli/main/tools/install.sh)"
Alternative installation commands
Using wget:
sh -c "$(wget -qO- https://raw.githubusercontent.com/deckhouse/deckhouse-cli/main/tools/install.sh)"
Install specific version:
sh -c "$(curl -fsSL https://raw.githubusercontent.com/deckhouse/deckhouse-cli/main/tools/install.sh)" "" --version v1.0.0
Install to custom directory:
sh -c "$(curl -fsSL https://raw.githubusercontent.com/deckhouse/deckhouse-cli/main/tools/install.sh)" "" --install-dir ~/bin
See installation guide for more options.
Method 2: Download Binary
Download the latest release for your platform from the releases page.
Supported Platforms:
- Linux (amd64, arm64)
- macOS (amd64, arm64)
- Windows (amd64)
Method 3: Using trdl (Recommended for Updates)
trdl is a tool release delivery system that provides automatic updates and channel management:
URL=https://deckhouse.ru/downloads/deckhouse-cli-trdl
ROOT_VERSION=1
ROOT_SHA512=343bd5f0d8811254e5f0b6fe292372a7b7eda08d276ff255229200f84e58a8151ab2729df3515cb11372dc3899c70df172a4e54c8a596a73d67ae790466a0491
REPO=d8
trdl add $REPO $URL $ROOT_VERSION $ROOT_SHA512
Validate that the d8
binary is installed:
. $(trdl use d8 0 stable) && d8 --version
If you don't want to call . $(trdl use d8 0 stable)
every time you need to use d8
, consider adding alias d8='trdl exec d8 0 stable -- "$@"'
to your shell RC file.
Method 4: Go Install
If you have Go installed:
go install github.com/deckhouse/deckhouse-cli@main
Note: Ensure ~/go/bin
is in your PATH after installation.
Verify Installation
d8 --version
π€ Contributing
We welcome contributions! Here's how you can help:
- Report Bugs: Open an issue describing the problem
- Suggest Features: Share your ideas for improvements
- Submit PRs: Fix bugs or add features
- Improve Docs: Help make documentation better
Building from Source
You need to have access to private repositories for pulling dependencies.
Install Task with any suitable method:
go install github.com/go-task/task/v3/cmd/task@latest
To correctly access private repository run:
export PRIVATE_REPO=private.repo.com # replace with correct domain
git config --global url."ssh://git@${PRIVATE_REPO}/".insteadOf "https://flant.internal/"
export GOPRIVATE="flant.internal"
go mod tidy
To build for all platforms run:
task build:dist:all
For any specific platform:
task build:dist:linux:amd64
task build:dist:darwin:amd64
task build:dist:darwin:arm64
task build:dist:windows:amd64
π Links
π Support
If you find D8 helpful, please consider:
- β Starring the repository
- π Reporting bugs
- π‘ Suggesting features
- π Contributing to documentation
- π Submitting pull requests