summaryrefslogtreecommitdiff
path: root/app/services/ci/update_cluster_service.rb
blob: 70d88fca660788613bd8e3bcb6b09ad92e6ef7c2 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
module Ci
  class UpdateClusterService < BaseService
    def execute(cluster)
      Gcp::Cluster.transaction do
        cluster.update!(params)

        if params['enabled'] == 'true'
          cluster.service.update!(
            active: true,
            api_url: cluster.api_url,
            ca_pem: cluster.ca_cert,
            namespace: cluster.project_namespace,
            token: cluster.kubernetes_token)
        else
          cluster.service.update!(active: false)
        end
      end
    rescue ActiveRecord::RecordInvalid => e
      cluster.errors.add(:base, e.message)
    end
  end
end