A CLI for managing declarative infrastructure.
Go to file
Alexey Odinokov e2c56108ee Nextgen secrets implementation with separation per cluster
1. Extending templater with kyaml functions and creating combined catalogue
to be able to request/update the existing resources.
This is based on 'everything is transformer' concept introduced in kustomize 4.x
That includes gathering all secrets into 1 variable catalogue and
special mechanism to regenerate/merge with manual secrets.

2. Implementing 'catalogue per cluster' approach for secrets.

3. Rearranging secrets so it's possible to use:
pgp (each person may have his own key), age, Hachicorp Vault and etc
and the list of people who can decrypt documents is set in a special file.
Since in some cases there should be a separate list of people who can decrypt
data - this list is set for each cluster (ephemeral and target) separatelly.

Closes: #586
Change-Id: I038f84dd138d5ad4a35f4862c61ff2124c2fd530
2021-09-03 20:46:15 +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 Merge "Add possibility to specify 0 timeout via CLI options" 2021-07-30 21:57:47 +00:00
docs Nextgen secrets implementation with separation per cluster 2021-09-03 20:46:15 +00:00
krm-functions skip generating etherenet_mac_address when null 2021-08-26 20:58:35 +00:00
manifests Nextgen secrets implementation with separation per cluster 2021-09-03 20:46:15 +00:00
pkg Nextgen secrets implementation with separation per cluster 2021-09-03 20:46:15 +00:00
playbooks Nextgen secrets implementation with separation per cluster 2021-09-03 20:46:15 +00:00
roles Merge "Switching airshipctl and krm-functions to kustomize 4.2.0" 2021-07-29 19:51:17 +00: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 Move clustetctl to KRM 2021-07-17 22:06:43 -05:00
tools Nextgen secrets implementation with separation per cluster 2021-09-03 20:46:15 +00:00
zuul.d Add airship-in-a-pod to gate jobs 2021-07-23 10:14:14 -05: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 Switching airshipctl and krm-functions to kustomize 4.2.0 2021-07-22 17:06:32 +00:00
LICENSE Add LICENSE 2019-10-19 14:16:05 -05:00
Makefile Switching airshipctl and krm-functions to kustomize 4.2.0 2021-07-22 17:06:32 +00: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 Switching airshipctl and krm-functions to kustomize 4.2.0 2021-07-22 17:06:32 +00:00
go.sum Switching airshipctl and krm-functions to kustomize 4.2.0 2021-07-22 17:06:32 +00: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.