jack-eb 1.3.0 → 1.4.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (45) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +5 -0
  3. data/CONTRIBUTING.md +56 -0
  4. data/README.md +39 -150
  5. data/docs/CNAME +1 -1
  6. data/docs/README.md +1 -1
  7. data/docs/_config.yml +3 -2
  8. data/docs/_docs/conventions.md +48 -0
  9. data/docs/_docs/install.md +9 -3
  10. data/docs/_docs/jack-apply.md +13 -6
  11. data/docs/_docs/jack-create.md +6 -4
  12. data/docs/_docs/jack-deploy.md +5 -3
  13. data/docs/_docs/jack-diff.md +10 -2
  14. data/docs/_docs/jack-get.md +25 -4
  15. data/docs/_docs/jack-help.md +22 -0
  16. data/docs/_docs/jack-terminate.md +4 -2
  17. data/docs/_docs/next-steps.md +4 -3
  18. data/docs/_docs/settings.md +70 -0
  19. data/docs/_docs/structure.md +5 -3
  20. data/docs/_docs/tutorial.md +4 -2
  21. data/docs/_includes/about.html +2 -2
  22. data/docs/_includes/css/jack.css +10 -0
  23. data/docs/_includes/edit-on-github.html +1 -1
  24. data/docs/_includes/footer.html +3 -2
  25. data/docs/_includes/google_analytics.html +10 -0
  26. data/docs/_includes/header.html +2 -2
  27. data/docs/_includes/js.html +4 -0
  28. data/docs/_includes/nav.html +1 -1
  29. data/docs/_includes/subnav.html +26 -23
  30. data/docs/articles.md +2 -0
  31. data/docs/docs.md +5 -3
  32. data/docs/img/logos/jack-logo.png +0 -0
  33. data/docs/js/nav.js +20 -13
  34. data/docs/quick-start.md +3 -1
  35. data/lib/jack/default/settings.yml +1 -1
  36. data/lib/jack/deploy.rb +1 -2
  37. data/lib/jack/settings.rb +1 -1
  38. data/lib/jack/ui.rb +1 -1
  39. data/lib/jack/util.rb +3 -3
  40. data/lib/jack/version.rb +1 -1
  41. data/spec/lib/cli_spec.rb +4 -4
  42. data/spec/lib/eb_config/create_spec.rb +1 -1
  43. data/spec/lib/settings_spec.rb +2 -2
  44. metadata +7 -3
  45. data/docs/screenshot.png +0 -0
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 35033b3491aacbbc133d70a83cb0347e3a61518e
4
- data.tar.gz: 224f5f929c0d055d62dff3a3e58b14ff68bd6d2d
3
+ metadata.gz: 96d7ba0d66a46632ba581171a490b72cf0f1a175
4
+ data.tar.gz: 70bbd49ab108937debcb4e701224422d75cca808
5
5
  SHA512:
6
- metadata.gz: aa180a5634c0862e3068f6692e065b1f102fb0948a51c800a1e1183682c96a83658dcfd15f0b9296b1b4b4e4a5e56d2d6dde9c4abaace5a4e8ccb79b2621bd32
7
- data.tar.gz: b2cca38a575b4837cdfbd8d7eafaa9029fc1ab9a9f78bf98fe1682c253d6cea9cf789f5647006b7f7c54f6108e191e4efb18850baab65a73e9a3816ee1b6196f
6
+ metadata.gz: d55be4caa29ab9f488b9c59290f63bca4cea6ee32ad672c393bd187bfb4dd4adc9561f7aff15e0ac583e5c787a7b938908dd4167ff9199475057e25c830caef4
7
+ data.tar.gz: 82a0fdb9d77530c04be1f65dacdd63e088ca1e4518e8e19f9c699d83723384bc99f09d062981546e604cd823c7616699affa9a7fb5ca04988745f3bd50150972
@@ -3,6 +3,11 @@
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
+ ## [1.4.0]
7
+ * fix jack deploy, remove debugging
8
+ * fix embedded_eb lookup
9
+ * add docs
10
+
6
11
  ## [1.3.0]
7
12
  - flatten cli interface: jack config apply -> jack apply
8
13
 
