mirror of
https://github.com/ansible-collections/kubernetes.core.git
synced 2026-05-06 13:02:37 +00:00
Limit compatibility to Helm =>v3.0.0,<4.0.0 (#1039)
SUMMARY Helm v4 is a major version with backward-incompatible changes, including to the flags and output of the Helm CLI and to the SDK. This version is currently not supported in the kubernetes.core. This PR is related to #1038 and is a short-term solution to mark compatibility explicitly ISSUE TYPE Bugfix Pull Request Docs Pull Request COMPONENT NAME helm helm_template helm_info helm_repository helm_pull helm_registry_auth helm_plugin helm_plugin_info ADDITIONAL INFORMATION Added `validate_helm_version()`` method to AnsibleHelmModule that enforces version constraint >=3.0.0,<4.0.0. Fails fast with clear error message: "Helm version must be >=3.0.0,<4.0.0, current version is {version}" Some modules (i.e. helm_registry_auth) technically is compatible with Helm v4, but validation was added to all helm modules. Partially coauthored by GitHub Copilot with Claude Sonnet 4 model. Addresses issue #1038 Reviewed-by: GomathiselviS <gomathiselvi@gmail.com> Reviewed-by: Yuriy Novostavskiy <yuriy@novostavskiy.kyiv.ua> Reviewed-by: Mike Graves <mgraves@redhat.com> Reviewed-by: Alina Buzachis Reviewed-by: Bianca Henderson <beeankha@gmail.com>
This commit is contained in:
committed by
GitHub
parent
452fb3d7cb
commit
13791ec7bf
@@ -202,6 +202,24 @@ class AnsibleHelmModule(object):
|
||||
return m.group(1)
|
||||
return None
|
||||
|
||||
def validate_helm_version(self):
|
||||
"""
|
||||
Validate that Helm version is >=3.0.0 and <4.0.0.
|
||||
Helm 4 is not yet supported.
|
||||
"""
|
||||
helm_version = self.get_helm_version()
|
||||
if helm_version is None:
|
||||
self.fail_json(msg="Unable to determine Helm version")
|
||||
|
||||
if (LooseVersion(helm_version) < LooseVersion("3.0.0")) or (
|
||||
LooseVersion(helm_version) >= LooseVersion("4.0.0")
|
||||
):
|
||||
self.fail_json(
|
||||
msg="Helm version must be >=3.0.0,<4.0.0, current version is {0}".format(
|
||||
helm_version
|
||||
)
|
||||
)
|
||||
|
||||
def get_values(self, release_name, get_all=False):
|
||||
"""
|
||||
Get Values from deployed release
|
||||
|
||||
Reference in New Issue
Block a user