aws-ec2 0.8.3 → 0.8.4

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 4780c822aef006f9c4720bb069a2d81accea2f56b3a97e7e3598500cab748436
4
- data.tar.gz: bd5aa36b830c6e89a88d60bccecaf411bc5c24dbba6ccb46a8a5e2ad172dd616
3
+ metadata.gz: 7ecc2b042e1fabbb3a4a343edb5766601a51e54259f5029c19d37f93ebed7443
4
+ data.tar.gz: d0a388114c37362c2f8b1590f71d1e2d16d54dee0631bd36a42c9f5ed89fd877
5
5
  SHA512:
6
- metadata.gz: cc28865e6b2e57e535b5634d00b2314443b07716920b774901111b65018c3df41d6f54fc135c29b8f82a43857745923b7933bdeed8f62c2b64772d2d6b32f06f
7
- data.tar.gz: f913d913014d2c8382901958fc98a139aa092c60d0cce84a8d51e867f68cd740171e9c76e5fd79c7e7055477fd2a67f284f0fb6d5c654e09390a3cc83e445100
6
+ metadata.gz: c77a9ba413bec00c46b387370df141d10e64286ac94689c194437ff0aeecd3e8ccfbcb50a548549090344df3628affe8210014a4c902e40466da4360cc66bb6a
7
+ data.tar.gz: 63e9c1864910f2a8c7d57a7005e64297272e6c1764642c29ba55fde4722073d46fd854a5f6afe7f08763e47f9d454e66fafdd790ff4599660dc02a1723738a67
data/.gitignore CHANGED
@@ -6,7 +6,6 @@
6
6
  InstalledFiles
7
7
  _yardoc
8
8
  coverage
9
- doc/
10
9
  lib/bundler/man
11
10
  pkg
12
11
  rdoc
