@@ -38,8 +38,9 @@ def init(tiller_namespace_name):
3838 }
3939 kubectl .apply (tiller_service_account )
4040 kubectl .apply (cluster_role_binding )
41+ tiller_cmd = '' if _check_helm_version () == 3 else f' --tiller-namespace { tiller_namespace_name } '
4142 subprocess .check_call (
42- f'helm init --upgrade --service-account { tiller_namespace_name } -tiller --tiller-namespace { tiller_namespace_name } --history-max 10' ,
43+ f'helm init --upgrade --stable-repo-url https://charts.helm.sh/stable --service-account { tiller_namespace_name } -tiller --history-max 10' + tiller_cmd ,
4344 shell = True
4445 )
4546
@@ -55,13 +56,15 @@ def deploy(tiller_namespace, chart_repo, chart_name, chart_version, release_name
5556
5657 version_args = f'--version "{ chart_version } "' if chart_version else ''
5758 dry_run_args = '--dry-run --debug'
58- cmd = f'helm --tiller-namespace { tiller_namespace } upgrade { release_name } { chart_name } ' \
59+ tiller_cmd = '' if _check_helm_version () == 3 else f' --tiller-namespace { tiller_namespace } '
60+ cmd = f'helm upgrade { release_name } { chart_name } ' \
5961 f' --install --namespace "{ namespace } " -i { version_args } '
6062 if values_filename :
6163 cmd += f' -f { values_filename } '
6264 elif values :
6365 for key , value in values .items ():
6466 cmd += f' --set { key } ={ value } '
67+ cmd += tiller_cmd
6568 logs .info ('Running helm upgrade --dry-run' )
6669 if logs .CKAN_CLOUD_OPERATOR_DEBUG_FILE :
6770 logs .info (f'helm dry run debug output is written to debug log file: { logs .CKAN_CLOUD_OPERATOR_DEBUG_FILE } ' )
@@ -75,4 +78,8 @@ def deploy(tiller_namespace, chart_repo, chart_name, chart_version, release_name
7578
7679
7780def delete (tiller_namespace , release_name ):
78- subprocess .check_call (f'helm --tiller-namespace { tiller_namespace } delete --purge --timeout 5 { release_name } ' , shell = True )
81+ tiller_cmd = '' if _check_helm_version () == 3 else f' --tiller-namespace { tiller_namespace } '
82+ subprocess .check_call (f'helm delete --purge --timeout 5 { release_name } ' + tiller_cmd , shell = True )
83+
84+ def _check_helm_version ():
85+ return 3 if 'v3.' in str (subprocess .check_output ('helm version -c' , shell = True )) else 2
0 commit comments