This PS has a function which constructs a collection of Metal3 BareMetalHost resources, along with associated configuration Secrets. It solves for a couple of things: 1. pulling the nitty gritty details for generating BMH into one reusable place, 2. allowing the site-specific details to be filled in via catalogues of values This function leverages a couple of different plugins in sequence: The airshipctl Replacement plugin, which pulls the site-specific data from the catalogue documents into a Templater plugin configuration; and then the airshipctl Templater plugin, which generates a variable number of BMHs in a data-driven fashion. More details can be found in the README.md in this patchset. Closes: #245 Change-Id: I3ddbd36dc53ea6afbd633098c985f4b28bcbb793
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.