Module: Kubert::Configuration

Included in:
Kubert
Defined in:
lib/kubert/configuration.rb

Constant Summary collapse

DEFAULT_KUBE_CONFIG_PATH =
'~/.kube/config'

Instance Method Summary collapse

Instance Method Details

#config_file_nameObject



54
55
56
# File 'lib/kubert/configuration.rb', line 54

def config_file_name
  "#{configuration[:project_name]}#{KY::Manipulation::CONFIG_SUFFIX}"
end

#configurationObject



50
51
52
# File 'lib/kubert/configuration.rb', line 50

def configuration
  @configuration ||= (ky_default_configuration[:kubert] || {}).merge(project_name: ky_default_configuration[:project_name])
end

#console_commandObject



30
31
32
# File 'lib/kubert/configuration.rb', line 30

def console_command
  Array(configuration[:console_command] && configuration[:console_command].split(" "))
end

#contextObject



26
27
28
# File 'lib/kubert/configuration.rb', line 26

def context
  kube_config.contexts.select {|c| kube_config.context.api_endpoint.match(c) }
end

#current_environmentObject



68
69
70
71
72
# File 'lib/kubert/configuration.rb', line 68

def current_environment
  ky_configuration[:environment]        ||
  default_environment                   ||
  (raise "MUST DEFINE AN ENVIRONMENT FOR SECRETS, ky environment, environment flag in command or default_environment")
end

#current_namespaceObject



62
63
64
65
66
# File 'lib/kubert/configuration.rb', line 62

def current_namespace
  ky_configuration[:namespace]        ||
  default_namespace                   ||
  (raise "MUST DEFINE A NAMESPACE FOR POD OPERATIONS, ky namespace, default_namespace or default_environment")
end

#kube_configObject



4
5
6
# File 'lib/kubert/configuration.rb', line 4

def kube_config
  @kube_config ||= Kubeclient::Config.read(File.expand_path(kube_config_path))
end

#ky_active?Boolean

Returns:

  • (Boolean)


42
43
44
# File 'lib/kubert/configuration.rb', line 42

def ky_active?
  ky_default_configuration[:image] && ky_default_configuration[:deployment] && ky_default_configuration[:procfile_path]
end

#ky_configuration(options = {}) ⇒ Object



34
35
36
37
38
39
40
# File 'lib/kubert/configuration.rb', line 34

def ky_configuration(options={})
  @ky_configuration ||= KY::Configuration.new(
    {environment: Kubert.default_environment,
     namespace: Kubert.default_namespace
    }.with_indifferent_access.merge(options)
  )
end

#ky_default_configurationObject



46
47
48
# File 'lib/kubert/configuration.rb', line 46

def ky_default_configuration
  @ky_default_configuration ||= KY::Configuration.new
end

#secret_file_nameObject



58
59
60
# File 'lib/kubert/configuration.rb', line 58

def secret_file_name
  "#{configuration[:project_name]}#{KY::Manipulation::SECRET_SUFFIX}"
end