Command-line client for Deckhouse Kubernetes Platform
Features •
Installation •
Quick Start •
Documentation •
Contributing
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.
- ✅ 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
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 |
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
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
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.0Install to custom directory:
sh -c "$(curl -fsSL https://raw.githubusercontent.com/deckhouse/deckhouse-cli/main/tools/install.sh)" "" --install-dir ~/binSee installation guide for more options.
Download the latest release for your platform from the releases page.
Supported Platforms:
- Linux (amd64, arm64)
- macOS (amd64, arm64)
- Windows (amd64)
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_SHA512Validate that the d8 binary is installed:
. $(trdl use d8 0 stable) && d8 --versionIf 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.
If you have Go installed:
go install github.com/deckhouse/deckhouse-cli@mainNote: Ensure
~/go/binis in your PATH after installation.
d8 --versionWe 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
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@latestTo 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 tidyTo 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
- Website: deckhouse.io
- Issues: Report a bug or request a feature
- Releases: Download binaries
- Documentation: Deckhouse Documentation
If you find D8 helpful, please consider:
- ⭐ Starring the repository
- 🐛 Reporting bugs
- 💡 Suggesting features
- 📖 Contributing to documentation
- 🔀 Submitting pull requests