Skip to content
Snippets Groups Projects
Commit a71b3f6a authored by Dylan Griffith's avatar Dylan Griffith
Browse files

Extract Helm::ClientCommand for shared commands

parent fe1469e1
No related branches found
No related tags found
No related merge requests found
Loading
Loading
@@ -66,6 +66,9 @@ module Clusters
end
 
before_transition any => [:installed, :updated] do |app_status, _|
# When installing any application we are also performing an update
# of tiller (see Gitlab::Kubernetes::Helm::ClientCommand) so
# therefore we need to reflect that in the database.
app_status.cluster.application_helm.update!(version: Gitlab::Kubernetes::Helm::HELM_VERSION)
end
end
Loading
Loading
module Gitlab
module Kubernetes
module Helm
module ClientCommand
def init_command
# Here we are always upgrading to the latest version of Tiller when
# installing an app. We ensure the helm version stored in the
# database is correct by also updating this after transition to
# :installed,:updated in Clusters::Concerns::ApplicationStatus
'helm init --upgrade --tiller-namespace gitlab-managed-apps'
end
def wait_for_tiller_command
# This is necessary to give Tiller time to restart after upgrade.
# Ideally we'd be able to use --wait but cannot because of
# https://github.com/helm/helm/issues/4855
'sleep 30'
end
def repository_command
['helm', 'repo', 'add', name, repository].shelljoin if repository
end
end
end
end
end
Loading
Loading
@@ -3,6 +3,7 @@ module Gitlab
module Helm
class InstallCommand
include BaseCommand
include ClientCommand
 
attr_reader :name, :files, :chart, :version, :repository, :preinstall, :postinstall
 
Loading
Loading
@@ -20,10 +21,7 @@ module Gitlab
def generate_script
super + [
init_command,
# Sleep is necessary to give Tiller time to restart after upgrade.
# Ideally we'd be able to use --wait but cannot because of
# https://github.com/helm/helm/issues/4855
sleep_command,
wait_for_tiller_command,
repository_command,
repository_update_command,
preinstall_command,
Loading
Loading
@@ -38,18 +36,6 @@ module Gitlab
 
private
 
def init_command
'helm init --upgrade --tiller-namespace gitlab-managed-apps'
end
def sleep_command
'sleep 30'
end
def repository_command
['helm', 'repo', 'add', name, repository].shelljoin if repository
end
def repository_update_command
'helm repo update' if repository
end
Loading
Loading
Loading
Loading
@@ -5,6 +5,7 @@ module Gitlab
module Helm
class UpgradeCommand
include BaseCommand
include ClientCommand
 
attr_reader :name, :chart, :version, :repository, :files
 
Loading
Loading
@@ -20,10 +21,7 @@ module Gitlab
def generate_script
super + [
init_command,
# Sleep is necessary to give Tiller time to restart after upgrade.
# Ideally we'd be able to use --wait but cannot because of
# https://github.com/helm/helm/issues/4855
sleep_command,
wait_for_tiller_command,
repository_command,
script_command
].compact.join("\n")
Loading
Loading
@@ -39,18 +37,6 @@ module Gitlab
 
private
 
def init_command
'helm init --upgrade --tiller-namespace gitlab-managed-apps'
end
def sleep_command
'sleep 30'
end
def repository_command
"helm repo add #{name} #{repository}" if repository
end
def script_command
upgrade_flags = "#{optional_version_flag}#{optional_tls_flags}" \
" --reset-values" \
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment