Class: KumoDockerCloud::Environment
- Inherits:
-
Object
- Object
- KumoDockerCloud::Environment
- Extended by:
- Forwardable
- Defined in:
- lib/kumo_dockercloud/environment.rb
Instance Method Summary collapse
- #apply ⇒ Object
- #destroy ⇒ Object
-
#initialize(params = {}) ⇒ Environment
constructor
A new instance of Environment.
Constructor Details
#initialize(params = {}) ⇒ Environment
Returns a new instance of Environment.
17 18 19 20 21 22 23 24 25 |
# File 'lib/kumo_dockercloud/environment.rb', line 17 def initialize(params = {}) @env_name = params.fetch(:name) @env_vars = params.fetch(:env_vars, {}) @stack_template_path = params.fetch(:stack_template_path) @timeout = params.fetch(:timeout, 120) app_name = params.fetch(:app_name) @config = EnvironmentConfig.new(app_name: app_name, env_name: @env_name, config_path: params.fetch(:config_path)) end |
Instance Method Details
#apply ⇒ Object
27 28 29 30 31 32 33 34 35 36 37 38 39 |
# File 'lib/kumo_dockercloud/environment.rb', line 27 def apply if @config.image_tag == 'latest' puts 'WARNING: Deploying latest. The deployed container version may arbitrarily change' end stack_file = write_stack_config_file(configure_stack(stack_template)) run_command(stack_command(stack_file)) stack_file.unlink run_command("docker-cloud stack redeploy #{stack_name}") wait_for_running(@timeout) end |
#destroy ⇒ Object
41 42 43 |
# File 'lib/kumo_dockercloud/environment.rb', line 41 def destroy run_command("docker-cloud stack terminate --sync #{stack_name}") end |