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.
Files changed (110) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +11 -0
  3. data/Gemfile.lock +26 -2
  4. data/README.md +156 -23
  5. data/bin/sonic +8 -1
  6. data/docs/.gitignore +4 -0
  7. data/docs/CNAME +1 -0
  8. data/docs/Gemfile +3 -0
  9. data/docs/LICENSE +21 -0
  10. data/docs/README.md +21 -0
  11. data/docs/_config.yml +69 -0
  12. data/docs/_docs/commands.md +10 -0
  13. data/docs/_docs/how-it-works.md +34 -0
  14. data/docs/_docs/install.md +75 -0
  15. data/docs/_docs/next-steps.md +18 -0
  16. data/docs/_docs/settings.md +73 -0
  17. data/docs/_docs/sonic-ecs-exec.md +7 -0
  18. data/docs/_docs/sonic-ecs-run.md +7 -0
  19. data/docs/_docs/sonic-execute.md +7 -0
  20. data/docs/_docs/sonic-help.md +7 -0
  21. data/docs/_docs/sonic-list.md +7 -0
  22. data/docs/_docs/sonic-ssh.md +7 -0
  23. data/docs/_docs/tutorial-ecs-exec.md +69 -0
  24. data/docs/_docs/tutorial-ecs-run.md +94 -0
  25. data/docs/_docs/tutorial-execute.md +38 -0
  26. data/docs/_docs/tutorial-ssh.md +119 -0
  27. data/docs/_docs/tutorial.md +11 -0
  28. data/docs/_docs/why.md +27 -0
  29. data/docs/_includes/about.html +19 -0
  30. data/docs/_includes/commands.html +28 -0
  31. data/docs/_includes/contact.html +17 -0
  32. data/docs/_includes/contact_disqus.html +16 -0
  33. data/docs/_includes/contact_static.html +17 -0
  34. data/docs/_includes/content.html +21 -0
  35. data/docs/_includes/css/bootstrap.min.css +7 -0
  36. data/docs/_includes/css/main.css +481 -0
  37. data/docs/_includes/css/quotes.css +102 -0
  38. data/docs/_includes/css/sonic.css +163 -0
  39. data/docs/_includes/css/syntax.css +60 -0
  40. data/docs/_includes/css/table.css +53 -0
  41. data/docs/_includes/css/timeline.css +201 -0
  42. data/docs/_includes/edit-on-github.html +11 -0
  43. data/docs/_includes/example.html +21 -0
  44. data/docs/_includes/footer.html +49 -0
  45. data/docs/_includes/head.html +32 -0
  46. data/docs/_includes/header.html +15 -0
  47. data/docs/_includes/js.html +28 -0
  48. data/docs/_includes/js_disqus.html +21 -0
  49. data/docs/_includes/modals.html +40 -0
  50. data/docs/_includes/nav.html +27 -0
  51. data/docs/_includes/quotes.html +19 -0
  52. data/docs/_includes/subnav.html +35 -0
  53. data/docs/_includes/ufo-ship-options.md +13 -0
  54. data/docs/_includes/uses.html +19 -0
  55. data/docs/_layouts/default.html +11 -0
  56. data/docs/_layouts/style.css +6 -0
  57. data/docs/articles.md +5 -0
  58. data/docs/css/font-awesome/css/font-awesome.css +1566 -0
  59. data/docs/css/font-awesome/css/font-awesome.min.css +4 -0
  60. data/docs/css/font-awesome/fonts/FontAwesome.otf +0 -0
  61. data/docs/css/font-awesome/fonts/fontawesome-webfont.eot +0 -0
  62. data/docs/css/font-awesome/fonts/fontawesome-webfont.svg +504 -0
  63. data/docs/css/font-awesome/fonts/fontawesome-webfont.ttf +0 -0
  64. data/docs/css/font-awesome/fonts/fontawesome-webfont.woff +0 -0
  65. data/docs/docs.md +21 -0
  66. data/docs/img/logos/boltops-logo-full.png +0 -0
  67. data/docs/img/logos/boltops-logo.png +0 -0
  68. data/docs/img/sonic-screwdriver.jpg +0 -0
  69. data/docs/img/tutorials/ec2-console-public-ip.png +0 -0
  70. data/docs/img/ufo.jpg +0 -0
  71. data/docs/index.html +9 -0
  72. data/docs/js/bootstrap.js +2114 -0
  73. data/docs/js/bootstrap.min.js +6 -0
  74. data/docs/js/cbpAnimatedHeader.js +44 -0
  75. data/docs/js/cbpAnimatedHeader.min.js +11 -0
  76. data/docs/js/classie.js +80 -0
  77. data/docs/js/contact_me.js +70 -0
  78. data/docs/js/contact_me_static.js +23 -0
  79. data/docs/js/freelancer.js +37 -0
  80. data/docs/js/jqBootstrapValidation.js +912 -0
  81. data/docs/js/jquery-1.11.0.js +4 -0
  82. data/docs/js/jquery.easing.min.js +44 -0
  83. data/docs/js/nav.js +53 -0
  84. data/docs/quick-start.md +39 -0
  85. data/docs/style.css +3 -0
  86. data/lib/bash_scripts/docker-exec.sh +15 -0
  87. data/lib/bash_scripts/docker-run.sh +15 -0
  88. data/lib/sonic.rb +11 -2
  89. data/lib/sonic/aws_services.rb +19 -0
  90. data/lib/sonic/cli.rb +37 -8
  91. data/lib/sonic/cli/help.rb +123 -3
  92. data/lib/sonic/default/settings.yml +12 -0
  93. data/lib/sonic/docker.rb +128 -0
  94. data/lib/sonic/execute.rb +131 -0
  95. data/lib/sonic/list.rb +85 -0
  96. data/lib/sonic/settings.rb +80 -0
  97. data/lib/sonic/ssh.rb +136 -0
  98. data/lib/sonic/ssh/ec2_tag.rb +59 -0
  99. data/lib/sonic/ssh/identifier_detector.rb +145 -0
  100. data/lib/sonic/ui.rb +26 -0
  101. data/lib/sonic/version.rb +2 -2
  102. data/qa.md +21 -0
  103. data/sonic.gemspec +3 -1
  104. data/spec/fixtures/home/.gitkeep +0 -0
  105. data/spec/fixtures/project/.gitkeep +0 -0
  106. data/spec/fixtures/project/command.txt +2 -0
  107. data/spec/lib/cli_spec.rb +16 -6
  108. data/spec/lib/sonic/execute_spec.rb +35 -0
  109. data/spec/spec_helper.rb +5 -3
  110. metadata +133 -3
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: d74c2f1afc6d149f9939ba2c14a3d0994b764da9
4
- data.tar.gz: b5427517877def31a8f04d75ffb500a6f06dc38d
3
+ metadata.gz: 37ec82ca43bde6ed94fef35b7c6f275890be09f3
4
+ data.tar.gz: dcb1bbf176d88da619c25561b1f947b2cbc52e28
5
5
  SHA512:
