44 lines
818 B
Ruby
44 lines
818 B
Ruby
# frozen_string_literal: true
|
|
|
|
module Gitlab
|
|
module Kubernetes
|
|
class TlsSecret
|
|
attr_reader :name, :cert, :key, :namespace_name
|
|
|
|
def initialize(name, cert, key, namespace_name)
|
|
@name = name
|
|
@cert = cert
|
|
@key = key
|
|
@namespace_name = namespace_name
|
|
end
|
|
|
|
def generate
|
|
::Kubeclient::Resource.new(
|
|
type: tls_secret_type,
|
|
metadata: metadata,
|
|
data: data
|
|
)
|
|
end
|
|
|
|
private
|
|
|
|
def tls_secret_type
|
|
'kubernetes.io/tls'
|
|
end
|
|
|
|
def metadata
|
|
{
|
|
name: name,
|
|
namespace: namespace_name
|
|
}
|
|
end
|
|
|
|
def data
|
|
{
|
|
'tls.crt': Base64.strict_encode64(cert),
|
|
'tls.key': Base64.strict_encode64(key)
|
|
}
|
|
end
|
|
end
|
|
end
|
|
end
|