sonic-screwdriver 0.0.1 → 1.0.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +11 -0
- data/Gemfile.lock +26 -2
- data/README.md +156 -23
- data/bin/sonic +8 -1
- data/docs/.gitignore +4 -0
- data/docs/CNAME +1 -0
- data/docs/Gemfile +3 -0
- data/docs/LICENSE +21 -0
- data/docs/README.md +21 -0
- data/docs/_config.yml +69 -0
- data/docs/_docs/commands.md +10 -0
- data/docs/_docs/how-it-works.md +34 -0
- data/docs/_docs/install.md +75 -0
- data/docs/_docs/next-steps.md +18 -0
- data/docs/_docs/settings.md +73 -0
- data/docs/_docs/sonic-ecs-exec.md +7 -0
- data/docs/_docs/sonic-ecs-run.md +7 -0
- data/docs/_docs/sonic-execute.md +7 -0
- data/docs/_docs/sonic-help.md +7 -0
- data/docs/_docs/sonic-list.md +7 -0
- data/docs/_docs/sonic-ssh.md +7 -0
- data/docs/_docs/tutorial-ecs-exec.md +69 -0
- data/docs/_docs/tutorial-ecs-run.md +94 -0
- data/docs/_docs/tutorial-execute.md +38 -0
- data/docs/_docs/tutorial-ssh.md +119 -0
- data/docs/_docs/tutorial.md +11 -0
- data/docs/_docs/why.md +27 -0
- data/docs/_includes/about.html +19 -0
- data/docs/_includes/commands.html +28 -0
- data/docs/_includes/contact.html +17 -0
- data/docs/_includes/contact_disqus.html +16 -0
- data/docs/_includes/contact_static.html +17 -0
- data/docs/_includes/content.html +21 -0
- data/docs/_includes/css/bootstrap.min.css +7 -0
- data/docs/_includes/css/main.css +481 -0
- data/docs/_includes/css/quotes.css +102 -0
- data/docs/_includes/css/sonic.css +163 -0
- data/docs/_includes/css/syntax.css +60 -0
- data/docs/_includes/css/table.css +53 -0
- data/docs/_includes/css/timeline.css +201 -0
- data/docs/_includes/edit-on-github.html +11 -0
- data/docs/_includes/example.html +21 -0
- data/docs/_includes/footer.html +49 -0
- data/docs/_includes/head.html +32 -0
- data/docs/_includes/header.html +15 -0
- data/docs/_includes/js.html +28 -0
- data/docs/_includes/js_disqus.html +21 -0
- data/docs/_includes/modals.html +40 -0
- data/docs/_includes/nav.html +27 -0
- data/docs/_includes/quotes.html +19 -0
- data/docs/_includes/subnav.html +35 -0
- data/docs/_includes/ufo-ship-options.md +13 -0
- data/docs/_includes/uses.html +19 -0
- data/docs/_layouts/default.html +11 -0
- data/docs/_layouts/style.css +6 -0
- data/docs/articles.md +5 -0
- data/docs/css/font-awesome/css/font-awesome.css +1566 -0
- data/docs/css/font-awesome/css/font-awesome.min.css +4 -0
- data/docs/css/font-awesome/fonts/FontAwesome.otf +0 -0
- data/docs/css/font-awesome/fonts/fontawesome-webfont.eot +0 -0
- data/docs/css/font-awesome/fonts/fontawesome-webfont.svg +504 -0
- data/docs/css/font-awesome/fonts/fontawesome-webfont.ttf +0 -0
- data/docs/css/font-awesome/fonts/fontawesome-webfont.woff +0 -0
- data/docs/docs.md +21 -0
- data/docs/img/logos/boltops-logo-full.png +0 -0
- data/docs/img/logos/boltops-logo.png +0 -0
- data/docs/img/sonic-screwdriver.jpg +0 -0
- data/docs/img/tutorials/ec2-console-public-ip.png +0 -0
- data/docs/img/ufo.jpg +0 -0
- data/docs/index.html +9 -0
- data/docs/js/bootstrap.js +2114 -0
- data/docs/js/bootstrap.min.js +6 -0
- data/docs/js/cbpAnimatedHeader.js +44 -0
- data/docs/js/cbpAnimatedHeader.min.js +11 -0
- data/docs/js/classie.js +80 -0
- data/docs/js/contact_me.js +70 -0
- data/docs/js/contact_me_static.js +23 -0
- data/docs/js/freelancer.js +37 -0
- data/docs/js/jqBootstrapValidation.js +912 -0
- data/docs/js/jquery-1.11.0.js +4 -0
- data/docs/js/jquery.easing.min.js +44 -0
- data/docs/js/nav.js +53 -0
- data/docs/quick-start.md +39 -0
- data/docs/style.css +3 -0
- data/lib/bash_scripts/docker-exec.sh +15 -0
- data/lib/bash_scripts/docker-run.sh +15 -0
- data/lib/sonic.rb +11 -2
- data/lib/sonic/aws_services.rb +19 -0
- data/lib/sonic/cli.rb +37 -8
- data/lib/sonic/cli/help.rb +123 -3
- data/lib/sonic/default/settings.yml +12 -0
- data/lib/sonic/docker.rb +128 -0
- data/lib/sonic/execute.rb +131 -0
- data/lib/sonic/list.rb +85 -0
- data/lib/sonic/settings.rb +80 -0
- data/lib/sonic/ssh.rb +136 -0
- data/lib/sonic/ssh/ec2_tag.rb +59 -0
- data/lib/sonic/ssh/identifier_detector.rb +145 -0
- data/lib/sonic/ui.rb +26 -0
- data/lib/sonic/version.rb +2 -2
- data/qa.md +21 -0
- data/sonic.gemspec +3 -1
- data/spec/fixtures/home/.gitkeep +0 -0
- data/spec/fixtures/project/.gitkeep +0 -0
- data/spec/fixtures/project/command.txt +2 -0
- data/spec/lib/cli_spec.rb +16 -6
- data/spec/lib/sonic/execute_spec.rb +35 -0
- data/spec/spec_helper.rb +5 -3
- metadata +133 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 37ec82ca43bde6ed94fef35b7c6f275890be09f3
|
4
|
+
data.tar.gz: dcb1bbf176d88da619c25561b1f947b2cbc52e28
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 36e8aee57411d03defaee3439abc17684f8aca3f1c8dac1c6203cd496e499e05b9bc3d93601f9dfa120d7b36c68fb728e2efe78e2369c144b21f5561ac4c571a
|
7
|
+
data.tar.gz: 70ec6d267b6db685832816648a51b6cb7495f652d74d91f2b4fd742298422b0d3151e1c916069ae3e272985006306d7ad9b6f1beec5120e8fc0833bc18f30ea8
|
data/CHANGELOG.md
ADDED
@@ -0,0 +1,11 @@
|
|
1
|
+
# Change Log
|
2
|
+
|
3
|
+
All notable changes to this project will be documented in this file.
|
4
|
+
This project *tries* to adhere to [Semantic Versioning](http://semver.org/), even before v1.0.
|
5
|
+
|
6
|
+
## [1.0.0]
|
7
|
+
- sonic ecs-exec
|
8
|
+
- sonic ecs-run
|
9
|
+
- sonic execute
|
10
|
+
- sonic list
|
11
|
+
- sonic ssh
|
data/Gemfile.lock
CHANGED
@@ -2,19 +2,30 @@ PATH
|
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
4
|
sonic-screwdriver (0.0.1)
|
5
|
+
aws-sdk
|
5
6
|
colorize
|
6
7
|
hashie
|
7
8
|
thor
|
9
|
+
tty-prompt
|
8
10
|
|
9
11
|
GEM
|
10
12
|
remote: https://rubygems.org/
|
11
13
|
specs:
|
14
|
+
aws-sdk (2.9.42)
|
15
|
+
aws-sdk-resources (= 2.9.42)
|
16
|
+
aws-sdk-core (2.9.42)
|
17
|
+
aws-sigv4 (~> 1.0)
|
18
|
+
jmespath (~> 1.0)
|
19
|
+
aws-sdk-resources (2.9.42)
|
20
|
+
aws-sdk-core (= 2.9.42)
|
21
|
+
aws-sigv4 (1.0.0)
|
12
22
|
codeclimate-test-reporter (1.0.8)
|
13
23
|
simplecov (<= 0.13)
|
14
24
|
coderay (1.1.1)
|
15
25
|
colorize (0.8.1)
|
16
26
|
diff-lcs (1.3)
|
17
27
|
docile (1.1.5)
|
28
|
+
equatable (0.5.0)
|
18
29
|
ffi (1.9.18)
|
19
30
|
formatador (0.2.5)
|
20
31
|
guard (2.14.1)
|
@@ -36,6 +47,7 @@ GEM
|
|
36
47
|
guard-compat (~> 1.1)
|
37
48
|
rspec (>= 2.99.0, < 4.0)
|
38
49
|
hashie (3.5.5)
|
50
|
+
jmespath (1.3.1)
|
39
51
|
json (2.1.0)
|
40
52
|
listen (3.1.5)
|
41
53
|
rb-fsevent (~> 0.9, >= 0.9.4)
|
@@ -43,18 +55,22 @@ GEM
|
|
43
55
|
ruby_dep (~> 1.2)
|
44
56
|
lumberjack (1.0.12)
|
45
57
|
method_source (0.8.2)
|
58
|
+
necromancer (0.4.0)
|
46
59
|
nenv (0.3.0)
|
47
60
|
notiffany (0.1.1)
|
48
61
|
nenv (~> 0.1)
|
49
62
|
shellany (~> 0.0)
|
63
|
+
pastel (0.7.1)
|
64
|
+
equatable (~> 0.5.0)
|
65
|
+
tty-color (~> 0.4.0)
|
50
66
|
pry (0.10.4)
|
51
67
|
coderay (~> 1.1.0)
|
52
68
|
method_source (~> 0.8.1)
|
53
69
|
slop (~> 3.4)
|
54
70
|
rake (12.0.0)
|
55
71
|
rb-fsevent (0.9.8)
|
56
|
-
rb-inotify (0.9.
|
57
|
-
ffi (>= 0.5.0)
|
72
|
+
rb-inotify (0.9.10)
|
73
|
+
ffi (>= 0.5.0, < 2)
|
58
74
|
rspec (3.6.0)
|
59
75
|
rspec-core (~> 3.6.0)
|
60
76
|
rspec-expectations (~> 3.6.0)
|
@@ -77,6 +93,14 @@ GEM
|
|
77
93
|
simplecov-html (0.10.1)
|
78
94
|
slop (3.6.0)
|
79
95
|
thor (0.19.4)
|
96
|
+
tty-color (0.4.2)
|
97
|
+
tty-cursor (0.4.0)
|
98
|
+
tty-prompt (0.12.0)
|
99
|
+
necromancer (~> 0.4.0)
|
100
|
+
pastel (~> 0.7.0)
|
101
|
+
tty-cursor (~> 0.4.0)
|
102
|
+
wisper (~> 1.6.1)
|
103
|
+
wisper (1.6.1)
|
80
104
|
|
81
105
|
PLATFORMS
|
82
106
|
ruby
|
data/README.md
CHANGED
@@ -1,39 +1,172 @@
|
|
1
1
|
# Sonic
|
2
2
|
|
3
|
-
|
4
|
-
[![Code Climate](https://codeclimate.com/)](https://codeclimate.com/)
|
5
|
-
[![Code Climate](https://codeclimate.com/)](https://codeclimate.com/)
|
3
|
+
Sonic is a multi-functional tool that helps you manage AWS resources. Sonic contains is a group of commands that help debug EC2 instances and ECS containers quickly.
|
6
4
|
|
7
|
-
|
5
|
+
## Why Sonic Was Created
|
8
6
|
|
9
|
-
|
7
|
+
After I exhaust debugging an ECS service with CloudWatch Logs I usually take it to the the next step: ssh into the instance. I jump into an instance with a running task or docker container and poke around to figure out the root issue.
|
10
8
|
|
11
|
-
|
9
|
+
In order to find the instance with the service's docker container I click around on the ECS console website until I find the container instance's DNS name and then paste it to the terminal. While this process is not complicated, it is tedious. For example, the typical process is:
|
12
10
|
|
13
|
-
|
11
|
+
1. Click on the cluster
|
12
|
+
2. Click on the service
|
13
|
+
3. Click on the tasks tab
|
14
|
+
4. Click on the one of the tasks
|
15
|
+
5. Click on the container instance
|
16
|
+
6. Highlight and copy the DNS name
|
17
|
+
7. Paste the DNS name into the terminal to build up the ssh ec2-user@[dnsname] command
|
18
|
+
8. Ssh into the machine
|
19
|
+
9. Find the docker container with "docker ps"
|
20
|
+
10. Run docker exec -ti [container_id] bash
|
21
|
+
11. Finally, debug the actual problem
|
14
22
|
|
15
|
-
|
23
|
+
By the time I get into the container, I need to remind my brain on what the original issue was. This tool automates that process so you do not waste your precious mental energy clicking on links and use it to focus on better things like fixing the **actual** issue.
|
16
24
|
|
17
|
-
|
25
|
+
## Install
|
18
26
|
|
19
|
-
|
27
|
+
### Install Via RubyGems
|
20
28
|
|
21
|
-
|
29
|
+
```
|
30
|
+
gem install sonic-screwdriver
|
31
|
+
```
|
22
32
|
|
23
|
-
|
33
|
+
Set up your AWS credentials at `~/.aws/credentials` and `~/.aws/config`. This is the [AWS standard way of setting up credentials](https://aws.amazon.com/blogs/security/a-new-and-standardized-way-to-manage-credentials-in-the-aws-sdks/).
|
34
|
+
|
35
|
+
Note that the gem is named `sonic-screwdriver` but the command is `sonic`.
|
36
|
+
|
37
|
+
## Requirements
|
38
|
+
|
39
|
+
* [jq](https://stedolan.github.io/jq/manual/) - a lightweight and flexible command-line JSON processor
|
40
|
+
|
41
|
+
If you are also using the `ecs-exec` and `ecs-run` commands, then you will need to ensure that [jq](https://stedolan.github.io/jq/) is installed on all of your ECS container instances. If you are only using the `sonic ssh` command then you do not need the jq dependency.
|
24
42
|
|
25
43
|
## Usage
|
26
44
|
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
45
|
+
### sonic ssh
|
46
|
+
|
47
|
+
To ssh into the host or container instance where an ECS service called `my-service` is running, simply run:
|
48
|
+
|
49
|
+
```
|
50
|
+
$ sonic ssh my-service --cluster my-cluster
|
51
|
+
# now you are on the container instance
|
52
|
+
$ docker ps
|
53
|
+
$ curl -s http://localhost:51678/v1/meta | jq .
|
54
|
+
```
|
55
|
+
|
56
|
+
The `my-service` can possible run on multiple container instances. The `sonic` command chooses the first container instance that it finds. If you need to ssh into a specific container instance, use `sonic ssh` instead.
|
57
|
+
|
58
|
+
You can also use the instance id, container instance arn or task arn to ssh into the machine. Examples:
|
59
|
+
|
60
|
+
```
|
61
|
+
$ sonic ssh my-ecs-service --cluster my-cluster # cluster is required or ~/.sonic/settings.yml
|
62
|
+
$ sonic ssh i-067c5e3f026c1e801
|
63
|
+
$ sonic ssh 7fbc8c75-4675-4d39-a5a4-0395ff8cd474
|
64
|
+
$ sonic ssh 1ed12abd-645c-4a05-9acf-739b9d790170
|
65
|
+
```
|
66
|
+
|
67
|
+
### sonic ecs-exec
|
68
|
+
|
69
|
+
`sonic ecs-exec` will hop one more level and get you all the way into a live container for a service. To quickly get yourself into a docker exec bash shell for a service:
|
70
|
+
|
71
|
+
```
|
72
|
+
$ sonic ecs-exec SERVICE bash
|
73
|
+
$ sonic ecs-exec SERVICE # same as above, defaults to bash shell
|
74
|
+
```
|
75
|
+
|
76
|
+
This ultimately runs the following command after it ssh into the container instance:
|
77
|
+
|
78
|
+
```
|
79
|
+
$ docker run -ti SERVICE_CONTAINER bash
|
80
|
+
```
|
81
|
+
|
82
|
+
Here are examples to show what is possible:
|
83
|
+
|
84
|
+
```
|
85
|
+
$ sonic ecs-exec my-service bash
|
86
|
+
# You're in the docker container now
|
87
|
+
$ ls # check out some files to make sure you're the right place
|
88
|
+
$ ps auxxx | grep puma # is the web process up?
|
89
|
+
$ env # are the environment variables properly set?
|
90
|
+
$ bundle exec rails c # start up a rails console to debug
|
91
|
+
```
|
92
|
+
|
93
|
+
You can also pass in bundle exec rails console if you want to get to that as quickly as possible.
|
94
|
+
|
95
|
+
```
|
96
|
+
$ sonic ecs-exec my-service 'bundle exec rails console'
|
97
|
+
# You're a rails console in the docker container now
|
98
|
+
> User.count
|
99
|
+
```
|
100
|
+
|
101
|
+
You must put commands with spaces in quotes.
|
102
|
+
|
103
|
+
You can also use the container instance id or instance id in place of the service name:
|
104
|
+
|
105
|
+
```
|
106
|
+
$ sonic ecs-exec 9f1dadc7-4f67-41da-abec-ec08810bfbc9 bash
|
107
|
+
$ i-006a097bb10643e20
|
108
|
+
```
|
109
|
+
|
110
|
+
### sonic ecs-run
|
111
|
+
|
112
|
+
The `sonic ecs-run` command is similar to the `sonic ecs-exec` command except it'll run a brand new container with the same environment variables as the task associated with the service. This allows you to debug in a container with the exact environment variables as the running tasks/containers without affecting the live service. So this is safer since you will not be able to mess up a live container that is in service.
|
113
|
+
|
114
|
+
This also allows you to run one off commands like a rake task. Here's an example:
|
115
|
+
|
116
|
+
```
|
117
|
+
sonic ecs-run my-service bundle exec 'rake do:something'
|
118
|
+
```
|
119
|
+
|
120
|
+
The default command opens up a bash shell.
|
121
|
+
|
122
|
+
```
|
123
|
+
sonic ecs-run my-service # start a bash shell
|
124
|
+
sonic ecs-run my-service bash # same thing
|
125
|
+
```
|
126
|
+
|
127
|
+
## Settings
|
128
|
+
|
129
|
+
A `~/.sonic/settings.yml` file is useful to adjust the behavior of sonic. One of the useful options is the `service_clsuter`. This optoin maps services to clusters. This saves you from typing the `--cluster` option every time. Here is an example `~/.sonic/settings.yml`:
|
130
|
+
|
131
|
+
```yaml
|
132
|
+
service_cluster:
|
133
|
+
default: my-default-cluster
|
134
|
+
hi-web-prod: prod
|
135
|
+
hi-clock-prod: prod
|
136
|
+
hi-worker-prod: prod
|
137
|
+
hi-web-stag: stag
|
138
|
+
hi-clock-stag: stag
|
139
|
+
hi-worker-stag: stag
|
140
|
+
```
|
141
|
+
|
142
|
+
This results in shorter commands:
|
143
|
+
|
144
|
+
```
|
145
|
+
sonic ssh hi-web-prod
|
146
|
+
sonic ssh hi-clock-prod
|
147
|
+
sonic ssh hi-worker-stag
|
148
|
+
```
|
149
|
+
|
150
|
+
Instead of what you normally would have to type:
|
151
|
+
|
152
|
+
```
|
153
|
+
sonic ssh hi-web-prod --cluster prod
|
154
|
+
sonic ssh hi-clock-prod --cluster prod
|
155
|
+
sonic ssh hi-worker-stag --cluster stag
|
156
|
+
```
|
157
|
+
|
158
|
+
## Help and CLI Options
|
159
|
+
|
160
|
+
```
|
161
|
+
sonic help
|
162
|
+
sonic help ssh
|
163
|
+
sonic help ecs-exec
|
164
|
+
sonic help ecs-run
|
165
|
+
```
|
166
|
+
|
167
|
+
## Internals
|
168
|
+
|
169
|
+
If are interested in the internal logic to achieve what the sonic commands it is detailed on the [wiki](https://github.com/boltopslabs/sonic/wiki).
|
37
170
|
|
38
171
|
## Contributing
|
39
172
|
|
@@ -41,4 +174,4 @@ git commit -m 'init commit'
|
|
41
174
|
2. Create your feature branch (`git checkout -b my-new-feature`)
|
42
175
|
3. Commit your changes (`git commit -am 'Add some feature'`)
|
43
176
|
4. Push to the branch (`git push origin my-new-feature`)
|
44
|
-
5. Create new Pull Request
|
177
|
+
5. Create new Pull Request
|
data/bin/sonic
CHANGED
@@ -1,7 +1,14 @@
|
|
1
1
|
#!/usr/bin/env ruby
|
2
2
|
|
3
|
+
# Trap ^C
|
4
|
+
Signal.trap("INT") {
|
5
|
+
puts "\nCtrl-C detected. Exiting..."
|
6
|
+
sleep 1
|
7
|
+
exit
|
8
|
+
}
|
9
|
+
|
3
10
|
$:.unshift(File.expand_path('../../lib', __FILE__))
|
4
11
|
require 'sonic'
|
5
12
|
require 'sonic/cli'
|
6
13
|
|
7
|
-
Sonic::CLI.start(ARGV)
|
14
|
+
Sonic::CLI.start(ARGV)
|
data/docs/.gitignore
ADDED
data/docs/CNAME
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
sonic-screwdriver.cloud
|
data/docs/Gemfile
ADDED
data/docs/LICENSE
ADDED
@@ -0,0 +1,21 @@
|
|
1
|
+
The MIT License (MIT)
|
2
|
+
|
3
|
+
Copyright (c) 2017 BoltOps
|
4
|
+
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
7
|
+
in the Software without restriction, including without limitation the rights
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
10
|
+
furnished to do so, subject to the following conditions:
|
11
|
+
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
13
|
+
copies or substantial portions of the Software.
|
14
|
+
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
21
|
+
SOFTWARE.
|
data/docs/README.md
ADDED
@@ -0,0 +1,21 @@
|
|
1
|
+
# Sonic Screwdriver Documentation
|
2
|
+
|
3
|
+
This project powers the sonic documementation website: [sonic-screwdriver.cloud](http://sonic-screwdriver.cloud). It is a static website generated by [Jekyll](https://jekyllrb.com/).
|
4
|
+
|
5
|
+
## Contributing
|
6
|
+
|
7
|
+
For minor changes like typos, you can click **Suggest an edit to this page**, located at the bottom of each article. This will take you to the source file on GitHub, where you can submit a pull request for your change through the UI.
|
8
|
+
|
9
|
+
## Local Setup
|
10
|
+
|
11
|
+
For larger fixes, you can run the site locally with the following:
|
12
|
+
|
13
|
+
```
|
14
|
+
git clone https://github.com/boltopslabs/sonic.git
|
15
|
+
cd sonic/docs
|
16
|
+
bundle
|
17
|
+
jekyll clean
|
18
|
+
jekyll serve
|
19
|
+
```
|
20
|
+
|
21
|
+
You'll be able to view the site on [http://localhost:4000](http://localhost:4000).
|
data/docs/_config.yml
ADDED
@@ -0,0 +1,69 @@
|
|
1
|
+
# Site settings
|
2
|
+
title: Sonic Screwdriver
|
3
|
+
email: tung@boltops.com
|
4
|
+
url: http://sonic-screwdriver.cloud
|
5
|
+
description: "Multi-functional tool to manage AWS infrastructure"
|
6
|
+
keywords: "AWS EC2 Container Service, AWS ECS, AWS EC2, ssh, debug, docker run, docker exec, productivity, tool"
|
7
|
+
skills: ""
|
8
|
+
meta_author: Tung Nguyen
|
9
|
+
|
10
|
+
# Google webmaster tools
|
11
|
+
google_verify:
|
12
|
+
|
13
|
+
# https://ssl.bing.com/webmaster/configure/verify/ownership Option 2 content= goes here
|
14
|
+
bing_verify:
|
15
|
+
|
16
|
+
# Contact form:
|
17
|
+
# - static : pass through formspree.io to validate email sending
|
18
|
+
# - disqus : replace contact form by disqus thread
|
19
|
+
# - comment the line below if you want to stick with the default PHP contact form
|
20
|
+
contact: static
|
21
|
+
|
22
|
+
# If you use disqus you need disqus shortname
|
23
|
+
# https://help.disqus.com/customer/portal/articles/466208
|
24
|
+
disqus_shortname:
|
25
|
+
|
26
|
+
# Color settings (hex-codes without the leading hash-tag)
|
27
|
+
color:
|
28
|
+
primary: 3972c7
|
29
|
+
primary-rgb: "24,288,156" #"128,179,255"
|
30
|
+
secondary: 2c3e50 #FD6E8A
|
31
|
+
secondary-dark: 233140 #A2122F
|
32
|
+
links: a3c8ff
|
33
|
+
|
34
|
+
# Footer settings
|
35
|
+
footer:
|
36
|
+
copyright: BoltOps, LLC
|
37
|
+
location: San Francisco, CA
|
38
|
+
social: BoltOps
|
39
|
+
credits:
|
40
|
+
contact: contact@boltops.com
|
41
|
+
phone:
|
42
|
+
|
43
|
+
# Social networks usernames (many more available: google-plus, flickr, dribbble, pinterest, instagram, tumblr, linkedin, etc.)
|
44
|
+
social:
|
45
|
+
- title: twitter
|
46
|
+
url: http://twitter.com/boltopslabs
|
47
|
+
- title: github
|
48
|
+
url: http://github.com/boltopslabs
|
49
|
+
|
50
|
+
# Credits content
|
51
|
+
credits: 'BoltOps, LLC'
|
52
|
+
|
53
|
+
# Build settings
|
54
|
+
markdown: kramdown
|
55
|
+
permalink: pretty
|
56
|
+
|
57
|
+
gh_url: "https://github.com/boltopslabs/sonic"
|
58
|
+
|
59
|
+
collections:
|
60
|
+
docs:
|
61
|
+
name: "Documentation"
|
62
|
+
output: true
|
63
|
+
|
64
|
+
defaults:
|
65
|
+
- values:
|
66
|
+
layout: default
|
67
|
+
|
68
|
+
plugins_dir:
|
69
|
+
- jekyll-coffeescript
|