A CLI for managing declarative infrastructure.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Andrii Ostapenko a7cbd6bddc
Allow to pass script directory to allow inheriting in other projects
3 days ago
.github Release notes gen: Fix previous tag calculation 2 months ago
certs Adding the ability to inject certificate authorities into docker image 1 year ago
cmd Merge "Cluster- updating cmd files for documentation" 3 days ago
docs Merge "Cluster- updating cmd files for documentation" 3 days ago
krm-functions Add filtering by label to Toolbox container 1 week ago
manifests Added m3-gen integrity checks 3 days ago
pkg Merge "Add Plan Status() to ifc.plan interface" 3 days ago
playbooks Merge "Disable the redundant github issue update job" 3 weeks ago
roles Allow to pass script directory to allow inheriting in other projects 3 days ago
testdata/k8s Remove NameInKubeconf field from Context struct 2 months ago
tests/ansible Reusing apache-server instead of httpd 1 year ago
testutil Do not pass phase helper to executor initializers 3 weeks ago
tools Make validate_doc script reusable in manifest outsite airshipctl 4 days ago
zuul.d Add validation phases 3 weeks ago
.gitignore Fix typo in .gitignore 12 months ago
.gitreview Gerrit: Add .gitreview file 2 years ago
.golangci.yaml Replace Non-ASCII symbols 9 months ago
.goreleaser.yaml Tweak release binaries 2 weeks ago
.grenrc.js Github action to create release notes 6 months ago
CONTRIBUTING.md Guideline against very large Gerrit Changes 10 months ago
Dockerfile Update base Go builder image to 1.15 1 month ago
LICENSE Add LICENSE 2 years ago
Makefile Merge "Generate Catalogues schema using kubebuilder" 4 days ago
README.rst Airship blog series link fix 7 months ago
Vagrantfile [#32]: scripts for local run playbooks 1 year ago
go.mod Fix docker stdin write. 1 month ago
go.sum Generate Catalogues schema using kubebuilder 7 days ago
main.go Refactor airshipctl root command 9 months ago
tox.ini Replace venv with tox for documentation builds 1 year ago



Airshipctl is a command-line interface that enables users to manage declarative infrastructure and software.

Airshipctl aims to provide a seamless experience for operators wishing to leverage the best open source options such as the Cluster API, Metal Kubed, Kustomize, and kubeadm by providing a straight forward and easily approachable interface.

This project is the heart of our effort to produce Airship 2.0, which has three main evolutions from Airship 1.0:

  • Expand our use of entrenched upstream projects.
  • Embrace Kubernetes Custom Resource Definitions (CRD) – everything becomes an object in Kubernetes.
  • Make the Airship control plane ephemeral.

To learn more about the Airship 2.0 evolution, reference the Airship blog series.


Airshipctl is under active development and welcomes new developers! Please read our developer guide to begin contributing.

We also encourage new contributors and operators alike to join us in our Slack workspace and subscribe to our mailing lists.

You can learn more about Airship on the Airship wiki.