integrate_cluster_service.rb 954 字节
Newer Older
1 2 3 4
module Ci
  class IntegrateClusterService
    def execute(cluster, endpoint, ca_cert, token, username, password)
      Ci::Cluster.transaction do
5 6
        kubernetes_service ||=
          cluster.project.find_or_initialize_service('kubernetes')
7 8 9 10 11 12 13 14 15 16

        cluster.update!(
          enabled: true,
          service: kubernetes_service,
          username: username,
          password: password,
          kubernetes_token: token,
          ca_cert: ca_cert,
          endpoint: endpoint,
          gcp_token: nil,
17 18
          gcp_operation_id: nil,
          status: Ci::Cluster.statuses[:created])
19

20 21 22 23 24 25 26
        kubernetes_service.update!(
          active: true,
          api_url: cluster.api_url,
          ca_pem: ca_cert,
          namespace: cluster.project_namespace,
          token: token)
      end
27 28 29 30 31
    rescue ActiveRecord::RecordInvalid => e
      cluster.error!("Failed to integrate cluster into kubernetes_service: #{e.message}")
    end
  end
end