* Define GVK for metadata.yaml
* Added supoorting type and registered the kind 'AirshipMetadata' to
* Used document object to read metadata instead of reading it as config
This introduces airshipctl integration with image-builder , 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
Progress flag removed as requsted. Progress is reported directly by the
Isogen debug flag removed in favor of using log.DebugEnabled()
Data structure representing plugin configurations should be a part of
airshipctl API module. Plugin implementations will reside in document
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.
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
Airship API is extended with Phase and PhasePlan objects which
implemet k8s runtime.Object interface. Phase plan command is
added to airshipctl.
Each object must implement runtime.Object interface. Therefore we
need DeepCopy methods implemented for each API struct.
Implementation is generated by controller-get utility.