3e44c42989
The KRM based k8s applier solves multiple design problems which were introduced in previous airshipctl generation, making apply code and process more clear, reliable and readable. In particular: * k8s applier now is a KRM function and it allows the end user to choose or implement desired backend for k8s apply operations; * the related amount of code was reduced by three times, multiple unused and unnecessary structs/interfaces/design patterns were removed or rewrited in more clean and efficient way; * removed cli-utils dependency from airshipctl; * fixed several bugs and code issues, such as incorrect printing of tables, duplicated unit tests, improper generation and applying inventory config map, etc; * cli-utils version used in KRM function was bumped to 0.26.0; * phases with duplicated k8s resources were removed or fixed; * unit test coverage increased to 83.1%; * KRM function logs were integrated with klog library which allows to observe logs directly from cli-utils and other dependent libs. Change-Id: Ief509f1d6abefd53caf7fcffc4e36b0319815373 Signed-off-by: Ruslan Aliev <raliev@mirantis.com> Closes: #646 |
||
---|---|---|
.github | ||
certs | ||
cmd | ||
docs | ||
krm-functions | ||
manifests | ||
pkg | ||
playbooks | ||
roles | ||
testdata/k8s | ||
tests/ansible | ||
testutil | ||
tools | ||
zuul.d | ||
.gitignore | ||
.gitreview | ||
.golangci.yaml | ||
.goreleaser.yaml | ||
.grenrc.js | ||
CONTRIBUTING.md | ||
Dockerfile | ||
go.mod | ||
go.sum | ||
LICENSE | ||
main.go | ||
Makefile | ||
README.rst | ||
tox.ini | ||
Vagrantfile |
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.