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(
|