data/CHANGELOG.md CHANGED
@@ -3,6 +3,12 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  This project *tries* to adhere to [Semantic Versioning](http://semver.org/), even before v1.0.
5
5
 
6
+ ## [0.8.4]
7
+ - add doc/example
8
+ - rename to commands to compile and upload
9
+ - rename to core_helper, only require specfic activesupport dependencies
10
+ - generate user-data in tmp/user-data.txt instead
11
+
6
12
  ## [0.8.3]
7
13
  - change compile_keep to compile_clean option instead
8
14
 
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- aws-ec2 (0.5.1)
4
+ aws-ec2 (0.8.3)
5
5
  activesupport
6
6
  aws-sdk-ec2
7
7
  colorize
data/README.md CHANGED
@@ -1,10 +1,10 @@
1
1
  # AWS EC2 Tool
2
2
 
3
- Simple tool to create AWS ec2 instances consistently with pre-configured settings. The pre-configured settings are stored in the profiles folder of the current directory.
3
+ Simple tool to create AWS ec2 instances consistently with pre-configured settings. The pre-configured settings are stored in the profiles folder of the current project directory.
4
4
  Example:
5
5
 
6
- * profiles/default.yml: default settings. used when no profile is specified.
7
- * profiles/myserver.yml: myserver settings.
6
+ * profiles/default.yml: Default settings. Used when no profile is specified.
7
+ * profiles/myserver.yml: myserver profile. Used when `--profile myserver` is specified.
8
8
 
9
9
  ## Usage
10
10
 
@@ -12,55 +12,62 @@ Example:
12
12
  aws-ec2 create myserver --profile myserver
13
13
  ```
14
14
 
15
- In a nutshell, the profile parameters are passed to the ruby aws-sdk [AWS::EC2::Client#run_instances](https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/EC2/Client.html#run_instances-instance_method) method. So you can specify any parameter you wish that is available there. To check out what a profile looks like look at the [example default](example/profiles/default.yml)
15
+ In a nutshell, the profile parameters are passed to the ruby aws-sdk [AWS::EC2::Client#run_instances](https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/EC2/Client.html#run_instances-instance_method) method. This allows you to specify any parameter you wish that is available in the aws-sdk. To check out what a profile looks like check out [example default](example/profiles/default.yml)
16
16
 
17
- You can use ERB in the profile files. Some useful helper methods in the profile files are documented here:
17
+ You can use ERB in the profile files. Some useful helper methods are documented here:
18
18
 
19
19
  Helper | Description
20
20
  ------------- | -------------
21
- user_data | Allows you to embed a generated user_data script. More details on the are provided in the user data section below.
22
- config | Access to the variables set in config/[AWS_EC2_ENV].yml.
23
- latest_ami | Returns an AMI id by searching the ami name pattern and sorting in reverse older. Example: `latest_ami("ruby-2.5.0_*")`
21
+ user_data | Allows you to embed a generated user_data script. More details on the user-data are provided in the user data section below.
22
+ config | Access to the variables set in config/[AWS_EC2_ENV].yml. Examples are `config/development.yml`, `config/staging.yml`, and `config/production.yml`.
23
+ latest_ami | Returns an AMI id by searching the ami name pattern and sorting in reverse older. Example: `latest_ami("ruby-2.5.0_*")` would return the latest ruby AMIs are named with timestamps at the end like so: `ruby-2.5.0_2018-01-30-05-36-02` and `ruby-2.5.0_2018-01-29-05-36-02`.
24
24
  search_ami | Returns a collection of AMI image objects based on a search pattern. The query searches on the AMI name.
25
25
 
26
26
  For a full list of all the template helpers checkout: [aws_ec2/template_helper](lib/aws_ec2/template_helper).
27
27
 
28
- You can also define your own custom helpers in the `app/helpers` folder as ruby modules with the naming convention `'*_helper.rb`. Example, the module FooHelper should be defined in `app/helpers/foo_helper.rb`. The custom helpers are first class citizens and have access to the same variables and methods as built in helpers.
28
+ You can also define custom helpers in the `app/helpers` folder as ruby modules with the naming convention `*_helper.rb`. Example, you would define a `module FooHelper` in `app/helpers/foo_helper.rb`. Custom helpers are first-class citizens and have access to the same variables, methods and scope as built-in helpers.
29
29
 
30
30
  ## Noop mode
31
31
 
32
- You can do a test run with the `--noop` flag. This will print out what settings will be used to launch the instance. This is a good way to inspect the generated user-data script.
32
+ You can do a test run with the `--noop` flag. This will print out what settings will be used to launch the instance. This is one good way to inspect the generated user-data script.
33
33
 
34
34
  ```sh
35
35
  aws-ec2 create myserver --profile myserver --noop
36
+ cat tmp/user-data.txt # to view generated user-data script
36
37
  ```
37
38
 
38
39
  ## Project Structure
39
40
 
40
41
  Directory | Description
41
42
  ------------- | -------------
42
- app/helpers | Your own custom helpers methods. Define them in modules and the methods made available to your `config`, `profiles`, `app/scripts`, `app/user-data` files.
43
- app/partials | Your partials that can be use to be included in other scripts. This is used in conjunction with the partial helper method.
44
- app/scripts | Where you define common scripts that can be used to configure the server.
43
+ app/helpers | Custom helpers methods. Define them as modules and their methods available whenever ERB is available: `config`, `profiles`, `app/scripts`, `app/user-data` files, etc. Example, you would define a `module FooHelper` in `app/helpers/foo_helper.rb`.
44
+ app/partials | Your partials that can be use to be included in other scripts. This is used in conjunction with the `partial` helper method.
45
+ app/scripts | Where you define common scripts that can be used to configure the server. These scripts can be automatically uploaded to an s3 bucket for later downloading in your user-data script by setting the `scripts_s3_bucket` config option.
45
46
  app/user-data | Your user-data scripts that are used to bootstrap EC2 instance.
46
- config/[AWS_EC2_ENV].yml | AWS_EC2_ENV can be development, staging or production. Use this config file to set configs that you want available in your templating logic.
47
+ config/[AWS_EC2_ENV].yml | The config file where you set configs that you want available in your templating logic. Examples are: `config/development.yml`, `config/staging.yml`, or `config/production.yml`. You access the config with the `<%= config["var"] %>` helper.
47
48
  profiles | Your profile files. These files mainly contain parameters that are passed to the aws-sd2 run_instances API.
48
- tmp | Where the generated scripts get compiled to. You can manually invoke the complilation via `aws-ec2 compile`.
49
+ tmp | Where the generated scripts get compiled to. You can manually invoke the complilation via `aws-ec2 compile` if you wish to inspect what is generated, though this is automatically done as part of the `aws-ec2` create command.
49
50
 
50
51
  ## User-Data
51
52
 
52
- You can provide user-data script to customize the server upon launch. The user-data scripts are under the `app/user-data` folder.
53
+ You can provide a user-data script to customize the server upon launch. The user-data scripts are located under the `app/user-data` folder. Example:
53
54
 
54
55
  * app/user-data/myserver.yml
55
56
 
56
- The user-data script is generated on the machine that is running the aws-ec2 command. If this is your local macosx machine, then the context is your local macosx machine is available. To see the generated user-data script, you can use the run the create command in noop mode and then inspect the generated script. Example:
57
+ The user-data script is generated on the machine that is running the aws-ec2 command. If this is your local macosx machine, then the context of your local macosx machine is available. To see the generated user-data script, you can use the run the create command in noop mode and then inspect the generated script. Example:
57
58
 
58
59
  ```sh
59
- aws create myserver --noop
60
+ aws-ec2 create myserver --noop
60
61
  cat /tmp/aws-ec2/user-data.txt
61
62
  ```
62
63
 
63
- To use the user-data script when creating an EC2 instance, you can use the helper method in the profile. Here's a grep of a profile that users the helper:
64
+ Another way of viewing the generated user-data scripts is the `aws-ec2 compile` command. It generates the files in the tmp folder. Example:
65
+
66
+ ```
67
+ aws-ec2 compile # generates files in tmp folder
68
+ ```
69
+
70
+ To use the user-data script when creating an EC2 instance, you use the `user_data` helper method in the profile. Here's a grep of an example profile that uses the helper to show you want it looks like:
64
71
 
65
72
  ```
66
73
  $ grep user_data profiles/default.yml
@@ -69,7 +76,7 @@ user_data: "<%= user_data("bootstrap") %>"
69
76
 
70
77
  ### Config
71
78
 
72
- You can set a config file and define variables in there that are available to in your profiles and user_data scripts. Example `config/development.yml`:
79
+ You can set variables in a config file and they are available when ERB is available, which are your profiles, user_data, scripts, etc. Example `config/development.yml`:
73
80
 
74
81
  ```yaml
75
82
  ---
@@ -81,13 +88,11 @@ db_subnet_group_name: default
81
88
  security_group_ids:
82
89
  - sg-123
83
90
  scripts_s3_bucket: mybucket # enables s3 uploading of generated app/scripts
84
- # compile_clean: true # uncomment if you want to automatically clean the
85
- # compiled scripts in tmp that aws-ec2 creates
91
+ # compile_clean: true # uncomment to automatically remove the
92
+ # compiled scripts in tmp after aws-ec2 create
86
93
  ```
87
94
 
88
- The variables are accessible via the `config` helper method. Example (only showing the part of the profile), `profiles/default.yml`:
89
-
90
- The `scripts_s3_bucket` is an option that changes the behavior of aws-ec2 to automatically sync the generated scripts from app/scripts to the s3 bucket right before the internal call to run_instances to launch the instance. If you need more custom logic, look at the hooks section.
95
+ The variables are accessed via the `config` helper method. Here's a filtered example where it shows shows the relevant part of a profile: `profiles/default.yml`:
91
96
 
92
97
  ```yaml
93
98
  image_id: ami-4fffc834 # Amazon Lambda AMI
@@ -97,6 +102,14 @@ subnet_id: <%= config["subnets"].shuffle %>
97
102
  ...
98
103
  ```
99
104
 
105
+ #### Config Options
106
+
107
+ There are some config options that change the behavior of the ec2-aws:
108
+
109
+ Option | Description
110
+ --- | ---
111
+ scripts_s3_bucket | Set this to the bucket name where you want the generated scripts in app/scripts and app/user-data to be automatically sync. The sync happens right before the the internal call to run_instances that launches the instance. If you need more custom logic, you can use the `before_run_instances` hook, covered in the Hooks section.
112
+
100
113
  ## Dotenv File Support
101
114
 
102
115
  You can set and configure environment variables in `.env*` files. Examples of this is in the [doc/example](doc/example) project.
@@ -110,19 +123,23 @@ There is only one hook: before_run_instances. You can configure this with `conf
110
123
  before_run_instances: /path/to/my/script.sh
111
124
  ```
112
125
 
126
+ This will run `/path/to/my/script.sh` as a shelled out command before the `run_instances` call.
127
+
113
128
  ## AMI Creation
114
129
 
115
- To create AMIs you can use the `aws-ec2 ami` command. This command will run launch an EC2 instance with one of the profiles and create an AMI after the user-data script completes successfully. It does this by adding an AMI creation script at the end of the user-data script. It is recommended to use the `set -e` option so that any error halts the script and the AMI does not get created.
130
+ To create AMIs you can use the `aws-ec2 ami` command. This command launches an EC2 instance with the specified profile and create an AMI after the user-data script completes successfully. It does this by adding an AMI creation script at the end of the user-data script. It is recommended to use the `set -e` option so that any error halts the script and the AMI does not get created.
116
131
 
117
132
  After the AMI is created successfully, the instance will also terminate itself automatically so you do not have to worry about cleanup. For more help run `aws-ec2 ami help`.
118
133
 
119
134
  ## Spot Instance Support
120
135
 
121
- Spot instance support natively supported by the AWS run_instances command. Simply add `instance_market_options` to the parameters to request for a spot instance. The available spot market options are available here:
136
+ Spot instance is natively supported by the AWS run_instances command. So, simply add `instance_market_options` to the parameters to request for a spot instance. The available spot market options are available here:
122
137
 
123
138
  * [https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_LaunchTemplateSpotMarketOptionsRequest.html](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_LaunchTemplateSpotMarketOptionsRequest.html)
124
139
  * [https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/EC2/Types/SpotMarketOptions.html](https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/EC2/Types/SpotMarketOptions.html)
125
140
 
141
+ An example of a spot instance profile is provided in [doc/example/profiles/spot.yml](doc/example/profiles/spot.yml).
142
+
126
143
  ## More Help
127
144
 
128
145
  ```sh
data/doc/example/.env ADDED
@@ -0,0 +1,2 @@
1
+ # Example .env, meant to be updated.
2
+ # Variables in here are available and shared across all environments: development, production, etc.
@@ -0,0 +1,2 @@
1
+ # Example .env.development, meant to be updated.
2
+ ENV_DEVELOPMENT_KEY=example1
@@ -0,0 +1,3 @@
1
+ # Example .env.production, meant to be updated.
2
+ # This file is normally .gitignore.
3
+ MYKEY=example1
@@ -0,0 +1,3 @@
1
+ #!/bin/bash -exu
2
+
3
+ echo "hello world"
@@ -0,0 +1,47 @@
1
+ #!/bin/bash -exu
2
+
3
+ exec > >(tee "/var/log/user-data.log" | logger -t user-data -s 2>/dev/console) 2>&1
4
+ export HOME=/root # user-data env runs in weird shell where user is root but HOME is not set
5
+ <% pubkey_path = "#{ENV['HOME']}/.ssh/id_rsa.pub" -%>
6
+ <% if File.exist?(pubkey_path) -%>
7
+ <% pubkey = IO.read(pubkey_path).strip -%>
8
+ # Automatically add user's public key
9
+ echo <%= pubkey %> >> ~/.ssh/authorized_keys
10
+ echo <%= pubkey %> >> /home/ec2-user/.ssh/authorized_keys
11
+ chown ec2-user:ec2-user /home/ec2-user/.ssh/authorized_keys
12
+ <% else %>
13
+ # WARN: unable to find a ~/.ssh/id_rsa.pub locally on your machine. user: <%= ENV['USER'] %>
14
+ # Unable to automatically add the public key
15
+ <% end -%>
16
+
17
+ sudo yum install -y postgresql
18
+
19
+ # https://gist.github.com/juno/1330165
20
+ # Install developer tools
21
+ yum install -y git gcc make readline-devel openssl-devel
22
+
23
+ # Install ruby-build system-widely
24
+ git clone git://github.com/sstephenson/ruby-build.git /tmp/ruby-build
25
+ cd /tmp/ruby-build
26
+ ./install.sh
27
+ echo 'export PATH="/usr/local/bin:$PATH"' >> ~/.bashrc
28
+
29
+ # Install rbenv for root
30
+ git clone git://github.com/sstephenson/rbenv.git ~/.rbenv
31
+ echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bashrc
32
+ echo 'eval "$(rbenv init -)"' >> ~/.bashrc
33
+ set +u
34
+ source ~/.bashrc
35
+ set -u
36
+
37
+ # Install and enable ruby
38
+ rbenv install 2.5.0
39
+
40
+ # Install ruby for ec2-user also
41
+ cp -R ~/.rbenv /home/ec2-user/
42
+ chown -R ec2-user:ec2-user /home/ec2-user/.rbenv
43
+ echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> /home/ec2-user/.bashrc
44
+ echo 'eval "$(rbenv init -)"' >> /home/ec2-user/.bashrc
45
+ echo '2.5.0' > /home/ec2-user/.ruby-version
46
+
47
+ uptime | tee /var/log/boot-time.log
@@ -0,0 +1,8 @@
1
+ ---
2
+ vpc_id: vpc-111
3
+ subnets:
4
+ - subnet-111
5
+ - subnet-222
6
+ - subnet-333
7
+ security_group_ids:
8
+ - sg-111
@@ -0,0 +1,11 @@
1
+ ---
2
+ image_id: ami-97785bed
3
+ instance_type: t2.medium
4
+ key_name: default
5
+ max_count: 1
6
+ min_count: 1
7
+ security_group_ids: <%= config["security_group_ids"] %>
8
+ subnet_id: <%= config["subnets"].shuffle.first %>
9
+ user_data: "<%= user_data("bootstrap") %>"
10
+ iam_instance_profile:
11
+ name: IAMProfileName
@@ -0,0 +1,20 @@
1
+ ---
2
+ image_id: ami-97785bed
3
+ instance_type: t2.medium
4
+ key_name: default
5
+ max_count: 1
6
+ min_count: 1
7
+ security_group_ids:
8
+ - sg-111
9
+ subnet_id: <%= %w[subnet-111 subnet-222].shuffle.first %>
10
+ user_data: "<%= user_data("dev") %>"
11
+ iam_instance_profile:
12
+ name: IAMProfileName
13
+ instance_market_options:
14
+ market_type: spot
15
+ # https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_LaunchTemplateSpotMarketOptionsRequest.html
16
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/EC2/Types/SpotMarketOptions.html
17
+ spot_options:
18
+ max_price: "0.02"
19
+ spot_instance_type: one-time
20
+ # instance_interruption_behavior: hibernate
data/lib/aws_ec2/cli.rb CHANGED
@@ -19,16 +19,16 @@ module AwsEc2
19
19
  Ami.new(options.merge(name: name)).run
20
20
  end
21
21
 
22
- desc "compile_scripts", "compiles app/scripts and app/user-data to tmp folder"
23
- long_desc Help.text(:compile_scripts)
24
- def compile_scripts
22
+ desc "compile", "compiles app/scripts and app/user-data to tmp folder"
23
+ long_desc Help.text(:compile)
24
+ def compile
25
25
  Script::Compile.new(options).compile
26
26
  end
27
27
 
28
- desc "upload_scripts", "compiles and uploads scripts to s3"
29
- long_desc Help.text(:upload_scripts)
28
+ desc "upload", "compiles and uploads scripts to s3"
29
+ long_desc Help.text(:upload)
30
30
  option :compile, type: :boolean, default: true, desc: "compile scripts before uploading"
31
- def upload_scripts
31
+ def upload
32
32
  Script::Upload.new(options).upload
33
33
  end
34
34
  end
@@ -69,7 +69,7 @@ module AwsEc2
69
69
  data = data.deep_stringify_keys
70
70
 
71
71
  if data["user_data"]
72
- message = "base64-encoded: cat /tmp/aws-ec2/user-data.txt to view"
72
+ message = "base64-encoded: cat tmp/user-data.txt to view"
73
73
  data["user_data"] = message
74
74
  end
75
75
 
@@ -29,7 +29,7 @@ class AwsEc2::Create
29
29
  end
30
30
 
31
31
  def cleanup
32
- FileUtils.rm_f("/tmp/aws-ec2/user-data.txt")
32
+ FileUtils.rm_f("#{AwsEc2.root}/tmp/user-data.txt")
33
33
  end
34
34
 
35
35
  # Adds instance ec2 tag if not already provided
@@ -1,5 +1,5 @@
1
1
  Examples:
2
2
 
3
- $ aws-ec2 compile_scripts
3
+ $ aws-ec2 compile
4
4
 
5
5
  Compiles app/scripts and app/user-data files to the tmp folder. Useful for inspection.
@@ -2,6 +2,6 @@ Examples:
2
2
 
3
3
  $ aws-ec2 create my-instance
4
4
 
5
- To see the snippet of code that gets added to the user-data script you can use the `--noop` option and then view the generated /tmp/aws-ec2/user-data.txt.
5
+ To see the snippet of code that gets added to the user-data script you can use the `--noop` option and then view the generated tmp/user-data.txt.
6
6
 
7
7
  $ aws-ec2 create myscript --noop
@@ -1,6 +1,6 @@
1
1
  Examples:
2
2
 
3
- $ aws-ec2 upload_scripts
3
+ $ aws-ec2 upload
4
4
 
5
5
  Compiles the app/scripts and app/user-data files to the tmp folder. Then uploads the files to an s3 bucket that is configured in config/[AWS_EC2_ENV].yml. Example scripts_s3_bucket config:
6
6
 
@@ -1,6 +1,6 @@
1
1
  require 'fileutils'
2
2
 
3
- # Class for aws-ec2 compile_scripts command
3
+ # Class for aws-ec2 compile command
4
4
  class AwsEc2::Script
5
5
  class Compile < AwsEc2::Base
6
6
  include AwsEc2::TemplateHelper
@@ -1,6 +1,6 @@
1
1
  require 'fileutils'
2
2
 
3
- # Class for aws-ec2 upload_scripts command
3
+ # Class for aws-ec2 upload command
4
4
  class AwsEc2::Script
5
5
  class Upload < AwsEc2::Base
6
6
  def initialize(options={})
@@ -1,4 +1,5 @@
1
- require "active_support/all"
1
+ require "active_support" # for autoload
2
+ require "active_support/core_ext/string"
2
3
 
3
4
  module AwsEc2
4
5
  module TemplateHelper
@@ -1,7 +1,7 @@
1
1
  require "base64"
2
2
  require "erb"
3
3
 
4
- module AwsEc2::TemplateHelper::Core
4
+ module AwsEc2::TemplateHelper::CoreHelper
5
5
  def user_data(name, base64=true)
6
6
  # allow user to specify the path also
7
7
  if File.exist?(name)
@@ -13,7 +13,7 @@ module AwsEc2::TemplateHelper::Core
13
13
  result = append_scripts(result)
14
14
 
15
15
  # save the unencoded user-data script for easy debugging
16
- temp_path = "/tmp/aws-ec2/user-data.txt"
16
+ temp_path = "#{AwsEc2.root}/tmp/user-data.txt"
17
17
  FileUtils.mkdir_p(File.dirname(temp_path))
18
18
  IO.write(temp_path, result)
19
19
 
@@ -1,3 +1,3 @@
1
1
  module AwsEc2
2
- VERSION = "0.8.3"
2
+ VERSION = "0.8.4"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: aws-ec2
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.8.3
4
+ version: 0.8.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Tung Nguyen
@@ -197,6 +197,14 @@ files:
197
197
  - README.md
198
198
  - Rakefile
199
199
  - aws-ec2.gemspec
200
+ - doc/example/.env
201
+ - doc/example/.env.development
202
+ - doc/example/.env.production
203
+ - doc/example/app/scripts/hello.sh
204
+ - doc/example/app/user-data/bootstrap.sh
205
+ - doc/example/config/development.yml
206
+ - doc/example/profiles/default.yml
207
+ - doc/example/profiles/spot.yml
200
208
  - exe/aws-ec2
201
209
  - lib/aws-ec2.rb
202
210
  - lib/aws_ec2/ami.rb
@@ -211,9 +219,9 @@ files:
211
219
  - lib/aws_ec2/dotenv.rb
212
220
  - lib/aws_ec2/help.rb
213
221
  - lib/aws_ec2/help/ami.md
214
- - lib/aws_ec2/help/compile_scripts.md
222
+ - lib/aws_ec2/help/compile.md
215
223
  - lib/aws_ec2/help/create.md
216
- - lib/aws_ec2/help/upload_scripts.md
224
+ - lib/aws_ec2/help/upload.md
217
225
  - lib/aws_ec2/hook.rb
218
226
  - lib/aws_ec2/profile.rb
219
227
  - lib/aws_ec2/script.rb
@@ -223,7 +231,7 @@ files:
223
231
  - lib/aws_ec2/scripts/auto_terminate.sh
224
232
  - lib/aws_ec2/template_helper.rb
225
233
  - lib/aws_ec2/template_helper/ami_helper.rb
226
- - lib/aws_ec2/template_helper/core.rb
234
+ - lib/aws_ec2/template_helper/core_helper.rb
227
235
  - lib/aws_ec2/template_helper/partial_helper.rb
228
236
  - lib/aws_ec2/version.rb
229
237
  - spec/fixtures/demo_project/config/test.yml