A CLI for managing declarative infrastructure.
Go to file
Sean Eagan c89b5c21b4 Implement semver for container images
When release git tags are pushed for:

airshipctl e.g. v1.2.3
krm functions e.g. replacement-transformer-v1.2.3

This publishes corresponding image tags to the corresponding quay repo
e.g. 1.2.3 (full), 1.2 (minor), 1 (major).

This follows common practice [0] allowing consumers to keep up to date with
latest changes, while at the same time avoiding risk i.e. breaking changes.

The quay secrets have been imported into github [1] to be accessed
by this github action.

[0]: https://medium.com/@mccode/using-semantic-versioning-for-docker-image-tags-dfde8be06699
[1]: https://docs.github.com/en/free-pro-team@latest/actions/reference/encrypted-secrets

Closes: #418
Change-Id: Iba2522bcb5d5693fa0e98126bcf31551bb37fc85
2021-01-27 15:52:50 +00:00
.github Implement semver for container images 2021-01-27 15:52:50 +00:00
certs Adding the ability to inject certificate authorities into docker image 2020-04-24 15:06:11 -05:00
cmd Merge "Add progress bool flag for phase run command" 2021-01-20 17:30:22 +00:00
docs Merge "Fix incorrect links in Hardware Profile Documentation" 2021-01-21 17:53:50 +00:00
krm-functions Update Go base images 2020-11-11 16:49:51 +00:00
manifests Update PROXY, TARGET_NODE parameters 2021-01-22 17:54:09 +00:00
pkg Merge "Add general inventory interface implementation" 2021-01-25 18:08:44 +00:00
playbooks Add encryption to gates 2021-01-18 16:16:49 +00:00
roles change libvirt-bin package 2021-01-13 08:47:36 -06: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 Move remotedirect method to remote interface 2021-01-21 23:09:54 +00:00
tools Update PROXY, TARGET_NODE parameters 2021-01-22 17:54:09 +00:00
zuul.d Enable voting for golint job 2021-01-20 21:47:35 -06: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
.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 Enable voting for golint job 2021-01-20 21:47:35 -06:00
go.sum Enable voting for golint job 2021-01-20 21:47:35 -06: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 Add commit and other labels to the airshipctl container image 2021-01-11 14:52:59 +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.