@@ -0,0 +1,56 @@
1
+ # Contributing to Lono
2
+
3
+ Contributing is welcomed and encouraged. We love pull requests!
4
+
5
+ Here are some ways *you* can contribute:
6
+
7
+ * by reporting bugs
8
+ * by suggesting new features
9
+ * by writing or editing documentation
10
+ * by writing specs
11
+ * by writing code ( **no patch is too small** : fix typos, add comments, clean up inconsistent whitespace )
12
+ * by refactoring code
13
+ * by closing [issues][]
14
+ * by reviewing patches
15
+
16
+ [issues]: https://github.com/tongueroo/jack/issues
17
+
18
+ ## Submitting an Issue
19
+
20
+ * We use the [GitHub issue tracker][issues] to track bugs and features.
21
+ * Before submitting a bug report or feature request, check to make sure it hasn't
22
+ already been submitted.
23
+ * When submitting a bug report, please include a [Gist][] that includes a stack
24
+ trace and any details that may be necessary to reproduce the bug, including
25
+ your gem version, Ruby version, and operating system. Ideally, a bug report
26
+ should include a pull request with failing specs.
27
+
28
+ [gist]: https://gist.github.com/
29
+
30
+ ## Cleaning up issues
31
+
32
+ * Issues that have no response from the submitter will be closed after 30 days.
33
+ * Issues will be closed once they're assumed to be fixed or answered. If the
34
+ maintainer is wrong, it can be opened again.
35
+ * If your issue is closed by mistake, please understand and explain the issue.
36
+ We will happily reopen the issue.
37
+
38
+ ## Submitting a Pull Request
39
+ 1. [Fork][fork] the [official repository][repo].
40
+ 2. [Create a topic branch.][branch]
41
+ 3. Implement your feature or bug fix.
42
+ 4. Add, commit, and push your changes.
43
+ 5. [Submit a pull request.][pr]
44
+
45
+ ## Notes
46
+ * Please add tests if you changed code. Contributions without tests won't be accepted.
47
+ * If you don't know how to add tests, please put in a PR and leave a comment
48
+ asking for help. We love helping!
49
+ * Please don't update the Gem version.
50
+
51
+ [repo]: https://github.com/tongueroo/jack/tree/master
52
+ [fork]: https://help.github.com/articles/fork-a-repo/
53
+ [branch]: https://help.github.com/articles/creating-and-deleting-branches-within-your-repository/
54
+ [pr]: https://help.github.com/articles/using-pull-requests/
55
+
56
+ Inspired by https://github.com/middleman/middleman-heroku/blob/master/CONTRIBUTING.md
data/README.md CHANGED
@@ -4,63 +4,43 @@
4
4
  [![CircleCI](https://circleci.com/gh/tongueroo/jack.svg?style=svg)](https://circleci.com/gh/tongueroo/jack)
5
5
  [![Code Climate](https://codeclimate.com/github/tongueroo/jack/badges/gpa.svg)](https://codeclimate.com/github/tongueroo/jack)
6
6
  [![Test Coverage](https://codeclimate.com/github/tongueroo/jack/badges/coverage.svg)](https://codeclimate.com/github/tongueroo/jack)
7
+ [![Join the chat at https://gitter.im/tongueroo/jack](https://badges.gitter.im/tongueroo/jack.svg)](https://gitter.im/tongueroo/jack?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
8
+ [![Support](https://img.shields.io/badge/get-support-blue.svg)](https://boltops.com?utm_source=badge&utm_medium=badge&utm_campaign=jack)
7
9
 
8
- The documentation for this tool is at [jackandtheelasticbeanstalk.com](http://jackandtheelasticbeanstalk.com).
9
10
 
10
- Jack is a wrapper tool around the [aws eb cli3](http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/eb-cli3.html) tool use for managing AWS Elastic Beanstalk, EB, environments. It allows you to create environments using the saved template configuration file generated by `eb config save`. Jack moves the config file to the jack/cfg folder of your project and manages the the config files from there.
11
+ Jack allows you to easily manage your AWS Elastic Beanstalk Jack environments.
11
12
 
12
- Jack provides a `jack config apply` command to update the EB environment. Before uploading the new configuration to EB jack first downloads the current configuration and then does a diff on the changes that are about to be applied. This gives a very helpful preview of exactly what you are intending to change. This particularly helpful when changes are made through the EB GUI and are out of sync with what is stored in the `jack/cfg` files.
13
+ Jack provides a `jack apply` command to update the Elastic Beanstalk environment. Before uploading the new configuration Elastic Beanstalk jack first downloads the current configuration and then does a diff on the changes that are about to be applied. This gives a preview of exactly what will be changed. This is particularly helpful when changes are made through the EB GUI and are out of sync with what is stored in the downloaded `jack/cfg` files.
13
14
 
15
+ See [jack-eb.com](http://jack-eb.com) for full documentation.
14
16
 
15
-
16
- This blog post also provides a good introduction and shows some useful examples of what you can do with the jack tool: [Jack and the Elastic Beanstalk — Tool to Manage AWS Elastic Beanstalk Environments](https://medium.com/@tongueroo/jack-and-the-elastic-beanstalk-easily-manage-aws-environments-3ab496f08ad2#.o7w3x0yd9).
17
-
18
- For things that this tool does not cover like deploying code, it is recommended that you use use the underlying aws `eb` tool directly. `eb deploy` provides a good deploy command already. This tool has been tested with `EB CLI 3.8.3 (Python 2.7.1)`.
17
+ This blog post also provides a good introduction and shows off useful examples of what you can do with the jack tool: [Jack and the Elastic Beanstalk — Tool to Manage AWS Elastic Beanstalk Environments](https://medium.com/@tongueroo/jack-and-the-elastic-beanstalk-easily-manage-aws-environments-3ab496f08ad2#.o7w3x0yd9).
19
18
 
20
19
  ## Use Cases
21
20
 
22
- * Downloading EB config to codified the EB infrastructure that has been built.
23
- * Allowing safe applying of new configs since the preview feature allows you to inspect the changes before actually applying the configuration.
24
- * Moving EB enviroments from one EB application to another EB application. EB provides a way to clone environments within an application but not to another entire application. This is useful if you want to "rename" the EB application.
21
+ * Allows codification of the infrastructure by downloading the configuration. You can save the downloaded configs into version control.
22
+ * Safely upload new configs by previewing the changes before actually uploading and applying the configuration to the infrastructure.
23
+ * Moving EB enviroments from one EB application to another EB application. EB provides a way to clone environments within an application but is unable to move the enivornment to an entirely new application. This is useful if you want to "rename" the EB application.
25
24
 
26
25
  ## Installation
27
26
 
28
- ```
29
- $ gem install jack-eb
30
- ```
31
-
32
- Note that the gem is called jack-eb but the actual command that is installed is called `jack`.
33
-
34
- ### Setup
35
-
36
- If the version of `eb` that you are using is not working with jack, here is a way to install the specific version jack has been tested with.
37
-
38
- <pre>
39
- cd ~/ && wget https://pypi.python.org/packages/source/a/awsebcli/awsebcli-3.8.3.tar.gz
40
- tar -zxvf awsebcli-3.8.3.tar.gz
41
- cd awsebcli-3.8.3
42
- sudo python setup.py install
43
- </pre>
44
-
45
- More detail instructions are on [AWS EB Documentation](http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/eb-cli3-getting-set-up.html).
27
+ If you want to quickly install jack without having to worry about jack’s dependencies you can simply install the Bolts Toolbelt which has jack included.
46
28
 
47
- I typically install the `eb` cli tool with homebrew.
29
+ ```sh
30
+ brew cask install boltopslabs/software/bolts
31
+ ```
48
32
 
49
- <pre>
50
- brew update
51
- brew install awsebcli
52
- </pre>
33
+ Or if you prefer you can install ufo with RubyGems
53
34
 
54
- You will also need to set up your environment with your aws access keys since the tool also uses the aws-sdk. Add the following to your ~/.profile, replacing xxx with your actually credentials. Do not forgot to source the ~/.profile or open up a new terminal.
35
+ ```sh
36
+ gem install jack-eb
37
+ ```
55
38
 
56
- <pre>
57
- export AWS_ACCESS_KEY_ID=xxx
58
- export AWS_SECRET_ACCESS_KEY=xxx
59
- </pre>
39
+ Note that the gem is called jack-eb but the actual command that is installed is called `jack`. If you are installing jack with RubyGems you will need to handle installing the additional dependencies yourself.
60
40
 
61
- ## Usage
41
+ Full installation instructions are on the [Installation docs](http://jack-eb.com/docs/install/).
62
42
 
63
- ### Conventions
43
+ ## Conventions
64
44
 
65
45
  Before using the tool, it is good to know that jack follows a convention for the environment and application name. This is done in order to keep the jack commands simple and short. The convention is:
66
46
 
@@ -76,121 +56,30 @@ environment_name: hi-web-prod
76
56
  application_name: hi
77
57
  </pre>
78
58
 
79
- The example above means the EB application name will be `hi` and the environment name will be `hi-web-prod`. By convention, the first word, separated by a '-', of the environment name is the application name.
80
-
81
- This convention can be overridden easily via by creating a `~/.jack/settings.yml` or `jack/settings.yml` within the project and defining your own regular expression with the `conventions.app_name_pattern` key. The regexp is a ruby regexp and must have 1 capture group. The capture group is used to determine the application name. Here is an example:
82
-
83
- ```yaml
84
- create:
85
- keyname: default
86
- platform: "64bit Amazon Linux 2016.09 v2.2.0 running Docker 1.11.2"
87
- conventions:
88
- app_name_pattern: !ruby/regexp /\w+-(\w+)-\w+/
89
- ```
90
-
91
- In the example above, the capture group is the second word and this will result in:
92
-
93
- <pre>
94
- environment_name: prod-hi-web
95
- application_name: hi
96
- </pre>
97
-
98
-
99
- The default setting is located at [lib/jack/default/settings.yml](https://github.com/tongueroo/jack/blob/master/lib/jack/default/settings.yml).
100
-
101
- You can also override the application name convention from the cli with the `--app` flag. Examples are provided below.
102
-
103
- ### Creating Environments
104
-
105
- If you do not yet have EB environment simply create an EB environment with jack and then you can download the initial EB config file it afterwards. To create a EB environment using jack without an initial config file.
106
-
107
- ```bash
108
- $ git clone https://github.com/tongueroo/sinatra
109
- $ cd sinatra
110
- $ jack create hi-web-stag-1
111
- ```
112
-
113
- The big benefit of using jack though is the ability to create EB environments based on previously saved configuration files. So now you can download the configuration file from the newly created hi-web-stag-1 environment and version control them.
114
-
115
- ```bash
116
- $ jack config get hi-web-stag-1
117
- ```
118
-
119
- This above saves the configuration file at `jack/cfg/hi-web-stag-1.cfg.yml`. Here is an [example](https://gist.github.com/tongueroo/5791a4575a71cb664d48e4e8b29791b3) of what the config file.
120
-
121
- If you would like to save the config file under a different path, you can use the `-c` option.
122
-
123
- ```bash
124
- $ jack config get hi-web-stag-1 -c my-config
125
- ```
126
-
127
- This saves the config file to `jack/cfg/my-config.cfg.yml` looks like.
128
-
129
- You can then create different environments using any of the saved config files.
130
-
131
- ```bash
132
- $ jack create -c my-config hi-web-stag-2 # creates environment using jack/cfg/myconfig.cfg.yml
133
- ```
134
-
135
- If the project is brand new and has never had `eb init` ran on it before like a project that has been newly git cloned. Then calling any of the jack commands will automatically call `eb init` in the project. `eb init` requires the platform flag in order to avoid prompting. The default platform is "64bit Amazon Linux 2016.09 v2.2.0 running Docker 1.11.2". But you can override that by creating an `~/.jack/settings.yml` or `jack/settings.yml` within the project folder and setting the `create.platform` key.
59
+ The example above means the EB application name will be `hi` and the environment name will be `hi-web-prod`. By convention, the first word, separated by a '-', of the environment name is the application name. This convention can be overridden easily via by configuring the [settings](http://jack-eb.com/docs/settings/). It is also possible to override the application name convention from the cli with the `--app` flag.
136
60
 
137
- Here's an [example](https://gist.github.com/tongueroo/086e3c11c4d00d5c39b6). The options from each file is merged and combined together in following order: project folder, user home, [default](lib/jack/default/settings.yml) that is packaged with this gem. So the project `jack/settings.yml` options have higher precedence than `~/.jack/settings.yml`.
61
+ ## Quick Usage
138
62
 
63
+ Here's a quick overview of how to use jack:
139
64
 
140
- ### More Configuration Examples
141
-
142
- Configuration templates hold all the options and settings that we can set for an EB environment. Elastic Beanstalk surfaces a portion of settings available from the underlying AWS Resources. These settings include ELB behavior, VPC, LaunchConfiguration, Autoscaling settings, hard drive size, environment variables, etc. Here is an [example](https://gist.github.com/tongueroo/5791a4575a71cb664d48e4e8b29791b3).
143
-
144
- #### Get Elastic Beanstalk Configuration
145
-
146
- To download the Elastic Beanstalk configuration:
147
-
65
+ ```sh
66
+ brew cask install boltopslabs/software/bolts
67
+ git clone https://github.com/tongueroo/hi # demo sinatra app
68
+ cd hi
69
+ jack create hi-web-stag # creates a EB App named hi and EB Environment named hi-web-stag
70
+ jack download hi-web-stag
71
+ # ... make adjustments to jack/cfg/hi-web-stag.yml ...
72
+ jack upload hi-web-stag
148
73
  ```
149
- $ jack config get hi-web-prod-1
150
74
 
151
- $ jack config get hi-web-prod-1 --app customappname
152
- ```
75
+ See [jack-eb.com](http://jack-eb.com) for full documentation.
153
76
 
154
- This will save the config to `jack/cfg/hi-web-prod-1.cfg.yml`.
77
+ ## Contributing
155
78
 
156
- #### Apply Elastic Beanstalk Configuration
79
+ Everyone can contribute to make jack better. Please fork the project and open a pull request! We love your pull requests. Contributions are encouraged and welcomed!
157
80
 
158
- To apply a template configuration.
159
-
160
- ```
161
- $ jack config apply hi-web-prod-1
162
-
163
- $ jack config apply hi-web-prod-1 --app customappname
164
- ```
165
-
166
- This will save the config to `jack/cfg/hi-web-prod-1.cfg.yml`.
167
-
168
- You will notice that the `eb config apply` command prompts you with the diff and asks for confirmation before applying. You can bypass the prompt with the `--sure` option.
169
-
170
- #### Diff Config - Comparing your local config to the live environment config
171
-
172
- You can use the diff command directly to compare your local config to what configs the environment is actually using is useful. To see the diff.
173
-
174
- ```
175
- $ jack config diff hi-web-prod-1
176
- ```
177
-
178
- A note about the configs. They are formatted so that the keys are sorted. This has been done so the diffs are actually useful. It is also recommended you install colordiff so you can see the diff output colorized. You can also specify your own diff viewer via the `JACK_DIFF` environment variable.
179
-
180
- To use a your own diff viewer, add this to your `~/.profile`:
181
-
182
- ```
183
- $ export JACK_DIFF=colordiff
184
- ```
185
-
186
- ### More Help
187
-
188
- You can get help information from the CLI. Examples:
189
-
190
- <pre>
191
- $ jack help
192
- $ jack create help
193
- $ jack config get help
194
- $ jack config apply help
195
- $ jack config sort help
196
- </pre>
81
+ 1. Fork it
82
+ 2. Create your feature branch (`git checkout -b my-new-feature`)
83
+ 3. Commit your changes (`git commit -am 'Add some feature'`)
84
+ 4. Push to the branch (`git push origin my-new-feature`)
85
+ 5. Create new Pull Request
data/docs/CNAME CHANGED
@@ -1 +1 @@
1
- jackandtheelasticbeanstalk.com
1
+ jack-eb.com
@@ -1,6 +1,6 @@
1
1
  # Jack Documentation
2
2
 
3
- This project powers the jack documementation website: [jackandtheelasticbeanstalk.com](http://jackandtheelasticbeanstalk.com). It is a static website generated by [Jekyll](https://jekyllrb.com/).
3
+ This project powers the jack documementation website: [jack-eb.com](http://jack-eb.com). It is a static website generated by [Jekyll](https://jekyllrb.com/).
4
4
 
5
5
  ## Contributing
6
6
 
@@ -1,14 +1,15 @@
1
1
  # Site settings
2
2
  title: Jack
3
3
  email: tongueroo@gmail.com
4
- url: https://jackandtheelasticbeanstalk.com
5
- description: "Manage your AWS Elastic Beanstalk Jack environments easily with Jack."
4
+ url: http://jack-eb.com
5
+ description: "Manage your AWS Elastic Beanstalk Jack environments easily"
6
6
  keywords: "Jack, AWS Elastic Beanstalk, DevOps, Infrastructure, BoltOps, Tools, Producitivity, Documentation"
7
7
  skills: ""
8
8
  meta_author: Tung Nguyen
9
9
 
10
10
  # Google webmaster tools
11
11
  google_verify:
12
+ google_analytics: UA-98684555-5
12
13
 
13
14
  # https://ssl.bing.com/webmaster/configure/verify/ownership Option 2 content= goes here
14
15
  bing_verify:
@@ -0,0 +1,48 @@
1
+ ---
2
+ title: Installation
3
+ ---
4
+
5
+ Jack follows a convention for the environment and application name. This is done in order to keep the jack commands simple and short. The convention is:
6
+
7
+ <pre>
8
+ environment_name: [app]-[role]-[env]
9
+ application_name: [app]
10
+ </pre>
11
+
12
+ A concrete example is helpful:
13
+
14
+ <pre>
15
+ environment_name: hi-web-prod
16
+ application_name: hi
17
+ </pre>
18
+
19
+ The example above means the EB application name will be `hi` and the environment name will be `hi-web-prod`. By convention, the first word, separated by a '-', of the environment name is the application name.
20
+
21
+ This convention can be overridden easily via by creating a `~/.jack/settings.yml` or `jack/settings.yml` within the project and defining your own regular expression with the `conventions.app_name_pattern` key. The regexp is a ruby regexp and must have 1 capture group. The capture group is used to determine the application name. Here is an example:
22
+
23
+ ```yaml
24
+ create:
25
+ keyname: default
26
+ platform: "64bit Amazon Linux 2017.03 v2.6.0 running Docker 1.12.6"
27
+ conventions:
28
+ app_name_pattern: !ruby/regexp /\w+-(\w+)-\w+/
29
+ ```
30
+
31
+ In the example above, the capture group is the second word and this will result in:
32
+
33
+ <pre>
34
+ environment_name: prod-hi-web
35
+ application_name: hi
36
+ </pre>
37
+
38
+
39
+ The default setting is located at [lib/jack/default/settings.yml](https://github.com/tongueroo/jack/blob/master/lib/jack/default/settings.yml).
40
+
41
+ You can also override the application name convention from the cli with the `--app` flag. Examples are provided below.
42
+
43
+
44
+
45
+ <a id="prev" class="btn btn-basic" href="{% link _docs/jack-help.md %}">Back</a>
46
+ <a id="next" class="btn btn-primary" href="{% link _docs/settings.md %}">Next Step</a>
47
+ <p class="keyboard-tip">Pro tip: Use the <- and -> arrow keys to move back and forward.</p>
48
+
@@ -10,6 +10,8 @@ If you want to quickly install jack without having to worry about jack's depende
10
10
  brew cask install boltopslabs/software/bolts
11
11
  ```
12
12
 
13
+ The bolts installer will also automatically install the [aws cli](https://aws.amazon.com/documentation/cli/) and the [aws eb cli3](http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/eb-cli3.html) dependencies for you. You don't have to worry about it!
14
+
13
15
  For more information about the Bolts Toolbelt or to get an installer for another operating system visit: [https://boltops.com/toolbelt](https://boltops.com/toolbelt)
14
16
 
15
17
  ### Install with RubyGems
@@ -26,7 +28,9 @@ Or you can add jack to your Gemfile in your project if you are working with a ru
26
28
  gem "jack-eb"
27
29
  {% endhighlight %}
28
30
 
29
- You also need to install jack's additional dependencies: the aws cli and the aws eb cli.
31
+ #### Additional Depedencies
32
+
33
+ If you are installing jack via RubyGems, you will also need to install jack's additional dependencies: the [aws cli](https://aws.amazon.com/documentation/cli/) and the [aws eb cli3](http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/eb-cli3.html). If you have used the bolts installer then you do not have to worry about installing these additional dependencies.
30
34
 
31
35
  On a Mac OS system, you can use homebrew:
32
36
 
@@ -44,5 +48,7 @@ On other operating systems, follow Amazon Web Services' official installation gu
44
48
  * [Install the Elastic Beanstalk Command Line Interface (EB CLI)](http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/eb-cli3-install.html)
45
49
 
46
50
 
47
- <a class="btn btn-basic" href="/quick-start/">Back</a>
48
- <a class="btn btn-primary" href="{% link _docs/structure.md %}">Next Step</a>
51
+ <a id="prev" class="btn btn-basic" href="{% link docs.md %}">Back</a>
52
+ <a id="next" class="btn btn-primary" href="{% link _docs/structure.md %}">Next Step</a>
53
+ <p class="keyboard-tip">Pro tip: Use the <- and -> arrow keys to move back and forward.</p>
54
+
@@ -7,7 +7,7 @@ title: jack apply
7
7
  Now let's make some changes to the Elastic Beanstalk environment. Let's change the AutoScaling RollingUpdateEnabled from `true` to `false`. Here is the line for that setting:
8
8
 
9
9
  ```yaml
10
- RollingUpdateEnabled: true
10
+ RollingUpdateEnabled: false
11
11
  ```
12
12
 
13
13
 
@@ -39,16 +39,23 @@ Notice that this time when jack compares the configuration you see the changes t
39
39
 
40
40
  By allowing you to preview the changes and prompting for your confirmation, jack prevents you from accidentally overriding their change. This saves later headaches and confusion when changes "suddenly" disappear.
41
41
 
42
-
43
42
  You can now download the updated configuration first and then re-add your changes.
44
43
 
45
44
  ```
46
- jack download get hi-web-stag
45
+ jack get hi-web-stag
47
46
  # add back in your changes to `jack/cfg/hi-web-stag.cfg.yml
48
- jack upload apply hi-web-stag
47
+ jack apply hi-web-stag
48
+ ```
49
+
50
+ If you would like to use a different app name you can use the `--app` option.
51
+
52
+ ```sh
53
+ jack apply hi-web-stag --app myapp
49
54
  ```
50
55
 
51
56
  You are now set! Jack allows you codify the infrastructure code and then enables you to apply those changes safely.
52
57
 
53
- <a class="btn btn-basic" href="{% link _docs/jack-get.md %}">Back</a>
54
- <a class="btn btn-primary" href="{% link _docs/jack-diff.md %}">Next Step</a>
58
+ <a id="prev" class="btn btn-basic" href="{% link _docs/jack-get.md %}">Back</a>
59
+ <a id="next" class="btn btn-primary" href="{% link _docs/jack-diff.md %}">Next Step</a>
60
+ <p class="keyboard-tip">Pro tip: Use the <- and -> arrow keys to move back and forward.</p>
61
+
@@ -5,10 +5,10 @@ title: jack create
5
5
  Run the following command to create an Elastic Beanstalk Environment:
6
6
 
7
7
  ```sh
8
- jack create hi-web-prod
8
+ jack create hi-web-stag
9
9
  ```
10
10
 
11
- The above command will automatically create an Elastic Beanstalk application called **hi** and an environment called **hi-web-prod**. Jack follows a naming convention scheme: `[app]-[role]-[env]`. Jack automatically separates the words by dashes and takes the first word using that as the app name. This is how jack knows how to create an Elastic Beanstalk application named **hi** without you having to tell it that. The naming convention can be easily [overridden]({% link _docs/conventions.md %}). The naming conventions helps provide guidance for best practices and dramatically simplies the tools usage. Things just work.
11
+ The above command will automatically create an Elastic Beanstalk application called **hi** and an environment called **hi-web-stag**. Jack follows a naming convention scheme: `[app]-[role]-[env]`. Jack automatically separates the words by dashes and takes the first word using that as the app name. This is how jack knows how to create an Elastic Beanstalk application named **hi** without you having to tell it that. The naming convention can be easily [overridden]({% link _docs/conventions.md %}). The naming conventions helps provide guidance for best practices and dramatically simplies the tools usage. Things just work.
12
12
 
13
13
  After a few minutes you should see an environment fully spun up in Elastic Beanstalk's Console:
14
14
 
@@ -16,5 +16,7 @@ After a few minutes you should see an environment fully spun up in Elastic Beans
16
16
 
17
17
  In the next step, you'll download the configuration from the newly created environment.
18
18
 
19
- <a class="btn btn-basic" href="{% link _docs/tutorial.md %}">Back</a>
20
- <a class="btn btn-primary" href="{% link _docs/jack-get.md %}">Next Step</a>
19
+ <a id="prev" class="btn btn-basic" href="{% link _docs/tutorial.md %}">Back</a>
20
+ <a id="next" class="btn btn-primary" href="{% link _docs/jack-get.md %}">Next Step</a>
21
+ <p class="keyboard-tip">Pro tip: Use the <- and -> arrow keys to move back and forward.</p>
22
+
@@ -2,7 +2,7 @@
2
2
  title: jack deploy
3
3
  ---
4
4
 
5
- So far we have been using an empty folder as our project to mainly demonstrate jack's abiliy to download and managed configuration files. Jack can also deploy applications to the Elastic Beanstalk environments. For this next step, we will deploy a small test sinatra app available on GitHub at [tongueroo/sinatra](https://github.com/tongueroo/sinatra).
5
+ So far we have been using an empty folder as our project to mainly demonstrate jack's ability to download and manage configuration files. Jack can also deploy application code to the Elastic Beanstalk environment. For this next step, we will deploy a small test sinatra app available on GitHub at [tongueroo/sinatra](https://github.com/tongueroo/sinatra).
6
6
 
7
7
  Clone the project and cd into it:
8
8
 
@@ -27,5 +27,7 @@ The jack deploy command simply is a wrapper command to the `eb deploy` command.
27
27
  EB_OPTION='--nohang' jack deploy hi-web-stag
28
28
  ```
29
29
 
30
- <a class="btn btn-basic" href="{% link _docs/jack-diff.md %}">Back</a>
31
- <a class="btn btn-primary" href="{% link _docs/jack-terminate.md %}">Next Step</a>
30
+ <a id="prev" class="btn btn-basic" href="{% link _docs/jack-diff.md %}">Back</a>
31
+ <a id="next" class="btn btn-primary" href="{% link _docs/jack-terminate.md %}">Next Step</a>
32
+ <p class="keyboard-tip">Pro tip: Use the <- and -> arrow keys to move back and forward.</p>
33
+
@@ -20,5 +20,13 @@ By default, `jack diff` cleans up after itself and removes the originally downlo
20
20
  jack diff hi-web-stag --dirty
21
21
  ```
22
22
 
23
- <a class="btn btn-basic" href="{% link _docs/jack-apply.md %}">Back</a>
24
- <a class="btn btn-primary" href="{% link _docs/jack-deploy.md %}">Next Step</a>
23
+ The diffs are formatted so that their keys are sorted. This has been done so the diffs are actually useful. It is also recommended you install colordiff so you can see the diff output colorized. You can also specify your own diff viewer via the `JACK_DIFF` environment variable. To use a your own diff viewer, add this to your `~/.profile`:
24
+
25
+ ```sh
26
+ $ export JACK_DIFF=colordiff
27
+ ```
28
+
29
+ <a id="prev" class="btn btn-basic" href="{% link _docs/jack-apply.md %}">Back</a>
30
+ <a id="next" class="btn btn-primary" href="{% link _docs/jack-deploy.md %}">Next Step</a>
31
+ <p class="keyboard-tip">Pro tip: Use the <- and -> arrow keys to move back and forward.</p>
32
+
@@ -8,7 +8,7 @@ Run the following command to download the configuration from the Elastic Beansta
8
8
  jack get hi-web-stag
9
9
  ```
10
10
 
11
- You should something similar to this:
11
+ You should see something similar to this:
12
12
 
13
13
  <img src="/img/tutorials/jack-get.png" class="doc-photo" />
14
14
 
@@ -45,7 +45,28 @@ Platform:
45
45
  Amazon Linux/2.1.0
46
46
  ```
47
47
 
48
- As you can see this file contains everything there is to know about the Elastic Beanstalk environment. With this file you can completely rebuild the environment and even "clone" it across Elastic Beanstalk applications.
48
+ As you can see the configuration file contains everything there is to know about the Elastic Beanstalk environment. These settings include ELB behavior, VPC, LaunchConfiguration, AutoScaling settings, hard drive size, environment variables, etc. With this file you can completely rebuild the environment and even "clone" it across Elastic Beanstalk applications.
49
+
50
+ If you would like to save the config file under a different path, you can use the `-c` option.
51
+
52
+ ```sh
53
+ jack get hi-web-stag -c my-config
54
+ ```
55
+
56
+ This saves the config file to `jack/cfg/my-config.cfg.yml`. You can also override which config file to use with the `-c` flag when creating EB environments like so:
57
+
58
+ ```sh
59
+ jack create hi-web-stag-2 -c my-config
60
+ ```
61
+
62
+ If you would like to override the application name convention you can use the `--app` option.
63
+
64
+ ```sh
65
+ jack create hi-web-stag-2 --app myapp
66
+ ```
67
+
68
+
69
+ <a id="prev" class="btn btn-basic" href="{% link _docs/jack-create.md %}">Back</a>
70
+ <a id="next" class="btn btn-primary" href="{% link _docs/jack-apply.md %}">Next Step</a>
71
+ <p class="keyboard-tip">Pro tip: Use the <- and -> arrow keys to move back and forward.</p>
49
72
 
50
- <a class="btn btn-basic" href="{% link _docs/jack-create.md %}">Back</a>
51
- <a class="btn btn-primary" href="{% link _docs/jack-apply.md %}">Next Step</a>
@@ -0,0 +1,22 @@
1
+ ---
2
+ title: jack help
3
+ ---
4
+
5
+ You can run help for quick help information right at the cli. Example:
6
+
7
+ ```sh
8
+ jack help
9
+ ```
10
+
11
+ You can append `help`, `-h` or `--help` to the end of any command to get more help information about that specific command. These all work.
12
+
13
+ ```sh
14
+ jack get help
15
+ jack apply --help
16
+ jack create -h
17
+ ```
18
+
19
+ <a id="prev" class="btn btn-basic" href="{% link _docs/jack-terminate.md %}">Back</a>
20
+ <a id="next" class="btn btn-primary" href="{% link _docs/conventions.md %}">Next Step</a>
21
+ <p class="keyboard-tip">Pro tip: Use the <- and -> arrow keys to move back and forward.</p>
22
+
@@ -16,5 +16,7 @@ jack terminate hi-web-stag --sure
16
16
 
17
17
  Congratulations! 🍾 You have created Elastic Beanstalk environments, downloaded and applied configuration changes, deployed new code to the environment and cleaned up after youself by terminating the environment. You have successfully used jack to manage an Elastic Beanstalk environment.
18
18
 
19
- <a class="btn btn-basic" href="{% link _docs/jack-deploy.md %}">Back</a>
20
- <a class="btn btn-primary" href="{% link _docs/next-steps.md %}">Next Step</a>
19
+ <a id="prev" class="btn btn-basic" href="{% link _docs/jack-deploy.md %}">Back</a>
20
+ <a id="next" class="btn btn-primary" href="{% link _docs/jack-help.md %}">Next Step</a>
21
+ <p class="keyboard-tip">Pro tip: Use the <- and -> arrow keys to move back and forward.</p>
22
+
@@ -10,7 +10,8 @@ From here, there are a few resources that can help you continue along:
10
10
  * Submit an issue
11
11
  * Write a blog post describing how you are using jack, or an interesting problem jack has allowed you to solve
12
12
 
13
- Everyone can contribute to make jack better, including the documentation. These docs are are of the same jack repo in the [docs folder](https://github.com/tongueroo/jack/tree/master/docs). Please fork the project and open a pull request! We love your pull requests. Contributions are encouraged and welcomed!
13
+ Everyone can contribute to make jack better, including the documentation. These docs in the jack repo located [docs folder](https://github.com/tongueroo/jack/tree/master/docs). Please fork the project and open a pull request! We love your pull requests. Contributions are encouraged and welcomed!
14
14
 
15
- <a class="btn btn-basic" href="{% link _docs/jack-terminate.md %}">Back</a>
16
- <a class="btn btn-primary" href="{% link articles.md %}">Next Step</a>
15
+ <a id="prev" class="btn btn-basic" href="{% link _docs/settings.md %}">Back</a>
16
+ <a id="next" class="btn btn-primary" href="{% link articles.md %}">Next Step</a>
17
+ <p class="keyboard-tip">Pro tip: Use the <- and -> arrow keys to move back and forward.</p>
@@ -0,0 +1,70 @@
1
+ ---
2
+ title: Settings
3
+ ---
4
+
5
+ Some of jack's behavior can be configured by creating a `~/.jack/settings.yml` or `jack/settings.yml` within the project. The options from the files get merged with the following precedence:
6
+
7
+ 1. current folder - The current folder's `jack/settings.yml` values take the highest precedence.
8
+ 2. user - The user's `~/.jack/settings.yml` values take the second highest precedence.
9
+ 3. default - The [default settings](https://github.com/tongueroo/jack/blob/master/lib/jack/default/settings.yml) bundled with the tool takes the lowest precedence.
10
+
11
+ Let's take a look at an example jack `settings.yml`:
12
+
13
+ ```yaml
14
+ create:
15
+ keyname: default
16
+ platform: "64bit Amazon Linux 2017.03 v2.6.0 running Docker 1.12.6"
17
+ conventions:
18
+ app_name_pattern: !ruby/regexp /(\w+)-\w+-\w+/
19
+ ```
20
+
21
+ The table below covers what each setting does:
22
+
23
+ Setting | Description
24
+ ------------- | -------------
25
+ `create.keyname` | This sets the keyname to use when creating Elastic Beanstalk environment. This is the ssh key you can use to login into the server.
26
+ `create.platform` | The solution stack to use when launching the EB environment. You can use `aws elasticbeanstalk list-available-solution-stacks` to get a full list of the available EB solution stacks. This is covered in more detail below.
27
+ `conventions.app_name_pattern` | This allows you to override the jack naming convention and determines how jack extracts the application name from the environment. This is covered in detailed in [Conventions]({% link _docs/conventions.md %}).
28
+
29
+ ### Override Convention
30
+
31
+ Jack follows a convention for the environment and application name. This is done in order to keep the jack commands simple and short. The convention is:
32
+
33
+ <pre>
34
+ environment_name: [app]-[role]-[env]
35
+ application_name: [app]
36
+ </pre>
37
+
38
+ A concrete example is helpful:
39
+
40
+ <pre>
41
+ environment_name: hi-web-prod
42
+ application_name: hi
43
+ </pre>
44
+
45
+ The example above means the EB application name will be `hi` and the environment name will be `hi-web-prod`. By convention, the first word, separated by a '-', of the environment name is the application name.
46
+
47
+ This convention can be overridden easily via by configuring the the `conventions.app_name_pattern` setting. The value is a ruby regexp and must have 1 capture group. The capture group determines the application name. Here is an example override:
48
+
49
+ ```yaml
50
+ create:
51
+ keyname: default
52
+ platform: "64bit Amazon Linux 2016.09 v2.2.0 running Docker 1.11.2"
53
+ conventions:
54
+ app_name_pattern: !ruby/regexp /\w+-(\w+)-\w+/
55
+ ```
56
+
57
+ In the example above, the capture group is the second word and this will result in:
58
+
59
+ <pre>
60
+ environment_name: prod-hi-web
61
+ application_name: hi
62
+ </pre>
63
+
64
+ ### Chosing Solution Stack Platform
65
+
66
+ If the project is brand new and has never had `eb init` ran on it before then calling any of the jack commands will automatically call `eb init` in the project. `eb init` sets the platform and defaults to "64bit Amazon Linux 2017.03 v2.6.0 running Docker 1.12.6". You can override that by setting the `create.platform` key.
67
+
68
+ <a id="prev" class="btn btn-basic" href="{% link _docs/conventions.md %}">Back</a>
69
+ <a id="next" class="btn btn-primary" href="{% link _docs/next-steps.md %}">Next Step</a>
70
+ <p class="keyboard-tip">Pro tip: Use the <- and -> arrow keys to move back and forward.</p>
@@ -51,7 +51,9 @@ Platform:
51
51
 
52
52
  The configuration file provides everything that is required to rebuild the Elastic Beanstalk environment.
53
53
 
54
- Now that you now where the jack configurations are are located and what they look like. Let use it!
54
+ Now that you now where the jack configurations are located and what they look like. Let use it!
55
+
56
+ <a id="prev" class="btn btn-basic" href="{% link _docs/install.md %}">Back</a>
57
+ <a id="next" class="btn btn-primary" href="{% link _docs/tutorial.md %}">Next Step</a>
58
+ <p class="keyboard-tip">Pro tip: Use the <- and -> arrow keys to move back and forward.</p>
55
59
 
56
- <a class="btn btn-basic" href="{% link _docs/install.md %}">Back</a>
57
- <a class="btn btn-primary" href="{% link _docs/tutorial.md %}">Next Step</a>
@@ -6,5 +6,7 @@ In the next sections, we'll walk through using jack in detail. You will create a
6
6
 
7
7
  Let's start!
8
8
 
9
- <a class="btn btn-basic" href="{% link _docs/structure.md %}">Back</a>
10
- <a class="btn btn-primary" href="{% link _docs/jack-create.md %}">Next Step</a>
9
+ <a id="prev" class="btn btn-basic" href="{% link _docs/structure.md %}">Back</a>
10
+ <a id="next" class="btn btn-primary" href="{% link _docs/jack-create.md %}">Next Step</a>
11
+ <p class="keyboard-tip">Pro tip: Use the <- and -> arrow keys to move back and forward.</p>
12
+
@@ -9,10 +9,10 @@
9
9
  </div>
10
10
  <div class="row">
11
11
  <div class="col-lg-4 col-lg-offset-2">
12
- <p>Jack is a tool to manage AWS Elastic Beanstalk environments. Jack is a wrapper tool around the aws eb cli3 tool. Jack allows you to create environments using the saved template configuration file generated by <code>eb config save</code>. Jack moves these generated config file to the jack/cfg folder of your project and manages the the config files from there.</p>
12
+ <p>Jack is a tool to manage AWS Elastic Beanstalk environments. Jack is a wrapper tool around the aws eb cli3 tool. Jack allows you to create environments using the saved template configuration file generated by <code>eb config save</code>. Jack moves these generated config file to the jack/cfg folder of your project and manages the config files from there.</p>
13
13
  </div>
14
14
  <div class="col-lg-4">
15
- <p>Jack provides a <code>jack apply</code> command to update the Elastic Beanstalk environment. Before uploading the new configuration to Elastic Beanstalk jack first downloads the current configuration and then does a diff on the changes that you are about apply. This gives a helpful preview of exactly will be change. This is particularly helpful when changes are made through the Elastic Beanstalk GUI by multiple developers and are out of sync with what you thought they were.</p>
15
+ <p>Jack provides a <code>jack apply</code> command to update the Elastic Beanstalk environment. Before uploading the new configuration to Elastic Beanstalk jack first downloads the current configuration and then does a diff on the changes that you are about apply. This gives a helpful preview of exactly what will be changed. This is particularly helpful when changes are made through the Elastic Beanstalk GUI by multiple developers and are out of sync with what you thought they were.</p>
16
16
  </div>
17
17
  </div>
18
18
  </div>
@@ -156,3 +156,13 @@ ul.tools li {
156
156
  .use-cases li {
157
157
  margin-bottom: 15px;
158
158
  }
159
+
160
+ .keyboard-tip {
161
+ display: none;
162
+ }
163
+ @media(min-width:992px) {
164
+ .keyboard-tip {
165
+ display: block;
166
+ font-size: 0.9em;
167
+ }
168
+ }
@@ -5,7 +5,7 @@
5
5
  </p>
6
6
  <ul>
7
7
  <li><a href="{{ site.gh_url }}/blob/master/docs/{{ page.path }}" target="_blank">Suggest an edit to this page</a> (here's the <a href="{{ site.gh_url }}/blob/master/CONTRIBUTING.md" target="_blank">contributing guide</a>).</li>
8
- <li><a href="{{ site.gh_url }}/issues/new?body=This%20issue%20is%20about%20<http://jackandtheelasticbeanstalk.com{{ page.url }}>%20(source%20file%3A%20<{{ site.gh_url }}/blob/master/docs/{{ page.path }}>)" target="_blank">Open an issue about this page</a> to report a problem.</li>
8
+ <li><a href="{{ site.gh_url }}/issues/new?body=This%20issue%20is%20about%20<http://jack-eb.com{{ page.url }}>%20(source%20file%3A%20<{{ site.gh_url }}/blob/master/docs/{{ page.path }}>)" target="_blank">Open an issue about this page</a> to report a problem.</li>
9
9
  </ul>
10
10
 
11
11
  </div>
@@ -6,8 +6,9 @@
6
6
  <div class="footer-col col-md-4">
7
7
  <h3>More Tools</h3>
8
8
  <ul class="list-unstyled tools">
9
+ <li><a href="http://sonic-screwdriver.cloud">Sonic Screwdriver</a></li>
9
10
  <li><a href="http://lono.cloud">Lono</a></li>
10
- <li><a href="https://github.com/tongueroo/ufo">Ufo</a></li>
11
+ <li><a href="http://ufoships.com">Ufo</a></li>
11
12
  <li><a href="https://boltops.com/toolbelt">Toolbelt</a></li>
12
13
  </ul>
13
14
  </div>
@@ -42,7 +43,7 @@
42
43
 
43
44
  <!-- Scroll to Top Button (Only visible on small and extra-small screen sizes) -->
44
45
  <div class="scroll-top page-scroll visible-xs visible-sm">
45
- <a class="btn btn-primary" href="#page-top">
46
+ <a id="next" class="btn btn-primary" href="#page-top">
46
47
  <i class="fa fa-chevron-up"></i>
47
48
  </a>
48
49
  </div>
@@ -0,0 +1,10 @@
1
+ <!-- Google analytics -->
2
+ <script>
3
+ (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
4
+ (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
5
+ m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
6
+ })(window,document,'script','https://www.google-analytics.com/analytics.js','ga');
7
+
8
+ ga('create', '{{ site.google_analytics }}', 'auto');
9
+ ga('send', 'pageview');
10
+ </script>
@@ -3,11 +3,11 @@
3
3
  <div class="container">
4
4
  <div class="row">
5
5
  <div class="col-lg-12">
6
- <img class="img-responsive" src="/img/profile.png" alt="">
6
+ <img class="img-responsive" src="/img/logos/jack-logo.png" alt="">
7
7
  <div class="intro-text">
8
8
  <span class="name">{{ site.title }}</span>
9
9
  <hr class="star-light">
10
- <span class="skills">{{ site.skills }}</span>
10
+ <span class="skills">{{ site.description }}</span>
11
11
  </div>
12
12
  </div>
13
13
  </div>
@@ -26,3 +26,7 @@
26
26
  {% endif %}
27
27
 
28
28
  <script src="{{ "/js/nav.js" }}"></script>
29
+
30
+ {% if site.google_analytics and jekyll.environment == "production" %}
31
+ {% include google_analytics.html %}
32
+ {% endif %}
@@ -9,7 +9,7 @@
9
9
  <span class="icon-bar"></span>
10
10
  <span class="icon-bar"></span>
11
11
  </button>
12
- <a class="navbar-brand" href="/#page-top"><img class="navbar-logo" src="/img/logos/boltops-logo.png" />{{ site.title }}</a>
12
+ <a class="navbar-brand" href="/#page-top"><img class="navbar-logo" src="/img/logos/jack-logo.png" />{{ site.title }}</a>
13
13
  </div>
14
14
 
15
15
  <!-- Collect the nav links, forms, and other content for toggling -->
@@ -1,23 +1,26 @@
1
- <div class="col-md-3 content-nav">
2
- <ul>
3
- <li><a href="{% link quick-start.md %}">Quick Start</a></li>
4
- <li><a href="{% link docs.md %}">Docs</a>
5
- <ul>
6
- <li><a href="{% link _docs/install.md %}">Installation</a></li>
7
- <li><a href="{% link _docs/structure.md %}">Structure</a></li>
8
- </ul>
9
- </li>
10
- <li><a href="{% link _docs/tutorial.md %}">Tutorial</a>
11
- <ul class="build-scratch">
12
- <li><a href="{% link _docs/jack-create.md %}">jack create</a></li>
13
- <li><a href="{% link _docs/jack-get.md %}">jack get</a></li>
14
- <li><a href="{% link _docs/jack-apply.md %}">jack apply</a></li>
15
- <li><a href="{% link _docs/jack-diff.md %}">jack diff</a></li>
16
- <li><a href="{% link _docs/jack-deploy.md %}">jack deploy</a></li>
17
- <li><a href="{% link _docs/jack-terminate.md %}">jack terminate</a></li>
18
- </ul>
19
- </li>
20
- <li><a href="{% link _docs/next-steps.md %}">Next Steps</a></li>
21
- <li><a href="{% link articles.md %}">Articles</a></li>
22
- </ul>
23
- </div>
1
+ <div class="col-md-3 content-nav">
2
+ <ul>
3
+ <li><a href="{% link quick-start.md %}">Quick Start</a></li>
4
+ <li><a href="{% link docs.md %}">Docs</a>
5
+ <ul>
6
+ <li><a href="{% link _docs/install.md %}">Installation</a></li>
7
+ <li><a href="{% link _docs/structure.md %}">Structure</a></li>
8
+ </ul>
9
+ </li>
10
+ <li><a href="{% link _docs/tutorial.md %}">Tutorial</a>
11
+ <ul class="build-scratch">
12
+ <li><a href="{% link _docs/jack-create.md %}">jack create</a></li>
13
+ <li><a href="{% link _docs/jack-get.md %}">jack get</a></li>
14
+ <li><a href="{% link _docs/jack-apply.md %}">jack apply</a></li>
15
+ <li><a href="{% link _docs/jack-diff.md %}">jack diff</a></li>
16
+ <li><a href="{% link _docs/jack-deploy.md %}">jack deploy</a></li>
17
+ <li><a href="{% link _docs/jack-terminate.md %}">jack terminate</a></li>
18
+ <li><a href="{% link _docs/jack-help.md %}">jack help</a></li>
19
+ </ul>
20
+ </li>
21
+ <li><a href="{% link _docs/conventions.md %}">Conventions</a></li>
22
+ <li><a href="{% link _docs/settings.md %}">Settings</a></li>
23
+ <li><a href="{% link _docs/next-steps.md %}">Next Steps</a></li>
24
+ <li><a href="{% link articles.md %}">Articles</a></li>
25
+ </ul>
26
+ </div>
@@ -3,3 +3,5 @@ title: Articles
3
3
  ---
4
4
 
5
5
  * [Jack and the Elastic Beanstalk —Easy Way to Manage AWS Elastic Beanstalk Environments](https://hackernoon.com/jack-and-the-elastic-beanstalk-easily-manage-aws-environments-3ab496f08ad2)
6
+
7
+ <a id="prev" class="btn btn-basic" href="{% link _docs/next-steps.md %}">Back</a>
@@ -6,11 +6,13 @@ title: Docs
6
6
 
7
7
  Jack is a tool to manage AWS Elastic Beanstalk environments. Jack is a wrapper tool around the aws eb cli3 tool. Jack allows you to create environments using the saved template configuration file generated by eb config save. Jack moves these generated config file to the jack/cfg folder of your project and manages the the config files from there.
8
8
 
9
- Jack provides a `jack apply` command to update the Elastic Beanstalk environment. Before uploading the new configuration to Elastic Beanstalk jack first downloads the current configuration and then does a diff on the changes that you are about apply. This gives a helpful preview of exactly will be change. This is particularly helpful when changes are made through the Elastic Beanstalk GUI by multiple developers and are out of sync with what you thought they were.
9
+ Jack provides a `jack apply` command to update the Elastic Beanstalk environment. Before uploading the new configuration to Elastic Beanstalk jack first downloads the current configuration and then does a diff on the changes that you are about apply. This gives a helpful preview of exactly what will be changed. This is particularly helpful when changes are made through the Elastic Beanstalk GUI by multiple developers and are out of sync with what you thought they were.
10
10
 
11
11
  <img src="/img/tutorials/jack-update.png" class="doc-photo" />
12
12
 
13
13
  Next we'll cover different ways to install jack.
14
14
 
15
- <a class="btn btn-basic" href="{% link quick-start.md %}">Back</a>
16
- <a class="btn btn-primary" href="{% link _docs/install.md %}">Next Step</a>
15
+ <a id="prev" class="btn btn-basic" href="{% link quick-start.md %}">Back</a>
16
+ <a id="next" class="btn btn-primary" href="{% link _docs/install.md %}">Next Step</a>
17
+ <p class="keyboard-tip">Pro tip: Use the <- and -> arrow keys to move back and forward.</p>
18
+
@@ -8,8 +8,6 @@ function onlyShow(className) {
8
8
  }
9
9
 
10
10
  $( document ).ready(function() {
11
- // onlyShow(); // hides all level 2 links
12
-
13
11
  var currentPath = $(location).attr('pathname');
14
12
 
15
13
  // add active class to the subnav link based on the current page
@@ -18,15 +16,24 @@ $( document ).ready(function() {
18
16
  });
19
17
  activeLink.addClass("active");
20
18
 
21
- // hide level 2 list items unless currently under that area
22
- // if (~currentPath.indexOf("/docs/scratch")) {
23
- // console.log("scratch");
24
- // onlyShow("build-scratch");
25
- // } else if (~currentPath.indexOf("/docs/new")) {
26
- // console.log("new");
27
- // onlyShow("build-new");
28
- // } else if (~currentPath.indexOf("/docs/existing")) {
29
- // console.log("existing");
30
- // onlyShow("build-existing");
31
- // }
19
+ // allows use to use arrow keys to move back and forward through the docs
20
+ var keymap = {};
21
+
22
+ // LEFT
23
+ keymap[ 37 ] = "#prev";
24
+ // RIGHT
25
+ keymap[ 39 ] = "#next";
26
+
27
+ $( document ).on( "keyup", function(event) {
28
+ var href,
29
+ selector = keymap[ event.which ];
30
+ // if the key pressed was in our map, check for the href
31
+ if ( selector ) {
32
+ href = $( selector ).attr( "href" );
33
+ if ( href ) {
34
+ // navigate where the link points
35
+ window.location = href;
36
+ }
37
+ }
38
+ });
32
39
  });
@@ -18,4 +18,6 @@ Congratulations! You have successfully created a Elastic Beanstalk environment,
18
18
 
19
19
  Learn more in the next sections.
20
20
 
21
- <a class="btn btn-primary" href="{% link docs.md %}">Next Step</a>
21
+ <a id="next" class="btn btn-primary" href="{% link docs.md %}">Next Step</a>
22
+ <p class="keyboard-tip">Pro tip: Use the <- and -> arrow keys to move back and forward.</p>
23
+
@@ -1,5 +1,5 @@
1
1
  create:
2
2
  keyname: default
3
- platform: "64bit Amazon Linux 2016.09 v2.2.0 running Docker 1.11.2"
3
+ platform: "64bit Amazon Linux 2017.03 v2.6.0 running Docker 1.12.6"
4
4
  conventions:
5
5
  app_name_pattern: !ruby/regexp /(\w+)-\w+-\w+/
@@ -53,8 +53,7 @@ module Jack
53
53
  # source_location/repo/branch
54
54
  # -p, --process enable preprocessing of the application version
55
55
  command = "#{eb_bin} deploy#{eb_base_flags} #{@env_name} #{ENV['EB_OPTIONS']}"
56
- puts "command #{command.inspect}"
57
- # sh(command)
56
+ sh(command)
58
57
  end
59
58
  end
60
59
  end
@@ -16,7 +16,7 @@ module Jack
16
16
  default_file = File.expand_path("../default/settings.yml", __FILE__)
17
17
  default = YAML.load_file(default_file)
18
18
 
19
- @settings_yaml = default.merge(project.merge(user))
19
+ @settings_yaml = default.merge(user.merge(project))
20
20
  end
21
21
 
22
22
  def home
@@ -13,4 +13,4 @@ module Jack
13
13
  end
14
14
  end
15
15
  end
16
- end
16
+ end
@@ -98,7 +98,7 @@ module Jack::Util
98
98
  return @@aws_bin = ENV["JACK_AWS_BIN"] if ENV["JACK_AWS_BIN"]
99
99
 
100
100
  which_aws = `which aws`.strip
101
- return @@aws_bin = which_aws if which_aws
101
+ return @@aws_bin = which_aws if which_aws != ''
102
102
 
103
103
  embedded_aws = "/opt/bolts/embedded/bin/aws"
104
104
  return @@aws_bin = embedded_aws if File.exist?(embedded_aws)
@@ -131,10 +131,10 @@ module Jack::Util
131
131
  return @@eb_bin = ENV["JACK_EB_BIN"] if ENV["JACK_EB_BIN"]
132
132
 
133
133
  which_eb = `which eb`.strip
134
- return @@eb_bin = which_eb if which_eb
134
+ return @@eb_bin = which_eb if which_eb != ''
135
135
 
136
136
  embedded_eb = "/opt/bolts/embedded/bin/eb"
137
- return @@eb_bin = embedded_eb if File.exist?(embedded_aws)
137
+ return @@eb_bin = embedded_eb if File.exist?(embedded_eb)
138
138
 
139
139
  # if reach here we did not detect the eb binary
140
140
  message = "ERROR: Unable to auto detect an eb executable. Please make sure you have installed the eb cli tool.\n"
@@ -1,3 +1,3 @@
1
1
  module Jack
2
- VERSION = "1.3.0"
2
+ VERSION = "1.4.0"
3
3
  end
@@ -17,25 +17,25 @@ describe Jack::CLI do
17
17
  end
18
18
 
19
19
  it "should upload and apply config to environment" do
20
- out = execute("bin/jack config apply #{@args}")
20
+ out = execute("bin/jack apply #{@args}")
21
21
  # puts out
22
22
  expect(out).to include('eb config save')
23
23
  end
24
24
 
25
25
  it "should download config from environment" do
26
- out = execute("bin/jack config get #{@args}")
26
+ out = execute("bin/jack get #{@args}")
27
27
  # puts out
28
28
  expect(out).to include("Config downloaded")
29
29
  end
30
30
 
31
31
  it "should diff local config from eb environment config" do
32
- out = execute("bin/jack config diff #{@args}")
32
+ out = execute("bin/jack diff #{@args}")
33
33
  # puts out
34
34
  expect(out).to include("diff")
35
35
  end
36
36
 
37
37
  it "should reformat the local config to a sorted yaml format" do
38
- out = execute("bin/jack config sort #{@args}")
38
+ out = execute("bin/jack sort #{@args}")
39
39
  # puts out
40
40
  expect(out).to include("Reformatted the local config")
41
41
  end
@@ -28,7 +28,7 @@ describe Jack::EbConfig do
28
28
  data = YAML.load_file(create.eb_config_path)
29
29
  global = data['global']
30
30
  expect(global['application_name']).to eq "hi"
31
- expect(global['default_platform']).to eq "64bit Amazon Linux 2016.09 v2.2.0 running Docker 1.11.2"
31
+ expect(global['default_platform']).to include("64bit Amazon Linux")
32
32
  end
33
33
  end
34
34
 
@@ -20,8 +20,8 @@ describe Jack::Settings do
20
20
 
21
21
  context "no custom project settings" do
22
22
  it "flags uses defaults provided gem" do
23
- project_flags = '--keyname "default" --platform "64bit Amazon Linux 2016.09 v2.2.0 running Docker 1.11.2"'
24
- expect(settings.create_flags).to eq(project_flags)
23
+ project_flags = '--keyname "default" --platform "64bit Amazon Linux'
24
+ expect(settings.create_flags).to include(project_flags)
25
25
  end
26
26
  end
27
27
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: jack-eb
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.3.0
4
+ version: 1.4.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Tung Nguyen
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-06-10 00:00:00.000000000 Z
11
+ date: 2017-07-19 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: thor
@@ -119,6 +119,7 @@ files:
119
119
  - ".gitignore"
120
120
  - ".rspec"
121
121
  - CHANGELOG.md
122
+ - CONTRIBUTING.md
122
123
  - Gemfile
123
124
  - Guardfile
124
125
  - LICENSE.txt
@@ -139,8 +140,10 @@ files:
139
140
  - docs/_docs/jack-deploy.md
140
141
  - docs/_docs/jack-diff.md
141
142
  - docs/_docs/jack-get.md
143
+ - docs/_docs/jack-help.md
142
144
  - docs/_docs/jack-terminate.md
143
145
  - docs/_docs/next-steps.md
146
+ - docs/_docs/settings.md
144
147
  - docs/_docs/structure.md
145
148
  - docs/_docs/tutorial.md
146
149
  - docs/_includes/about.html
@@ -158,6 +161,7 @@ files:
158
161
  - docs/_includes/css/timeline.css
159
162
  - docs/_includes/edit-on-github.html
160
163
  - docs/_includes/footer.html
164
+ - docs/_includes/google_analytics.html
161
165
  - docs/_includes/head.html
162
166
  - docs/_includes/header.html
163
167
  - docs/_includes/js.html
@@ -181,6 +185,7 @@ files:
181
185
  - docs/docs.md
182
186
  - docs/img/logos/boltops-logo-full.png
183
187
  - docs/img/logos/boltops-logo.png
188
+ - docs/img/logos/jack-logo.png
184
189
  - docs/img/profile.png
185
190
  - docs/img/quotes/ben.jpg
186
191
  - docs/img/tutorials/aws-eb-dashboard.png
@@ -205,7 +210,6 @@ files:
205
210
  - docs/js/jquery.easing.min.js
206
211
  - docs/js/nav.js
207
212
  - docs/quick-start.md
208
- - docs/screenshot.png
209
213
  - docs/style.css
210
214
  - jack.gemspec
211
215
  - lib/jack.rb
Binary file