module Kubert::Configuration

Constants

DEFAULT_KUBE_CONFIG_PATH

Public Instance Methods

config_file_name() click to toggle source
# File lib/kubert/configuration.rb, line 54
def config_file_name
  "#{configuration[:project_name]}#{KY::Manipulation::CONFIG_SUFFIX}"
end
configuration() click to toggle source
# File lib/kubert/configuration.rb, line 50
def configuration
  @configuration ||= (ky_default_configuration[:kubert] || {}).merge(project_name: ky_default_configuration[:project_name])
end
console_command() click to toggle source
# File lib/kubert/configuration.rb, line 30
def console_command
  Array(configuration[:console_command] && configuration[:console_command].split(" "))
end
context() click to toggle source
# File lib/kubert/configuration.rb, line 26
def context
  kube_config.contexts.select {|c| kube_config.context.api_endpoint.match(c) }
end
current_environment() click to toggle source
# 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_namespace() click to toggle source
# 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_config() click to toggle source
# File lib/kubert/configuration.rb, line 4
def kube_config
  @kube_config ||= Kubeclient::Config.read(File.expand_path(kube_config_path))
end
ky_active?() click to toggle source
# 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={}) click to toggle source
# 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_configuration() click to toggle source
# File lib/kubert/configuration.rb, line 46
def ky_default_configuration
  @ky_default_configuration ||= KY::Configuration.new
end
secret_file_name() click to toggle source
# File lib/kubert/configuration.rb, line 58
def secret_file_name
  "#{configuration[:project_name]}#{KY::Manipulation::SECRET_SUFFIX}"
end

Private Instance Methods

random_pod_type() click to toggle source
# File lib/kubert/configuration.rb, line 76
def random_pod_type
  Kubert.client.get_pods(namespace: current_namespace)
  .sample
  .metadata
  .name
  .split("-")
  .first
end