class Moonshot::ControllerConfig

Holds configuration for Moonshot::Controller

Attributes

additional_tag[RW]
answer_file[RW]
app_name[RW]
artifact_repository[RW]
build_mechanism[RW]
default_parameter_source[RW]
deployment_mechanism[RW]
dev_build_name_proc[RW]
environment_name[RW]
interactive[RW]
interactive_logger[RW]
parameter_overrides[RW]
parameter_sources[RW]
parameters[RW]
parent_stacks[RW]
plugins[RW]
project_root[RW]
show_all_stack_events[RW]
ssh_auto_scaling_group_name[RW]
ssh_command[RW]
ssh_config[RW]
ssh_instance[RW]

Public Class Methods

new() click to toggle source
# File lib/moonshot/controller_config.rb, line 32
def initialize
  @default_parameter_source = AskUserSource.new
  @interactive              = true
  @interactive_logger       = InteractiveLogger.new
  @parameter_overrides      = {}
  @parameter_sources        = {}
  @parameters               = ParameterCollection.new
  @parent_stacks            = []
  @plugins                  = []
  @project_root             = Dir.pwd
  @show_all_stack_events    = false
  @ssh_config               = SSHConfig.new

  @dev_build_name_proc = lambda do |c|
    ['dev', c.app_name, c.environment_name, Time.now.to_i].join('/')
  end

  user = ENV.fetch('USER', 'default-user').gsub(/\W/, '')
  @environment_name = "dev-#{user}"
end