gitlab-org--gitlab-foss/lib/gitlab/kubernetes/kubeconfig/entry/cluster.rb

43 lines
827 B
Ruby

# frozen_string_literal: true
module Gitlab
module Kubernetes
module Kubeconfig
module Entry
class Cluster
attr_reader :name
def initialize(name:, url:, ca_pem: nil)
@name = name
@url = url
@ca_pem = ca_pem
end
def to_h
{
name: name,
cluster: cluster
}
end
private
attr_reader :url, :ca_pem
def cluster
{
server: url,
'certificate-authority-data': certificate_authority_data
}.compact
end
def certificate_authority_data
return unless ca_pem.present?
Base64.strict_encode64(ca_pem)
end
end
end
end
end
end