kbst
is an all-in-one CLI to scaffold your Infrastructure as Code repository and deploy your entire platform stack locally for faster iteration.
This CLI is part of the Kubestack Gitops framework for managing Kubernetes services based on Terraform and Kustomize.
kbst
improves the GitOps developer experience by making a number of common tasks easier.
The CLI never makes any changes to any cloud environment. All changes are exclusively to the local environment and working directory.
- Scaffolds an Infrastructure as Code (IaC) repository ready to deploy to your target cloud environment
- Provisions a local environment mirroring your cloud infrastructure using Kubernetes in Docker (KinD)
- Watches for changes in configuration files and re-deploys parts of infrastructure to immediately reflact updates
- Provides Docker container including all tooling for interacting manually your cloud environment as needed
# Download the latest release
curl -LO "https://github.com/kbst/kbst/releases/download/$(curl -s https://www.kubestack.com/cli-latest.txt)/kbst_linux_amd64.zip"
# Extract the binary into your PATH e.g. /usr/local/bin
sudo unzip -d /usr/local/bin/ kbst_linux_amd64.zip kbst
# Verify the binary works
kbst --version
# Download the latest release
curl -LO "https://github.com/kbst/kbst/releases/download/$(curl -s https://www.kubestack.com/cli-latest.txt)/kbst_darwin_amd64.zip"
# Extract the binary into your PATH e.g. /usr/local/bin
sudo unzip -d /usr/local/bin/ kbst_darwin_amd64.zip kbst
# Verify the binary works
kbst --version
Windows instructions require WSL2 and Docker Desktop for Windows with the WSL2 backend.
# Download the latest release
curl -LO "https://github.com/kbst/kbst/releases/download/$(curl -s https://www.kubestack.com/cli-latest.txt)/kbst_linux_amd64.zip"
# Extract the binary into your PATH e.g. /usr/local/bin
sudo unzip -d /usr/local/bin/ kbst_linux_amd64.zip kbst
# Verify the binary works
kbst --version
# Clone the repository
git clone https://github.com/cctechwiz-forks/kbst.git
# Enter repository directory
cd kbst
# Install binary (requires you $GOPATH/bin to be on your system $PATH)
make install
kbst
has four commands:
help
- Help about any commandlocal
- Start a localhost development environmentmanifest
- Add, update, and remove services from the catalogrepository
- Create and change Kubestack repositories
kbst local
has two sub-commands:
apply
- Watch and apply changes to the localhost development environmentdestroy
- Destroy the localhost development environment
kbst manifest
has three sub-commands:
install
- Install and vendor a manifest from the catalogremove
- Remove a vendored manifest from all environmentsupdate
- Update vendored manifests from the catalog
kbst repository
only has a single sub-command:
init
- Scaffold a new repository
For the easiest way to get started, visit the official Kubestack quickstart. This tutorial will help you get started with the Kubestack GitOps framework. It is divided into three steps.
- Develop Locally
- Scaffold your repository and tweak your config in a local development environment that simulates your actual cloud configuration using Kubernetes in Docker (KinD).
- Provision Infrastructure
- Set-up cloud prerequisites and bootstrap Kubestack's environment and clusters on your cloud provider for the first time.
- Set-up Automation
- Integrate CI/CD to automate changes following Kubestack's GitOps workflow.
Official Documentation
Refer to the official documentation for a deeper dive into how to use and configure Kubetack.
Community Help
If you have any questions while following the tutorial, join the #kubestack channel on the Kubernetes community. To create an account request an invitation.
Professional Services
For organizations interested in accelerating their GitOps journey, professional services are available.
Contributions to the Kubestack framework are welcome and encouraged. Before contributing, please read the Contributing and Code of Conduct Guidelines.
One super simple way to contribute to the success of this project is to give it a star.
- kbst/terraform-kubestack
- Terraform GitOps Framework - Everything you need to build reliable automation for AKS, EKS and GKE Kubernetes clusters in one free and open-source framework.
- kbst/kbst (this repository)
- Kubestack Framework CLI - All-in-one CLI to scaffold your Infrastructure as Code repository and deploy your entire platform stack locally for faster iteration.
- kbst/terraform-provider-kustomization
- Kustomize Terraform Provider - A Kubestack maintained Terraform provider for Kustomize, available in the Terraform registry.
- kbst/catalog
- Catalog of cluster services as Kustomize bases - Continuously tested and updated Kubernetes services, installed and customizable using native Terraform syntax.