A CLI for managing declarative infrastructure.
Go to file
Matthew Fuller 585af5a516 Remove defaults from Config object at runtime
This change fixes a bug where the default values that are
populated during an `airshipctl config init` were getting
mixed in with user specified values at runtime. For example,
a user with two contexts defined in their airship config
file would actually see a third phantom context with default
values in the output of `airshipctl config get-context`.

Also fixes a number of the config cmd and pkg unit tests that
were affected by this bug.

Change-Id: Iac591d4c2a616090028eb730576478edefb82544
Closes: #447
2021-03-19 17:31:02 +00:00
.github Merge "Add v prefix to semver image tags" 2021-03-17 17:49:42 +00:00
certs Adding the ability to inject certificate authorities into docker image 2020-04-24 15:06:11 -05:00
cmd Remove defaults from Config object at runtime 2021-03-19 17:31:02 +00:00
docs Merge "Revert "Adding commands to get and set encryption configs"" 2021-03-17 00:22:09 +00:00
krm-functions Build ephemeral iso using generic container 2021-02-25 13:08:31 +00:00
manifests Merge "Point calico to quay.io" 2021-03-17 19:23:36 +00:00
pkg Remove defaults from Config object at runtime 2021-03-19 17:31:02 +00:00
playbooks Implements custom QCOW delivery 2021-02-23 15:43:45 -06:00
roles Merge "Copy only current logs from apache2" 2021-03-04 12:29:16 +00:00
testdata/k8s Revert "Encrypt and decrypt using sops" 2020-11-05 13:53:15 +00: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 Add multiple kubeconifg sources to ClusterMap 2021-03-10 18:22:30 +00:00
zuul.d Merge "Increase site doc validation job timeout" 2021-02-22 21:27:38 +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
go.mod Uplift cli-utils and cluster-api 2021-03-02 21:52:50 +04:00
go.sum Uplift cli-utils and cluster-api 2021-03-02 21:52:50 +04:00
LICENSE Add LICENSE 2019-10-19 14:16:05 -05:00
main.go Refactor airshipctl root command 2020-08-25 17:37:19 -05:00
Makefile Suppress the "go command not found" message 2021-01-20 09:40:56 -06: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.