A CLI for managing declarative infrastructure.
Go to file
Matthew Fuller 52c5aedc63 Generate additional CRDs from API types
'make manifests' attempts to generate all airshipctl API types,
but several types throw errors and the resulting CRDs can't be
properly generated. This change:

- updates the controller-gen version to pull in a bug fix for the
  error 'map values must be a named type, not *ast.StarExpr'
- modifies the Templater type's Values member to be of type JSON
  since controller-gen does not support map[string]interface{},
  and unmarshals it separately in the templater itself
- adds 'image_repositories' to the VersionsCatalogueSpec struct
  to ensure it doesn't get deleted from the schema when manifests
  get regenerated
- checks in generated copies of all CRDs from airshipctl's API
  types, not just catalogues, to be used for validation

Closes: #574
Change-Id: I89a12cfd307a08da9aaec9773eac01169ea43ace
2021-06-25 19:10:25 +00:00
.github Improve release notes issue selection accuracy 2021-04-22 13:24:43 -05:00
certs Adding the ability to inject certificate authorities into docker image 2020-04-24 15:06:11 -05:00
cmd Updating cmd files for documentation 2021-06-09 09:56:21 +00:00
docs Updating cmd files for documentation 2021-06-09 09:56:21 +00:00
krm-functions Merge "Use airshipit/alpine in krm-functions" 2021-06-15 19:39:59 +00:00
manifests Generate additional CRDs from API types 2021-06-25 19:10:25 +00:00
pkg Generate additional CRDs from API types 2021-06-25 19:10:25 +00:00
playbooks Switch gating deployment to phase plan 2021-06-03 19:41:05 +04:00
roles Pass GOPROXY to image build from environment and job 2021-06-09 18:51:08 -05:00
testdata/k8s Remove NameInKubeconf field from Context struct 2021-03-26 19:22:52 -05:00
tests/ansible Reusing apache-server instead of httpd 2020-05-01 03:17:02 +00:00
testutil Do not pass phase helper to executor initializers 2021-04-20 10:00:47 +03:00
tools Add airship container cleanup 2021-06-22 14:49:53 +00:00
zuul.d Switch gating deployment to phase plan 2021-06-03 19:41:05 +04: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 Tweak release binaries 2021-04-29 17:09:23 -05: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 Pass GOPROXY to image build from environment and job 2021-06-09 18:51:08 -05:00
go.mod Invoke validation container directly via ClientV1 package 2021-05-13 13:12:18 -05:00
go.sum Invoke validation container directly via ClientV1 package 2021-05-13 13:12:18 -05: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 Generate additional CRDs from API types 2021-06-25 19:10:25 +00:00
README.rst Airship blog series link fix 2020-10-14 21:08:35 +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.