A CLI for managing declarative infrastructure.
Go to file
Kostiantyn Kalynovskyi f5cf2d379a Add applier from cli-utils package
The commit adds applier object from cli-utils which would allow us
to wait for kubernetes objects to reach required states and support
pruning.

Integration is very similar to the one with kubectl, because backend
mechanism for reading manifests is the same. We need to write them to
temporary directory in $HOME/.airship directory, and point cli-utils
to it. It will then take care of storing what was applied to k8s cluster
for prunning and also will be capable of waiting for core resources to
reach required state by constantly polling them.

To integrate we need to create a namespace in which we will store
configmap that keeps track of what objects were applied before and enable
prunning

Relates-To: #238

Change-Id: I4c0123cc57b78bd13dbe320e0ab9f28bbed2301d
2020-07-13 19:17:18 -05:00
.github Update Airship vulnerability link 2020-05-19 13:45:09 +00:00
certs Adding the ability to inject certificate authorities into docker image 2020-04-24 15:06:11 -05:00
cmd Add repository metadata 2020-06-29 13:33:04 -05:00
docs Cleaning for gate scripts 2020-07-09 13:16:05 -07:00
manifests Optimize memory usage for gating 2020-06-25 18:48:05 +04:00
pkg Add applier from cli-utils package 2020-07-13 19:17:18 -05:00
playbooks Cleaning for gate scripts 2020-07-09 13:16:05 -07:00
roles Cleaning for gate scripts 2020-07-09 13:16:05 -07:00
testdata/k8s Remove deprecated fields of remoteDirect 2020-06-10 10:23:41 -05:00
tests/ansible Reusing apache-server instead of httpd 2020-05-01 03:17:02 +00:00
testutil Add events package 2020-07-07 09:44:22 -05:00
tools Cleaning for gate scripts 2020-07-09 13:16:05 -07:00
zuul.d CI: Remove job running on 32GB instances 2020-07-08 18:10:27 +02:00
.gitignore Fix typo in .gitignore 2020-05-20 16:07:49 -05:00
.gitreview Gerrit: Add .gitreview file 2019-06-25 08:11:57 -05:00
.golangci.yaml Remove deprecated scopelint linter 2020-06-02 15:52:40 -05:00
CONTRIBUTING.md Guideline against very large Gerrit Changes 2020-07-06 20:51:00 +05:00
Dockerfile Adding the ability to inject certificate authorities into docker image 2020-04-24 15:06:11 -05:00
go.mod Add events package 2020-07-07 09:44:22 -05:00
go.sum Add events package 2020-07-07 09:44:22 -05:00
LICENSE Add LICENSE 2019-10-19 14:16:05 -05:00
main.go Write cli errors to stderr 2020-05-11 14:02:33 -05:00
Makefile Make API compatible with k8s apimachinary 2020-06-23 13:01:16 +04:00
README.rst Update stale README and reformat docs 2020-05-11 15:49:32 +00:00
tox.ini Replace venv with tox for documentation builds 2020-05-08 15:47:41 +00:00
Vagrantfile [#32]: scripts for local run playbooks 2020-02-28 17:24:32 -08:00

Airshipctl

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.

Contributing

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.