3e44c42989
The KRM based k8s applier solves multiple design problems which were introduced in previous airshipctl generation, making apply code and process more clear, reliable and readable. In particular: * k8s applier now is a KRM function and it allows the end user to choose or implement desired backend for k8s apply operations; * the related amount of code was reduced by three times, multiple unused and unnecessary structs/interfaces/design patterns were removed or rewrited in more clean and efficient way; * removed cli-utils dependency from airshipctl; * fixed several bugs and code issues, such as incorrect printing of tables, duplicated unit tests, improper generation and applying inventory config map, etc; * cli-utils version used in KRM function was bumped to 0.26.0; * phases with duplicated k8s resources were removed or fixed; * unit test coverage increased to 83.1%; * KRM function logs were integrated with klog library which allows to observe logs directly from cli-utils and other dependent libs. Change-Id: Ief509f1d6abefd53caf7fcffc4e36b0319815373 Signed-off-by: Ruslan Aliev <raliev@mirantis.com> Closes: #646 |
||
---|---|---|
.. | ||
certs | ||
image | ||
local-resource | ||
Dockerfile | ||
README.md |
Applier
This is a KRM function which applies resources to k8s using cli-utils with appropriate options.
Function implementation
The function is implemented as an image, and built using make docker-image-applier
.
Function configuration
As input options, the KRM function receives a struct with apply options.
See the ApplyConfig
struct definition in v1alpha1 airshipctl API for the documentation.
Function invocation
The function invoked by airshipctl command via airshipctl phase run
:
airshipctl phase run <phase_name>
if appropriate phase has k8s_apply executor defined.