Class: KuberKit::Configs

Inherits:
Object show all
Defined in:
lib/kuber_kit/configs.rb

Constant Summary collapse

AVAILABLE_CONFIGS =
[
  :image_dockerfile_name, :image_build_context_dir, :image_tag, :docker_ignore_list, :image_compile_dir, 
  :kuber_kit_dirname, :kuber_kit_min_version, :images_dirname, :services_dirname, :infra_dirname, :configurations_dirname,
  :artifact_clone_dir, :service_config_dir, :deploy_strategy, :compile_simultaneous_limit
]
DOCKER_IGNORE_LIST =
[
  'Dockerfile',
  '.DS_Store',
  '**/.DS_Store',
  '**/*.log',
  'node_modules',
  '.vagrant',
  '.vscode',
  'tmp',
  'logs'
]

Instance Method Summary collapse

Constructor Details

#initialize ⇒ Configs

Returns a new instance of Configs.



31
32
33
# File 'lib/kuber_kit/configs.rb', line 31

def initialize
  add_default_configs unless items.any?
end

Instance Method Details

#add_default_configs ⇒ Object



35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
# File 'lib/kuber_kit/configs.rb', line 35

def add_default_configs
  set :image_dockerfile_name,   "Dockerfile"
  set :image_build_context_dir, "build_context"
  set :image_tag,               'latest'
  set :image_compile_dir,       "/tmp/kuber_kit/image_builds"
  set :docker_ignore_list,      DOCKER_IGNORE_LIST
  set :kuber_kit_dirname,       "kuber_kit"
  set :kuber_kit_min_version,   KuberKit::VERSION
  set :images_dirname,          "images"
  set :services_dirname,        "services"
  set :infra_dirname,           "infrastructure"
  set :configurations_dirname,  "configurations"
  set :artifact_clone_dir,      "/tmp/kuber_kit/artifacts"
  set :service_config_dir,      "/tmp/kuber_kit/services"
  set :deploy_strategy,         :kubernetes
  set :compile_simultaneous_limit, 5
end

#get(key) ⇒ Object



65
66
67
68
69
70
71
# File 'lib/kuber_kit/configs.rb', line 65

def get(key)
  unless AVAILABLE_CONFIGS.include?(key)
    raise ArgumentError, "#{key} is not a valid configuration key"
  end

  items[key]
end

#items ⇒ Object



53
54
55
# File 'lib/kuber_kit/configs.rb', line 53

def items
  @@items ||= {}
end

#reset! ⇒ Object



73
74
75
# File 'lib/kuber_kit/configs.rb', line 73

def reset!
  @@items = {}
end

#set(key, value) ⇒ Object



57
58
59
60
61
62
63
# File 'lib/kuber_kit/configs.rb', line 57

def set(key, value)
  unless AVAILABLE_CONFIGS.include?(key)
    raise ArgumentError, "#{key} is not a valid configuration key"
  end

  items[key] = value
end