rubycfn 0.5.0 → 0.5.1
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/CHANGELOG.md +9 -1
- data/Gemfile.lock +1 -1
- data/README.md +1 -1
- data/lib/rubycfn/version.rb +1 -1
- data/templates/README.md +2 -1
- data/templates/Rakefile +3 -2
- data/templates/lib/aws_helper/dependencies.rb +6 -4
- data/templates/lib/aws_helper/deploy.rb +0 -1
- data/templates/lib/core/dependencies.rb +9 -3
- data/templates/lib/core/deploy.rb +1 -1
- data/templates/lib/shared_concerns/shared_methods.rb +3 -1
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: b3edf333cbadc6a8996cffd0d68726b7a85dfd8c3cc10726be8bbc5f773d954f
|
4
|
+
data.tar.gz: 76d18eb2f1ab6f4363649fbb7982dcba65256fb255875e726dd74a6b41c3c13c
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 476691b642e3c9bbed9682a268ed25c8b6e7ae4d665895f6f3b339b2142322adfe0b08b86d3ef37886d0a1666a2c81995a5ce5a362d8df728a8cde509da4c502
|
7
|
+
data.tar.gz: d40b8ddc22e3a67e5959a16719029c076cc1d039f097c6943425058a420fc40aa986194241c2537a54797af32578a8daf6598f98efe73bc76030754d4ab97e20
|
data/CHANGELOG.md
CHANGED
@@ -2,7 +2,15 @@
|
|
2
2
|
All notable changes to Rubycfn will be documented in this file.
|
3
3
|
This project uses [Semantic Versioning](http://semver.org/).
|
4
4
|
|
5
|
-
## 0.5.
|
5
|
+
## 0.5.2 (Next Release)
|
6
|
+
|
7
|
+
## 0.5.1
|
8
|
+
|
9
|
+
* Added descriptive error messages for common errors -- [@dennisvink][@dennisvink]
|
10
|
+
* Allow `rake compile` to succeed with mock .env.dependency.rspec values
|
11
|
+
* Added `rake update` command
|
12
|
+
* Removed a stray unused variable in template code
|
13
|
+
* Update README.md
|
6
14
|
|
7
15
|
## 0.5.0
|
8
16
|
|
data/Gemfile.lock
CHANGED
data/README.md
CHANGED
@@ -61,7 +61,7 @@ __________ ____ __________________.___._________ _____________________
|
|
61
61
|
| _/ | /| | _// | |/ \ \/ | __) | | _/
|
62
62
|
| | \ | / | | \\____ |\ \____| \ | | \
|
63
63
|
|____|_ /______/ |______ // ______| \______ /\___ / |______ /
|
64
|
-
\/ \/ \/ \/ \/ \/ [v0.5.
|
64
|
+
\/ \/ \/ \/ \/ \/ [v0.5.1]
|
65
65
|
Project name? example
|
66
66
|
Account ID? 1234567890
|
67
67
|
Select region EU (Frankfurt)
|
data/lib/rubycfn/version.rb
CHANGED
data/templates/README.md
CHANGED
@@ -16,11 +16,12 @@ __________ ____ __________________.___._________ _____________________
|
|
16
16
|
|
17
17
|
## Rake commands
|
18
18
|
|
19
|
-
`rake` - Compile the code into CloudFormation templates and run unit tests
|
19
|
+
`rake` - Retrieve required outputs from DependencyStack, Compile the code into CloudFormation templates and run unit tests
|
20
20
|
`rake init` - Deploy the DependencyStack in the AWS account
|
21
21
|
`rake compile` - Compile the code into CloudFormation templates
|
22
22
|
`rake spec` - Run unit tests
|
23
23
|
`rake upload` - Upload the CloudFormation templates to s3
|
24
|
+
`rake update` - Save required outputs from DependencyStack to .env.dependencies
|
24
25
|
`rake apply` - Deploy the CloudFormation templates
|
25
26
|
|
26
27
|
## Stack configuration
|
data/templates/Rakefile
CHANGED
@@ -51,7 +51,8 @@ RuboCop::RakeTask.new(:rubocop) do |t|
|
|
51
51
|
t.options = ["--display-cop-names"]
|
52
52
|
end
|
53
53
|
|
54
|
+
task apply: %i(dependencies apply_stack)
|
55
|
+
task compile: %i(compile_stack)
|
54
56
|
task default: %i(dependencies compile_stack spec)
|
55
|
-
task
|
57
|
+
task update: %i(dependencies)
|
56
58
|
task upload: %i(dependencies upload_stack)
|
57
|
-
task apply: %i(dependencies apply_stack)
|
@@ -6,10 +6,11 @@ def load_env_vars
|
|
6
6
|
|
7
7
|
check_dependencies
|
8
8
|
{
|
9
|
+
artifact_bucket: ENV["ARTIFACTBUCKET"],
|
9
10
|
aws_region: ENV["AWS_REGION"],
|
10
11
|
aws_access_key_id: ENV["AWS_ACCESS_KEY_ID"],
|
11
12
|
aws_secret_access_key: ENV["AWS_SECRET_ACCESS_KEY"],
|
12
|
-
|
13
|
+
cloudformation_bucket: ENV["CLOUDFORMATIONBUCKET"],
|
13
14
|
environment: ENV["ENVIRONMENT"],
|
14
15
|
stack_name: ENV["STACK_NAME"]
|
15
16
|
}
|
@@ -17,9 +18,10 @@ end
|
|
17
18
|
|
18
19
|
def check_dependencies
|
19
20
|
ENV["AWS_REGION"] ||= ENV["AWS_DEFAULT_REGION"]
|
20
|
-
raise "AWS_REGION not set" unless ENV["AWS_REGION"]
|
21
|
-
raise "
|
22
|
-
raise "
|
21
|
+
raise "AWS_REGION not set." unless ENV["AWS_REGION"]
|
22
|
+
raise "CLOUDFORMATIONBUCKET not set. Run `rake init` and `rake update` first!" unless ENV["CLOUDFORMATIONBUCKET"]
|
23
|
+
raise "ARTIFACTBUCKET not set. Run `rake init` and `rake update` first!" unless ENV["ARTIFACTBUCKET"]
|
24
|
+
raise "ENVIRONMENT not set." unless ENV["ENVIRONMENT"]
|
23
25
|
raise "STACK_NAME not set" unless ENV["STACK_NAME"]
|
24
26
|
raise "AWS CREDENTIALS NOT SET" unless ENV["AWS_ACCESS_KEY_ID"] && ENV["AWS_SECRET_ACCESS_KEY"]
|
25
27
|
end
|
@@ -45,7 +45,6 @@ def get_parent_stack_s3_location(bucket, environment)
|
|
45
45
|
JSON.parse(stack)["Resources"].each do |_resource, payload|
|
46
46
|
if payload["Type"] == "AWS::CloudFormation::Stack"
|
47
47
|
parent_stack = stack_name
|
48
|
-
json_file = "build/#{environment}-#{stack_name.downcase}.json"
|
49
48
|
file_hash = git_revision
|
50
49
|
break
|
51
50
|
end
|
@@ -10,10 +10,16 @@ ENV["AWS_DEFAULT_REGION"] ||= "eu-west-1"
|
|
10
10
|
ENV["AWS_REGION"] ||= ENV["AWS_DEFAULT_REGION"]
|
11
11
|
|
12
12
|
client = Aws::CloudFormation::Client.new(region: ENV["AWS_REGION"])
|
13
|
-
res = client.describe_stacks(
|
14
|
-
stack_name: "DependencyStack"
|
15
|
-
)
|
16
13
|
|
14
|
+
begin
|
15
|
+
res = client.describe_stacks(
|
16
|
+
stack_name: "DependencyStack"
|
17
|
+
)
|
18
|
+
rescue Aws::CloudFormation::Errors::InvalidClientTokenId
|
19
|
+
raise "ERROR: Your AWS credentials are not set or invalid."
|
20
|
+
end
|
21
|
+
|
22
|
+
raise "ERROR: .env.dependencies does not exist. Run `rake init` and `rake dependencies` first!" unless File.file?(".env.dependencies")
|
17
23
|
dep_file = File.open(".env.dependencies", "w")
|
18
24
|
res[:stacks].each do |stack|
|
19
25
|
stack[:outputs].each do |output|
|
@@ -8,7 +8,7 @@ require_relative "../aws_helper/main"
|
|
8
8
|
|
9
9
|
Dotenv.load(".env.private")
|
10
10
|
Dotenv.load(".env.dependencies")
|
11
|
-
raise "CLOUDFORMATIONBUCKET not
|
11
|
+
raise "CLOUDFORMATIONBUCKET not set. Run `rake init` and `rake update` first!" unless ENV["CLOUDFORMATIONBUCKET"]
|
12
12
|
|
13
13
|
env_vars = load_env_vars
|
14
14
|
|
@@ -35,7 +35,9 @@ module Concerns
|
|
35
35
|
end
|
36
36
|
|
37
37
|
def generate_bootstrap_parameters
|
38
|
-
|
38
|
+
warn "WARNING: .env.dependencies does not exist. Run `rake dependencies` first!" unless File.file?(".env.dependencies")
|
39
|
+
filename = File.file?(".env.dependencies") && ".env.dependencies#{environment == "rspec" && ".rspec" || ""}" || ".env.dependencies.rspec"
|
40
|
+
File.open(filename).read.each_line do |line|
|
39
41
|
line.strip!
|
40
42
|
param, _value = line.split("=")
|
41
43
|
parameter param.to_sym,
|