class Kubernetes::Installer

Included Modules

Defined in:

kubernetes/installer.cr

Constant Summary

CLOUD_INIT_WAIT_SCRIPT = {{ read_file("/srv/crystaldoc.info/github-vitobotta-hetzner-k3s-v2.4.1/src/kubernetes/../../templates/cloud_init_wait_script.sh") }}

Constructors

Instance Method Summary

Instance methods inherited from module Util::Shell

run_shell_command(command : String, kubeconfig_path : String, hetzner_token : String, error_message : String = "", abort_on_error : Bool = true, log_prefix : String = "", print_output : Bool = true) : CommandResult run_shell_command

Instance methods inherited from module Kubernetes::Util

api_server_ready?(kubeconfig_path : String) : Bool api_server_ready?, apply_kubectl_command(command : String, error_message = "") : Util::Shell::CommandResult apply_kubectl_command, apply_manifest_from_url(url : String, error_message = "Failed to apply manifest") : Util::Shell::CommandResult apply_manifest_from_url, apply_manifest_from_yaml(yaml : String, error_message = "Failed to apply manifest") : Util::Shell::CommandResult apply_manifest_from_yaml, ensure_kubectl_is_installed! : Nil ensure_kubectl_is_installed!, fetch_manifest(url : String) : String fetch_manifest, kubernetes_component_args_list(settings_group : String, setting : Array(String)) : String kubernetes_component_args_list, port_open?(ip : String, port : String | Int32, timeout : Float64 = 1.0) : Bool port_open?, switch_to_context(context : String, abort_on_error = true, request_timeout : Int32 | Nil = nil, print_output = true) : Util::Shell::CommandResult switch_to_context

Class methods inherited from module Kubernetes::Util

kubernetes_component_args_list(settings_group : String, setting : Array(String)) : String kubernetes_component_args_list

Instance methods inherited from module Util::Shell

run_shell_command(command : String, kubeconfig_path : String, hetzner_token : String, error_message : String = "", abort_on_error : Bool = true, log_prefix : String = "", print_output : Bool = true) : CommandResult run_shell_command

Instance methods inherited from module Util

default_log_prefix default_log_prefix, log_line(line, log_prefix = "") log_line, which(command) which

Class methods inherited from module Util

which(command) which

Constructor Detail

def self.new(configuration : Configuration::Loader, load_balancer : Nil | Hetzner::LoadBalancer, ssh : Util::SSH, autoscaling_worker_node_pools : Array(Configuration::Models::WorkerNodePool)) #

[View source]

Instance Method Detail

def autoscaling_worker_node_pools : Array(Configuration::Models::WorkerNodePool) #

[View source]
def configuration : Configuration::Loader #

[View source]
def kubeconfig_manager : Kubernetes::KubeconfigManager #

[View source]
def load_balancer : Hetzner::LoadBalancer | Nil #

[View source]
def master_generator : Kubernetes::Script::MasterGenerator #

[View source]
def masters : Array(Hetzner::Instance) #

[View source]
def run(masters_installation_queue_channel, workers_installation_queue_channel, completed_channel, master_count, worker_count) #

[View source]
def settings : Configuration::Main #

[View source]
def ssh : Util::SSH #

[View source]
def worker_generator : Kubernetes::Script::WorkerGenerator #

[View source]
def workers : Array(Hetzner::Instance) #

[View source]