class Porkadot::Configs::Kubelet
def addon_path
def addon_path File.join(self.target_path, 'addons') end
def addon_secrets_path
def addon_secrets_path File.join(self.target_secrets_path, 'addons') end
def annotations
def annotations return self.raw.annotations || {} end
def apiserver?
def apiserver? self.raw.labels && self.raw.labels.include?(Porkadot::K8S_MASTER_LABEL) end
def bootstrap_cert_path
def bootstrap_cert_path File.join(self.target_path, 'bootstrap.crt') end
def bootstrap_key_path
def bootstrap_key_path File.join(self.target_secrets_path, 'bootstrap.key') end
def control_plane_endpoint
def control_plane_endpoint (self.raw.kubernetes && self.raw.kubernetes.control_plane_endpoint) || self.config.k8s.control_plane_endpoint end
def hostname
def hostname self.raw.hostname || self.name end
def initialize config, name, raw
def initialize config, name, raw @config = config @name = name @raw = raw || ::Porkadot::Raw.new hostname = @raw.hostname || name con = { hostname: hostname } gcon = config.connection.to_hash lcon = @raw.connection ? @raw.connection.to_hash : {} @connection = ::Porkadot::Raw.new(con.rmerge(gcon.rmerge(lcon))) end
def kubelet_config
def kubelet_config kc = self.raw.config || ::Porkadot::Raw.new kc = kc.merge(self.config.kubernetes.kubelet.config) kc.clusterDNS << self.config.k8s.networking.dns_ip.to_s kc.clusterDomain = self.config.k8s.networking.dns_domain if self.raw.taints kc.registerWithTaints = self.raw.taints end return kc end
def labels
def labels return self.raw.labels || {} end
def labels_string
def labels_string return '' unless self.raw.labels return self.raw.labels.map{|v| v.compact.join('=')}.join(',') end
def target_path
def target_path File.join(self.config.assets_dir, 'kubelet', name) end
def target_secrets_path
def target_secrets_path File.join(self.config.secrets_root_dir, 'kubelet', name) end