class Indocker::Configurations::Configuration
Attributes
artifact_servers[R]
build_servers[R]
confirm_deployment[R]
containers[R]
env_files[R]
global_build_args[R]
images[R]
name[R]
networks[R]
registries[R]
repositories[R]
volumes[R]
Public Class Methods
new(name)
click to toggle source
# File lib/indocker/configurations/configuration.rb, line 15 def initialize(name) @name = name @repositories = {} @registries = {} @env_files = {} @build_servers = [] @images = [] @volumes = [] @networks = [] @containers = [] @artifact_servers = {} @confirm_deployment = false end
Public Instance Methods
add_build_server(build_server)
click to toggle source
# File lib/indocker/configurations/configuration.rb, line 81 def add_build_server(build_server) if !@build_servers.include?(build_server) @build_servers.push(build_server) end end
add_container(container)
click to toggle source
# File lib/indocker/configurations/configuration.rb, line 95 def add_container(container) @containers.push(container) end
add_image(image)
click to toggle source
# File lib/indocker/configurations/configuration.rb, line 91 def add_image(image) @images.push(image) end
build_dir()
click to toggle source
# File lib/indocker/configurations/configuration.rb, line 111 def build_dir "/tmp/#{@name}" end
container(name)
click to toggle source
# File lib/indocker/configurations/configuration.rb, line 41 def container(name) @containers.detect {|c| c.name == name} end
container_enabled?(container)
click to toggle source
# File lib/indocker/configurations/configuration.rb, line 53 def container_enabled?(container) @enabled_containers.include?(container.name) end
enabled_containers()
click to toggle source
# File lib/indocker/configurations/configuration.rb, line 49 def enabled_containers @enabled_containers || (raise ArgumentError.new("enabled container list was not specified in configuration")) end
get_binding()
click to toggle source
# File lib/indocker/configurations/configuration.rb, line 119 def get_binding binding end
hostname(container, number)
click to toggle source
# File lib/indocker/configurations/configuration.rb, line 115 def hostname(container, number) Indocker::ContainerHelper.hostname(@name, container, number) end
next_build_server()
click to toggle source
# File lib/indocker/configurations/configuration.rb, line 99 def next_build_server @current_position ||= 0 build_server = @build_servers[@current_position] @current_position += 1 if @current_position >= @build_servers.size - 1 @current_position = 0 end build_server end
servers()
click to toggle source
# File lib/indocker/configurations/configuration.rb, line 29 def servers @containers.map(&:servers).flatten.uniq end
set_artifact_servers(artifact, servers)
click to toggle source
# File lib/indocker/configurations/configuration.rb, line 33 def set_artifact_servers(artifact, servers) @artifact_servers[artifact] = servers end
set_confirm_deployment(flag)
click to toggle source
# File lib/indocker/configurations/configuration.rb, line 37 def set_confirm_deployment(flag) @confirm_deployment = !!flag end
set_enabled_containers(list)
click to toggle source
# File lib/indocker/configurations/configuration.rb, line 45 def set_enabled_containers(list) @enabled_containers = list end
set_env_file(alias_name, env_file)
click to toggle source
# File lib/indocker/configurations/configuration.rb, line 73 def set_env_file(alias_name, env_file) if @env_files.has_key?(alias_name) raise ArgumentError.new("alias name :#{alias_name} is already used by env file: #{@env_files[alias_name].inspect}") end @env_files[alias_name] = env_file end
set_global_build_args(hash)
click to toggle source
# File lib/indocker/configurations/configuration.rb, line 87 def set_global_build_args(hash) @global_build_args = hash end
set_registry(alias_name, registry)
click to toggle source
# File lib/indocker/configurations/configuration.rb, line 65 def set_registry(alias_name, registry) if @registries.has_key?(alias_name) raise ArgumentError.new("alias name :#{alias_name} is already used by registry: #{@registries[alias_name].inspect}") end @registries[alias_name] = registry end
set_repository(alias_name, repository)
click to toggle source
# File lib/indocker/configurations/configuration.rb, line 57 def set_repository(alias_name, repository) if @repositories.has_key?(alias_name) raise ArgumentError.new("alias name :#{alias_name} is already used by repository: #{@repositories[alias_name].inspect}") end @repositories[alias_name] = repository end