6
- metadata.gz: 91ce81d1298f9235c7fbddf58990ae0cf5b199a1215660a61e81a324402204582cbf71682570f1e606e6abd7e2401c7b1bcb5293fbd6e3fded1d1aa6fd27d326
7
- data.tar.gz: e7f9c7d8671adffa763ff2606d275ff0c4a3b79c3a25a94090fedbaf0c6682c860b99627617ab1e7104c07815d9fd446aff455aa546449f4bab075cde4799cf3
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.8)
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
- [![Build Status](https://magnum.travis-ci.com/)](https://magnum.travis-ci.com/)
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
- To these the sonic, run these commands:
5
+ ## Why Sonic Was Created
8
6
 
9
- TODO: Write a gem description
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
- ## Installation
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
- Add this line to your application's Gemfile:
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
- gem 'sonic'
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
- And then execute:
25
+ ## Install
18
26
 
19
- $ bundle
27
+ ### Install Via RubyGems
20
28
 
21
- Or install it yourself as:
29
+ ```
30
+ gem install sonic-screwdriver
31
+ ```
22
32
 
23
- $ gem install sonic
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
- <pre>
28
- git clone https://github.com/tongueroo/sonic.git
29
- mv sonic <project_name>
30
- cd <project_name>
31
- rake rename
32
- rm -rf .git
33
- git init
34
- git add .
35
- git commit -m 'init commit'
36
- </pre>
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
@@ -0,0 +1,4 @@
1
+ _site
2
+ .sass-cache
3
+ .jekyll-metadata
4
+ Gemfile.lock
data/docs/CNAME ADDED
@@ -0,0 +1 @@
1
+ sonic-screwdriver.cloud
data/docs/Gemfile ADDED
@@ -0,0 +1,3 @@
1
+ source "https://rubygems.org"
2
+
3
+ gem "jekyll"
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