A CLI for managing declarative infrastructure.
Go to file
Matt McEuen 4e64e74b6f Add a setting for kustomize plugins
This adds an env var-driven configuration for the filesystem path
in which kustomize should expect its plugins (including airshipctl)
to be.  The value defaults to a subfolder off the `.airshipit` folder.

The config is persisted as a singleton rather than a member of
AirshipCTLSettings (or the Config) because
1. the settings object would have had to have been passed around
   a couple dozen additional files/functions,
2. it's reasonable to expect the plugin location to be consistent
   across threads in a multi-threaded, airshipctl-as-library context.

Settings_test.go was moved in to an environment_test package to avoid
a circular import dependency.

Change-Id: Icdd21bd3687ef42492e388af982d7b490af3eff3
2020-05-15 15:06:32 -05:00
.github Add SECURITY.md 2020-02-20 16:57:57 -06:00
certs Adding the ability to inject certificate authorities into docker image 2020-04-24 15:06:11 -05:00
cmd Merge "Move config init and load from root cmd level" 2020-05-12 17:49:45 +00:00
docs Add automated CLI documentation 2020-05-13 19:43:10 +00:00
manifests Use create schema instead of upgrade for ironic 2020-05-12 20:41:40 +04:00
pkg Add a setting for kustomize plugins 2020-05-15 15:06:32 -05:00
playbooks Merge "Add pod log collecting role" 2020-05-12 16:10:18 +00:00
roles Fix default Airshipctl config parameters 2020-05-12 16:02:05 -05:00
testdata/k8s Fix default Airshipctl config parameters 2020-05-12 16:02:05 -05:00
tests/ansible Reusing apache-server instead of httpd 2020-05-01 03:17:02 +00:00
testutil Encoding secret data in airshipctl config files 2020-05-08 15:09:17 +00:00
tools [#112] Add doc pull in deployment scripts 2020-04-30 15:11:44 -07:00
zuul.d Moving update-github-issues from post to promote 2020-05-11 16:30:28 -05:00
.gitignore Replace venv with tox for documentation builds 2020-05-08 15:47:41 +00:00
.gitreview Gerrit: Add .gitreview file 2019-06-25 08:11:57 -05:00
.golangci.yaml Remove deprecated interfacer linter 2020-04-30 09:33:31 -05:00
CONTRIBUTING.md [#39] Add Zuul job for GitHub Issues integration 2020-03-02 09:49:27 -06:00
Dockerfile Adding the ability to inject certificate authorities into docker image 2020-04-24 15:06:11 -05:00
go.mod Skip variables substitution in clusterctl integration 2020-05-06 18:13:45 +00:00
go.sum Add automated CLI documentation 2020-05-13 19:43:10 +00: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 Add automated CLI documentation 2020-05-13 19:43:10 +00: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.