Kluctl Library Projects
.kluctl-library.yaml marks a deployment project as a library project and provides some configuration.
Consider the following root
deployment.yaml inside your root project:
deployments: - git: url: firstname.lastname@example.org/example/example-library.git args: arg1: value1
And the following
.kluctl-library.yaml inside the included
example-library git project:
args: - name: arg1 - name: arg2 default: value2
This will include the given git repository and make
args.arg2 available via
A list of arguments that can or must be passed when including the library project. Each of these arguments is then available
in templating via the global
An example looks like this:
args: - name: environment - name: enable_debug default: false - name: complex_arg default: my: nested1: arg1 nested2: arg2
The meaning and function of these arguements is identical to the args in .kluctl.yaml .
Using Kluctl Libraries without .kluctl-library.yaml
Includes can also be done on projects that do not have a
.kluctl-library.yaml configuration. In that case, all
currently available variables are passed into the include project, including the
args from the root deployment project.