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
23 lines
660 B
Markdown
23 lines
660 B
Markdown
# Applier
|
|
|
|
This is a KRM function which applies resources to k8s using
|
|
[cli-utils](https://github.com/kubernetes-sigs/cli-utils)
|
|
with appropriate options.
|
|
|
|
## Function implementation
|
|
|
|
The function is implemented as an [image](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.
|