diff options
author | Tiger Watson <twatson@gitlab.com> | 2019-03-26 09:59:48 +0000 |
---|---|---|
committer | Fatih Acet <acetfatih@gmail.com> | 2019-03-26 09:59:48 +0000 |
commit | 76d281881a945518fe4565e1dc71f6a3bc28c575 (patch) | |
tree | 3bece712d331a02e52ac9735fb4f85ac70b08ef5 /app | |
parent | c77a1978cdadc9ae3fcfe7b1b31e535af80e61c9 (diff) | |
download | gitlab-ce-76d281881a945518fe4565e1dc71f6a3bc28c575.tar.gz |
Allow runners to be installed on group clusters
A runner installed on a cluster will now use the
cluster's `cluster_type` as its `runner_type`.
Diffstat (limited to 'app')
-rw-r--r-- | app/assets/javascripts/clusters/components/applications.vue | 7 | ||||
-rw-r--r-- | app/models/clusters/applications/runner.rb | 15 | ||||
-rw-r--r-- | app/services/clusters/applications/create_service.rb | 4 |
3 files changed, 15 insertions, 11 deletions
diff --git a/app/assets/javascripts/clusters/components/applications.vue b/app/assets/javascripts/clusters/components/applications.vue index 5b206b82fe0..d54f9ce552c 100644 --- a/app/assets/javascripts/clusters/components/applications.vue +++ b/app/assets/javascripts/clusters/components/applications.vue @@ -393,7 +393,6 @@ export default { <div slot="description" v-html="prometheusDescription"></div> </application-row> <application-row - v-if="isProjectCluster" id="runner" :logo-url="gitlabLogo" :title="applications.runner.title" @@ -409,9 +408,9 @@ export default { > <div slot="description"> {{ - s__(`ClusterIntegration|GitLab Runner connects to this - project's repository and executes CI/CD jobs, - pushing results back and deploying, + s__(`ClusterIntegration|GitLab Runner connects to the + repository and executes CI/CD jobs, + pushing results back and deploying applications to production.`) }} </div> diff --git a/app/models/clusters/applications/runner.rb b/app/models/clusters/applications/runner.rb index ef9cc4bd6d6..ec8f5cc40c0 100644 --- a/app/models/clusters/applications/runner.rb +++ b/app/models/clusters/applications/runner.rb @@ -13,7 +13,7 @@ module Clusters include ::Clusters::Concerns::ApplicationData belongs_to :runner, class_name: 'Ci::Runner', foreign_key: :runner_id - delegate :project, to: :cluster + delegate :project, :group, to: :cluster default_value_for :version, VERSION @@ -55,12 +55,17 @@ module Clusters end def runner_create_params - { + attributes = { name: 'kubernetes-cluster', - runner_type: :project_type, - tag_list: %w(kubernetes cluster), - projects: [project] + runner_type: cluster.cluster_type, + tag_list: %w[kubernetes cluster] } + + if cluster.group_type? + attributes.merge(groups: [group]) + elsif cluster.project_type? + attributes.merge(projects: [project]) + end end def gitlab_url diff --git a/app/services/clusters/applications/create_service.rb b/app/services/clusters/applications/create_service.rb index bd7c31bb981..c6f729aaa8a 100644 --- a/app/services/clusters/applications/create_service.rb +++ b/app/services/clusters/applications/create_service.rb @@ -13,7 +13,8 @@ module Clusters { "helm" => -> (cluster) { cluster.application_helm || cluster.build_application_helm }, "ingress" => -> (cluster) { cluster.application_ingress || cluster.build_application_ingress }, - "cert_manager" => -> (cluster) { cluster.application_cert_manager || cluster.build_application_cert_manager } + "cert_manager" => -> (cluster) { cluster.application_cert_manager || cluster.build_application_cert_manager }, + "runner" => -> (cluster) { cluster.application_runner || cluster.build_application_runner } }.tap do |hash| hash.merge!(project_builders) if cluster.project_type? end @@ -24,7 +25,6 @@ module Clusters def project_builders { "prometheus" => -> (cluster) { cluster.application_prometheus || cluster.build_application_prometheus }, - "runner" => -> (cluster) { cluster.application_runner || cluster.build_application_runner }, "jupyter" => -> (cluster) { cluster.application_jupyter || cluster.build_application_jupyter }, "knative" => -> (cluster) { cluster.application_knative || cluster.build_application_knative } } |