diff --git a/changelogs/fragments/592-kustomize-helm-support.yml b/changelogs/fragments/592-kustomize-helm-support.yml new file mode 100644 index 00000000..8c442219 --- /dev/null +++ b/changelogs/fragments/592-kustomize-helm-support.yml @@ -0,0 +1,3 @@ +--- +minor_changes: + - kustomize - new parameter added to --enable-helm (https://github.com/ansible-collections/kubernetes.core/issues/568) diff --git a/docs/kubernetes.core.kustomize_lookup.rst b/docs/kubernetes.core.kustomize_lookup.rst index 5c368d14..4083ebad 100644 --- a/docs/kubernetes.core.kustomize_lookup.rst +++ b/docs/kubernetes.core.kustomize_lookup.rst @@ -77,6 +77,24 @@ Parameters
If omitted, '.' is assumed.
+ + +
+ enable_helm + +
+ - +
+ + + Default:
"False"
+ + + + +
Enable the helm chart inflation generator
+ +
@@ -112,16 +130,20 @@ Examples .. code-block:: yaml - name: Run lookup using kustomize - set_fact: + ansible.builtin.set_fact: resources: "{{ lookup('kubernetes.core.kustomize', binary_path='/path/to/kustomize') }}" - name: Run lookup using kubectl kustomize - set_fact: + ansible.builtin.set_fact: resources: "{{ lookup('kubernetes.core.kustomize', binary_path='/path/to/kubectl') }}" - name: Create kubernetes resources for lookup output - k8s: + kubernetes.core.k8s: definition: "{{ lookup('kubernetes.core.kustomize', dir='/path/to/kustomization') }}" + + - name: Create kubernetes resources for lookup output with `--enable-helm` set + kubernetes.core.k8s: + definition: "{{ lookup('kubernetes.core.kustomize', dir='/path/to/kustomization', enable_helm=True) }}" diff --git a/plugins/lookup/kustomize.py b/plugins/lookup/kustomize.py index dd580a2f..c18f71ff 100644 --- a/plugins/lookup/kustomize.py +++ b/plugins/lookup/kustomize.py @@ -30,6 +30,10 @@ DOCUMENTATION = """ opt_dirs: description: - An optional list of directories to search for the executable in addition to PATH. + enable_helm: + description: + - Enable the helm chart inflation generator + default: "False" requirements: - "python >= 3.6" @@ -37,16 +41,20 @@ DOCUMENTATION = """ EXAMPLES = """ - name: Run lookup using kustomize - set_fact: + ansible.builtin.set_fact: resources: "{{ lookup('kubernetes.core.kustomize', binary_path='/path/to/kustomize') }}" - name: Run lookup using kubectl kustomize - set_fact: + ansible.builtin.set_fact: resources: "{{ lookup('kubernetes.core.kustomize', binary_path='/path/to/kubectl') }}" - name: Create kubernetes resources for lookup output - k8s: + kubernetes.core.k8s: definition: "{{ lookup('kubernetes.core.kustomize', dir='/path/to/kustomization') }}" + +- name: Create kubernetes resources for lookup output with `--enable-helm` set + kubernetes.core.k8s: + definition: "{{ lookup('kubernetes.core.kustomize', dir='/path/to/kustomization', enable_helm=True) }}" """ RETURN = """ @@ -91,7 +99,14 @@ def run_command(command): class LookupModule(LookupBase): def run( - self, terms, variables=None, dir=".", binary_path=None, opt_dirs=None, **kwargs + self, + terms, + variables=None, + dir=".", + binary_path=None, + opt_dirs=None, + enable_helm=False, + **kwargs ): executable_path = binary_path if executable_path is None: @@ -122,6 +137,9 @@ class LookupModule(LookupBase): ) ) + if enable_helm: + command += ["--enable-helm"] + (out, err) = run_command(command) if err: raise AnsibleLookupError(