moonshot 0.7.2 → 0.7.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/lib/moonshot/artifact_repository/s3_bucket.rb +3 -2
- data/lib/moonshot/cli.rb +10 -1
- data/lib/moonshot/controller.rb +2 -1
- data/lib/moonshot/default_strategy.rb +4 -5
- data/lib/moonshot/merge_strategy.rb +10 -7
- data/lib/moonshot/stack.rb +6 -2
- metadata +2 -2
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA1:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 4efa7393335490c5e80a03e6f3c733727c75acdf
|
|
4
|
+
data.tar.gz: 185c228d9dcec000b92fafca815cf9ac9b36ebf4
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 17624a530e39bbe1179a776c082d9f1b4e5d2b8ea68dd0c0fc811d3767b5a4b014721b6b41d7253ba973d33772ee1cfb2b4b7c9345bfeef5625dcbeb9e045646
|
|
7
|
+
data.tar.gz: ca1d90df3feba59452c6d0a5c6bf63467c73d7fc009c2fda144cfce826a31e7f6184c1042b6bfbf99256baaab37ae9a4cabcb8cd5de03e162c2fd5f21d0cd63f
|
|
@@ -12,8 +12,9 @@ class Moonshot::ArtifactRepository::S3Bucket
|
|
|
12
12
|
|
|
13
13
|
attr_reader :bucket_name
|
|
14
14
|
|
|
15
|
-
def initialize(bucket_name)
|
|
15
|
+
def initialize(bucket_name, prefix: '')
|
|
16
16
|
@bucket_name = bucket_name
|
|
17
|
+
@prefix = prefix
|
|
17
18
|
end
|
|
18
19
|
|
|
19
20
|
def store_hook(build_mechanism, version_name)
|
|
@@ -32,7 +33,7 @@ class Moonshot::ArtifactRepository::S3Bucket
|
|
|
32
33
|
end
|
|
33
34
|
|
|
34
35
|
def filename_for_version(version_name)
|
|
35
|
-
"#{version_name}.tar.gz"
|
|
36
|
+
"#{@prefix}#{version_name}.tar.gz"
|
|
36
37
|
end
|
|
37
38
|
|
|
38
39
|
private
|
data/lib/moonshot/cli.rb
CHANGED
|
@@ -121,10 +121,19 @@ module Moonshot
|
|
|
121
121
|
desc: "Parent stack to import parameters from. (Default: #{default_parent_stack || 'None'})")
|
|
122
122
|
option :deploy, default: true, type: :boolean, aliases: '-d',
|
|
123
123
|
desc: 'Choose if code should be deployed after stack is created'
|
|
124
|
+
option :version, default: nil, type: :string,
|
|
125
|
+
desc: 'Version to deploy. Only valid if deploy flag is set.'
|
|
124
126
|
option :show_all_events, desc: 'Show all stack events during update. (Default: errors only)'
|
|
125
127
|
def create
|
|
126
128
|
controller.create
|
|
127
|
-
|
|
129
|
+
|
|
130
|
+
if options[:deploy]
|
|
131
|
+
if options[:version].nil?
|
|
132
|
+
controller.deploy_code
|
|
133
|
+
else
|
|
134
|
+
controller.deploy_version(options[:version])
|
|
135
|
+
end
|
|
136
|
+
end
|
|
128
137
|
end
|
|
129
138
|
|
|
130
139
|
desc :update, 'Update the CloudFormation stack within an environment.'
|
data/lib/moonshot/controller.rb
CHANGED
|
@@ -1,13 +1,12 @@
|
|
|
1
1
|
module Moonshot
|
|
2
2
|
module ParameterStrategy
|
|
3
|
-
# Default strategy:
|
|
4
|
-
# from the parameter file.
|
|
3
|
+
# Default strategy: use parameter defined in the parameter file
|
|
5
4
|
class DefaultStrategy
|
|
6
|
-
def parameters(_,
|
|
7
|
-
|
|
5
|
+
def parameters(params, _, _)
|
|
6
|
+
params.map do |key, _|
|
|
8
7
|
{
|
|
9
8
|
parameter_key: key,
|
|
10
|
-
parameter_value:
|
|
9
|
+
parameter_value: params[key],
|
|
11
10
|
use_previous_value: false
|
|
12
11
|
}
|
|
13
12
|
end
|
|
@@ -3,16 +3,19 @@ require_relative 'unicode_table'
|
|
|
3
3
|
|
|
4
4
|
module Moonshot
|
|
5
5
|
module ParameterStrategy
|
|
6
|
-
# Merge strategy:
|
|
7
|
-
#
|
|
8
|
-
# using previous value.
|
|
6
|
+
# Merge strategy: prefer parameter values defined in the parameter file,
|
|
7
|
+
# otherwise use the previously set value on the existing stack.
|
|
9
8
|
class MergeStrategy
|
|
10
|
-
def parameters(
|
|
11
|
-
|
|
12
|
-
|
|
9
|
+
def parameters(params, stack_params, template)
|
|
10
|
+
stack_keys = stack_params.keys.select do |k|
|
|
11
|
+
template.parameters.any? { |p| p.name == k }
|
|
12
|
+
end
|
|
13
|
+
|
|
14
|
+
(params.keys + stack_keys).uniq.map do |key|
|
|
15
|
+
if params[key]
|
|
13
16
|
{
|
|
14
17
|
parameter_key: key,
|
|
15
|
-
parameter_value:
|
|
18
|
+
parameter_value: params[key],
|
|
16
19
|
use_previous_value: false
|
|
17
20
|
}
|
|
18
21
|
else
|
data/lib/moonshot/stack.rb
CHANGED
|
@@ -138,7 +138,7 @@ module Moonshot
|
|
|
138
138
|
# update.
|
|
139
139
|
def overrides
|
|
140
140
|
if File.exist?(parameters_file)
|
|
141
|
-
YAML.load_file(parameters_file)
|
|
141
|
+
YAML.load_file(parameters_file) || {}
|
|
142
142
|
else
|
|
143
143
|
{}
|
|
144
144
|
end
|
|
@@ -260,7 +260,11 @@ module Moonshot
|
|
|
260
260
|
stack_name: @name,
|
|
261
261
|
template_body: template.body,
|
|
262
262
|
capabilities: ['CAPABILITY_IAM'],
|
|
263
|
-
parameters: @config.parameter_strategy.parameters(
|
|
263
|
+
parameters: @config.parameter_strategy.parameters(
|
|
264
|
+
overrides,
|
|
265
|
+
parameters,
|
|
266
|
+
template
|
|
267
|
+
)
|
|
264
268
|
)
|
|
265
269
|
true
|
|
266
270
|
rescue Aws::CloudFormation::Errors::ValidationError => e
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: moonshot
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.7.
|
|
4
|
+
version: 0.7.3
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Cloud Engineering <engineering@acquia.com>
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2016-
|
|
11
|
+
date: 2016-06-10 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: aws-sdk
|