* Define GVK for metadata.yaml
* Added supoorting type and registered the kind 'AirshipMetadata' to
runtime scheme
* Used document object to read metadata instead of reading it as config
Relates-To: #530
Change-Id: I748cd0921ba7bb04ca6fb2999294776e6803ed3e
This introduces airshipctl integration with image-builder [0], which
replaces the existing isogen tool for ephemeral ISO generation.
The airshipctl isogen executor has been updated for building ephemeral
ISOs using the image-builder container. The ability for user-declared
filenames for cloud-init user data and network data was removed, since
the user's only interest is in supplying the relevant overrides, not in
transparent naming coordination with the image-builder container. A new
object is added to the document package to identify the document kind,
label, and key to retrieve data from since this is pattern we will
reuse elsewhere.
Progress flag removed as requsted. Progress is reported directly by the
image-builder container.
Isogen debug flag removed in favor of using log.DebugEnabled()
[0] https://review.opendev.org/#/c/730777/
Depends-On: https://review.opendev.org/c/airship/images/+/730777/
Change-Id: I545004feaf2116f8ffb29faf6f7f7f5fcfe24fff
Adding BootConfiguration structure in preparation for the implementation
of Bootstrap Container / Ephemeral Cluster through "phase/executor".
Change-Id: I0239e9c975784703dd6abacbb17b5e15744f3924
Data structure representing plugin configurations should be a part of
airshipctl API module. Plugin implementations will reside in document
package.
Change-Id: Id2e359b747a16a5573052cfb05c1148d346db508
Relates-To: #322
Kubeconfig builder will be a single source of kubeconfig, allowing
to make a decision how to build kubeconfig based on different
parameters, such as path to kubeconfig, dynamic kubeconfig
options, or kubeconfig based on document bundle.
Change-Id: Ia63e11a6f0b327e283d3e7fce169a35d54684dfb
This is a part of two activities
* Refactor config and store all parameters to document model
* Implement everything as phases (which are supposed to be purely document driven)
This patch removes bootstrapInfo section from the airshipctl config and
makes these to commands
* airshipctl baremetal isogen
* airthipctl baremetal remotedirect
to take necessary parameters from documents
We introduce two airship API kinds ImageGenerator and RemoteDirect.
Instead of storing config parameters in cm/secrets we use these two
API objects.
Relates-To: #246
Closes: #254
Change-Id: I42903c45dce1c73da184c07277fec76fd88c700f
Airship API is extended with Phase and PhasePlan objects which
implemet k8s runtime.Object interface. Phase plan command is
added to airshipctl.
Closes: #262
Closes: #261
Closes: #260
Change-Id: I4c299ec9078af4ace29ab46bd6440f47ae18a094
Each object must implement runtime.Object interface. Therefore we
need DeepCopy methods implemented for each API struct.
Implementation is generated by controller-get utility.
Relates-To: #259
Change-Id: I535bf9ec3ff61597a778f73ca449313b7455b989