A CLI for managing declarative infrastructure.
Go to file
Ruslan Aliev e9041a2a22 Reduce the number of unnecessary document.NewBundleByPath() calls
Since document.NewBundleByPath() is pretty resource and time
consuming call (because it invokes kustomize under the hood),
we should avoid unnecessary calls of this function. There are
lots of the same constructor calls of new bundle from phase
bundle root path, mostly in helper, which slows airshipctl
and makes no sense. This patch fixes this problem by storing
phase root bundle variable in helper, which creates only once
during airshipctl execution.

Change-Id: I6b59d440f7ab7a68dc613091dafcc9e82df10eb7
Signed-off-by: Ruslan Aliev <raliev@mirantis.com>
Closes: #488
2021-03-27 12:58:36 -05:00
.github Release notes gen: Fix previous tag calculation 2021-03-25 08:27:44 -05:00
certs Adding the ability to inject certificate authorities into docker image 2020-04-24 15:06:11 -05:00
cmd Merge "Modify airshipctl cluster status cmd" 2021-03-26 09:28:12 +00:00
docs Merge "Update Airshipctl and CAPD Documentation" 2021-03-25 21:37:23 +00:00
krm-functions Pin krm function calls 2021-03-24 09:28:54 -05:00
manifests Merge "Allow to pass iso url from env for remotedirect-ephemeral phase" 2021-03-27 08:53:01 +00:00
pkg Reduce the number of unnecessary document.NewBundleByPath() calls 2021-03-27 12:58:36 -05:00
playbooks SOPS improvements 2021-03-19 21:31:25 +00:00
roles Enhanced deployment script to support baremetal multi-node 2021-03-23 06:21:31 -07:00
testdata/k8s Run image build command like a phase 2020-10-13 17:48:55 -05:00
tests/ansible Reusing apache-server instead of httpd 2020-05-01 03:17:02 +00:00
testutil Remove defaults from Config object at runtime 2021-03-19 17:31:02 +00:00
tools Merge "Changing personal images with upstream for Sops" 2021-03-27 07:47:41 +00:00
zuul.d Fix CAPD deployment 2021-03-19 11:31:21 +00: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 Replace Non-ASCII symbols 2020-08-05 13:22:59 +00:00
.goreleaser.yaml Publish binaries on release 2021-02-09 14:25:38 +00:00
.grenrc.js Github action to create release notes 2020-11-13 15:11:06 -06:00
CONTRIBUTING.md Guideline against very large Gerrit Changes 2020-07-06 20:51:00 +05:00
Dockerfile Add commit and other labels to the airshipctl container image 2021-01-11 14:52:59 +00:00
LICENSE Add LICENSE 2019-10-19 14:16:05 -05:00
Makefile Suppress the "go command not found" message 2021-01-20 09:40:56 -06:00
README.rst Airship blog series link fix 2020-10-14 21:08:35 +00:00
Vagrantfile [#32]: scripts for local run playbooks 2020-02-28 17:24:32 -08:00
go.mod Uplift cli-utils and cluster-api 2021-03-02 21:52:50 +04:00
go.sum Remove deprecated options for phase/plan run cmd 2021-03-24 13:39:13 -05:00
main.go Refactor airshipctl root command 2020-08-25 17:37:19 -05:00
tox.ini Replace venv with tox for documentation builds 2020-05-08 15:47:41 +00:00

README.rst

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.