roro 0.3.4 → 0.3.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.gitignore +15 -2
- data/Guardfile +3 -6
- data/lib/roro.rb +1 -1
- data/lib/roro/cli.rb +75 -6
- data/lib/roro/cli/base/base.rb +2 -1
- data/lib/roro/cli/base/base_files.rb +4 -18
- data/lib/roro/cli/base/check_dependencies.rb +98 -0
- data/lib/roro/cli/base/insert_gems.rb +15 -7
- data/lib/roro/cli/base/insertions.rb +3 -1
- data/lib/roro/cli/base/utilities.rb +22 -0
- data/lib/roro/cli/cli.rb +99 -0
- data/lib/roro/cli/configuration.rb +69 -0
- data/lib/roro/cli/expose.rb +8 -7
- data/lib/roro/cli/generate/config.rb +13 -0
- data/lib/roro/cli/generate/config/rails.rb +17 -0
- data/lib/roro/cli/generate/generate.rb +1 -0
- data/lib/roro/cli/generate/generate_keys.rb +47 -0
- data/lib/roro/cli/greenfield.rb +22 -91
- data/lib/roro/cli/obfuscate.rb +10 -11
- data/lib/roro/cli/rollon.rb +74 -18
- data/lib/roro/cli/rollon/stories.rb +2 -0
- data/{.keep → lib/roro/cli/rollon/stories/database.rb} +0 -0
- data/lib/roro/cli/rollon/stories/rails.rb +1 -0
- data/lib/roro/cli/{templates/base/roro → rollon/stories/rails}/.keep +0 -0
- data/lib/roro/cli/rollon/stories/rails/database.rb +33 -0
- data/lib/roro/cli/rollon/stories/rails/database/with_mysql.rb +22 -0
- data/lib/roro/cli/rollon/stories/rails/database/with_postgresql.rb +21 -0
- data/lib/roro/cli/rollon/stories/ruby_gem.rb +77 -0
- data/lib/roro/cli/rollon/stories/ruby_gem/with_ci_cd.rb +81 -0
- data/lib/roro/cli/rollon/stories/stories.rb +3 -0
- data/lib/roro/cli/roro_configurator.yml +157 -0
- data/lib/roro/cli/ruby_gem.rb +60 -47
- data/lib/roro/cli/templates/base/.dockerignore +48 -10
- data/lib/roro/cli/templates/base/.roro_config.yml +15 -0
- data/lib/roro/cli/templates/base/Dockerfile.tt +82 -0
- data/lib/roro/cli/templates/base/config/database.mysql.yml +19 -0
- data/lib/roro/cli/templates/base/config/{database.yml → database.pg.yml} +0 -0
- data/lib/roro/cli/templates/greenfield/Dockerfile.tt +29 -7
- data/lib/roro/cli/templates/{base/livereload → livereload}/hosts.example +0 -0
- data/lib/roro/cli/templates/{base/roro/containers → roro}/.keep +0 -0
- data/lib/roro/cli/templates/{dockerize/docker-compose.yml → roro/docker-compose.yml.tt} +18 -18
- data/lib/roro/cli/templates/{base/roro/containers/app → roro/roro}/.keep +0 -0
- data/lib/roro/cli/templates/{base/roro/containers/frontend → roro/roro/containers}/.keep +0 -0
- data/lib/roro/cli/templates/{dockerize/.env → roro/roro/containers/app}/.keep +0 -0
- data/lib/roro/cli/templates/{dockerize/.env/development → roro/roro/containers/frontend}/.keep +0 -0
- data/lib/roro/cli/templates/{quickstart/entrypoint.sh → roro/roro/docker-entrypoint.sh.tt} +1 -1
- data/lib/roro/cli/templates/ruby_gem/.circleci/config.yml +17 -0
- data/lib/roro/cli/templates/ruby_gem/docker-compose.yml +6 -4
- data/lib/roro/cli/templates/ruby_gem/roro/ci.env.tt +1 -0
- data/lib/roro/cli/templates/{dockerize → ruby_gem/roro/containers}/.keep +0 -0
- data/lib/roro/cli/templates/ruby_gem/roro/containers/ruby_image/Dockerfile.tt +16 -0
- data/lib/roro/cli/templates/ruby_gem/{docker/env_files → roro/keys}/.keep +0 -0
- data/lib/roro/cli/templates/{ruby_gem/docker/keys → stories}/.keep +0 -0
- data/lib/roro/cli/templates/stories/with_mysql/_service.yml +10 -0
- data/lib/roro/cli/templates/stories/with_postgresql/.keep +0 -0
- data/lib/roro/cli/templates/stories/with_postgresql/_service.yml +7 -0
- data/lib/roro/version.rb +1 -1
- data/roro.gemspec +5 -4
- data/sandbox/.keep +0 -0
- data/vendor/cache/concurrent-ruby-1.1.7.gem +0 -0
- data/vendor/cache/gem-release-2.1.1.gem +0 -0
- data/vendor/cache/mocha-1.11.2.gem +0 -0
- metadata +86 -55
- data/lib/roro/cli/base/configuration.rb +0 -63
- data/lib/roro/cli/generate_keys.rb +0 -79
- data/lib/roro/cli/rollon/as_dockerize.rb +0 -28
- data/lib/roro/cli/rollon/as_quickstart.rb +0 -17
- data/lib/roro/cli/rollon/as_roro.rb +0 -30
- data/lib/roro/cli/rollon/use_cases.rb +0 -3
- data/lib/roro/cli/templates/base/circleci/config.yml.tt +0 -70
- data/lib/roro/cli/templates/base/docker-compose.yml.tt +0 -53
- data/lib/roro/cli/templates/base/roro/containers/app/Dockerfile.tt +0 -32
- data/lib/roro/cli/templates/base/roro/containers/app/development.env.tt +0 -1
- data/lib/roro/cli/templates/base/roro/containers/app/docker-entrypoint.sh +0 -8
- data/lib/roro/cli/templates/base/roro/containers/app/test.env.tt +0 -1
- data/lib/roro/cli/templates/base/roro/containers/database/development.env.tt +0 -4
- data/lib/roro/cli/templates/base/roro/containers/database/test.env.tt +0 -4
- data/lib/roro/cli/templates/dockerize/.env/development/database +0 -3
- data/lib/roro/cli/templates/dockerize/.env/development/web +0 -1
- data/lib/roro/cli/templates/dockerize/Dockerfile.tt +0 -23
- data/lib/roro/cli/templates/dockerize/docker-entrypoint.sh +0 -9
- data/lib/roro/cli/templates/greenfield/Gemfile +0 -2
- data/lib/roro/cli/templates/greenfield/config/database.yml.example +0 -16
- data/lib/roro/cli/templates/greenfield/docker-compose.yml +0 -17
- data/lib/roro/cli/templates/greenfield/docker-entrypoint.sh +0 -8
- data/lib/roro/cli/templates/quickstart/Dockerfile.tt +0 -20
- data/lib/roro/cli/templates/quickstart/database.yml +0 -85
- data/lib/roro/cli/templates/quickstart/docker-compose.yml +0 -17
- data/lib/roro/cli/templates/ruby_gem/.gitignore +0 -8
- data/lib/roro/cli/templates/ruby_gem/config.yml +0 -122
- data/lib/roro/cli/templates/ruby_gem/docker/containers/app/Dockerfile.tt +0 -10
- data/vendor/cache/concurrent-ruby-1.1.6.gem +0 -0
Binary file
|
Binary file
|
metadata
CHANGED
@@ -1,29 +1,43 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: roro
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.3.
|
4
|
+
version: 0.3.9
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- schadenfred
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2020-08-
|
11
|
+
date: 2020-08-22 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: gem-release
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - "~>"
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: '2.1'
|
20
|
+
type: :runtime
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - "~>"
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: '2.1'
|
13
27
|
- !ruby/object:Gem::Dependency
|
14
28
|
name: thor
|
15
29
|
requirement: !ruby/object:Gem::Requirement
|
16
30
|
requirements:
|
17
|
-
- - "
|
31
|
+
- - "~>"
|
18
32
|
- !ruby/object:Gem::Version
|
19
|
-
version: '0'
|
33
|
+
version: '1.0'
|
20
34
|
type: :runtime
|
21
35
|
prerelease: false
|
22
36
|
version_requirements: !ruby/object:Gem::Requirement
|
23
37
|
requirements:
|
24
|
-
- - "
|
38
|
+
- - "~>"
|
25
39
|
- !ruby/object:Gem::Version
|
26
|
-
version: '0'
|
40
|
+
version: '1.0'
|
27
41
|
- !ruby/object:Gem::Dependency
|
28
42
|
name: os
|
29
43
|
requirement: !ruby/object:Gem::Requirement
|
@@ -56,16 +70,30 @@ dependencies:
|
|
56
70
|
name: handsome_fencer-crypto
|
57
71
|
requirement: !ruby/object:Gem::Requirement
|
58
72
|
requirements:
|
59
|
-
- -
|
73
|
+
- - ">="
|
60
74
|
- !ruby/object:Gem::Version
|
61
|
-
version: 0
|
75
|
+
version: '0'
|
62
76
|
type: :runtime
|
63
77
|
prerelease: false
|
64
78
|
version_requirements: !ruby/object:Gem::Requirement
|
65
79
|
requirements:
|
66
|
-
- -
|
80
|
+
- - ">="
|
67
81
|
- !ruby/object:Gem::Version
|
68
|
-
version: 0
|
82
|
+
version: '0'
|
83
|
+
- !ruby/object:Gem::Dependency
|
84
|
+
name: byebug
|
85
|
+
requirement: !ruby/object:Gem::Requirement
|
86
|
+
requirements:
|
87
|
+
- - ">="
|
88
|
+
- !ruby/object:Gem::Version
|
89
|
+
version: '0'
|
90
|
+
type: :runtime
|
91
|
+
prerelease: false
|
92
|
+
version_requirements: !ruby/object:Gem::Requirement
|
93
|
+
requirements:
|
94
|
+
- - ">="
|
95
|
+
- !ruby/object:Gem::Version
|
96
|
+
version: '0'
|
69
97
|
- !ruby/object:Gem::Dependency
|
70
98
|
name: bundler
|
71
99
|
requirement: !ruby/object:Gem::Requirement
|
@@ -109,7 +137,7 @@ dependencies:
|
|
109
137
|
- !ruby/object:Gem::Version
|
110
138
|
version: 0.1.1
|
111
139
|
- !ruby/object:Gem::Dependency
|
112
|
-
name:
|
140
|
+
name: mocha
|
113
141
|
requirement: !ruby/object:Gem::Requirement
|
114
142
|
requirements:
|
115
143
|
- - ">="
|
@@ -133,7 +161,6 @@ extensions: []
|
|
133
161
|
extra_rdoc_files: []
|
134
162
|
files:
|
135
163
|
- ".gitignore"
|
136
|
-
- ".keep"
|
137
164
|
- ".ruby-gemset"
|
138
165
|
- ".travis.yml"
|
139
166
|
- CODE_OF_CONDUCT.md
|
@@ -149,51 +176,44 @@ files:
|
|
149
176
|
- lib/roro/cli.rb
|
150
177
|
- lib/roro/cli/base/base.rb
|
151
178
|
- lib/roro/cli/base/base_files.rb
|
152
|
-
- lib/roro/cli/base/
|
179
|
+
- lib/roro/cli/base/check_dependencies.rb
|
153
180
|
- lib/roro/cli/base/continuous_integration.rb
|
154
181
|
- lib/roro/cli/base/insert_gems.rb
|
155
182
|
- lib/roro/cli/base/insertions.rb
|
156
183
|
- lib/roro/cli/base/utilities.rb
|
184
|
+
- lib/roro/cli/cli.rb
|
185
|
+
- lib/roro/cli/configuration.rb
|
157
186
|
- lib/roro/cli/expose.rb
|
158
|
-
- lib/roro/cli/
|
187
|
+
- lib/roro/cli/generate/config.rb
|
188
|
+
- lib/roro/cli/generate/config/rails.rb
|
189
|
+
- lib/roro/cli/generate/generate.rb
|
190
|
+
- lib/roro/cli/generate/generate_keys.rb
|
159
191
|
- lib/roro/cli/greenfield.rb
|
160
192
|
- lib/roro/cli/obfuscate.rb
|
161
193
|
- lib/roro/cli/rollon.rb
|
162
|
-
- lib/roro/cli/rollon/
|
163
|
-
- lib/roro/cli/rollon/
|
164
|
-
- lib/roro/cli/rollon/
|
165
|
-
- lib/roro/cli/rollon/
|
194
|
+
- lib/roro/cli/rollon/stories.rb
|
195
|
+
- lib/roro/cli/rollon/stories/database.rb
|
196
|
+
- lib/roro/cli/rollon/stories/rails.rb
|
197
|
+
- lib/roro/cli/rollon/stories/rails/.keep
|
198
|
+
- lib/roro/cli/rollon/stories/rails/database.rb
|
199
|
+
- lib/roro/cli/rollon/stories/rails/database/with_mysql.rb
|
200
|
+
- lib/roro/cli/rollon/stories/rails/database/with_postgresql.rb
|
201
|
+
- lib/roro/cli/rollon/stories/ruby_gem.rb
|
202
|
+
- lib/roro/cli/rollon/stories/ruby_gem/with_ci_cd.rb
|
203
|
+
- lib/roro/cli/rollon/stories/stories.rb
|
204
|
+
- lib/roro/cli/roro_configurator.yml
|
166
205
|
- lib/roro/cli/ruby_gem.rb
|
167
206
|
- lib/roro/cli/templates/base/.dockerignore
|
207
|
+
- lib/roro/cli/templates/base/.env/.keep
|
208
|
+
- lib/roro/cli/templates/base/.env/database.mysql.env.tt
|
209
|
+
- lib/roro/cli/templates/base/.env/database.pg.env.tt
|
210
|
+
- lib/roro/cli/templates/base/.env/web.env.tt
|
168
211
|
- lib/roro/cli/templates/base/.keep
|
169
|
-
- lib/roro/cli/templates/base
|
170
|
-
- lib/roro/cli/templates/base/
|
171
|
-
- lib/roro/cli/templates/base/
|
172
|
-
- lib/roro/cli/templates/base/
|
173
|
-
- lib/roro/cli/templates/base/roro/.keep
|
174
|
-
- lib/roro/cli/templates/base/roro/containers/.keep
|
175
|
-
- lib/roro/cli/templates/base/roro/containers/app/.keep
|
176
|
-
- lib/roro/cli/templates/base/roro/containers/app/Dockerfile.tt
|
177
|
-
- lib/roro/cli/templates/base/roro/containers/app/development.env.tt
|
178
|
-
- lib/roro/cli/templates/base/roro/containers/app/docker-entrypoint.sh
|
179
|
-
- lib/roro/cli/templates/base/roro/containers/app/test.env.tt
|
180
|
-
- lib/roro/cli/templates/base/roro/containers/database/development.env.tt
|
181
|
-
- lib/roro/cli/templates/base/roro/containers/database/test.env.tt
|
182
|
-
- lib/roro/cli/templates/base/roro/containers/frontend/.keep
|
183
|
-
- lib/roro/cli/templates/dockerize/.env/.keep
|
184
|
-
- lib/roro/cli/templates/dockerize/.env/development/.keep
|
185
|
-
- lib/roro/cli/templates/dockerize/.env/development/database
|
186
|
-
- lib/roro/cli/templates/dockerize/.env/development/web
|
187
|
-
- lib/roro/cli/templates/dockerize/.keep
|
188
|
-
- lib/roro/cli/templates/dockerize/Dockerfile.tt
|
189
|
-
- lib/roro/cli/templates/dockerize/docker-compose.yml
|
190
|
-
- lib/roro/cli/templates/dockerize/docker-entrypoint.sh
|
212
|
+
- lib/roro/cli/templates/base/.roro_config.yml
|
213
|
+
- lib/roro/cli/templates/base/Dockerfile.tt
|
214
|
+
- lib/roro/cli/templates/base/config/database.mysql.yml
|
215
|
+
- lib/roro/cli/templates/base/config/database.pg.yml
|
191
216
|
- lib/roro/cli/templates/greenfield/Dockerfile.tt
|
192
|
-
- lib/roro/cli/templates/greenfield/Gemfile
|
193
|
-
- lib/roro/cli/templates/greenfield/Gemfile.lock
|
194
|
-
- lib/roro/cli/templates/greenfield/config/database.yml.example
|
195
|
-
- lib/roro/cli/templates/greenfield/docker-compose.yml
|
196
|
-
- lib/roro/cli/templates/greenfield/docker-entrypoint.sh
|
197
217
|
- lib/roro/cli/templates/jumpstart/.env/.keep
|
198
218
|
- lib/roro/cli/templates/jumpstart/.env/development/.keep
|
199
219
|
- lib/roro/cli/templates/jumpstart/.env/development/database
|
@@ -202,20 +222,29 @@ files:
|
|
202
222
|
- lib/roro/cli/templates/jumpstart/Dockerfile.tt
|
203
223
|
- lib/roro/cli/templates/jumpstart/docker-compose.yml
|
204
224
|
- lib/roro/cli/templates/jumpstart/docker-entrypoint.sh
|
205
|
-
- lib/roro/cli/templates/
|
206
|
-
- lib/roro/cli/templates/
|
207
|
-
- lib/roro/cli/templates/
|
208
|
-
- lib/roro/cli/templates/
|
209
|
-
- lib/roro/cli/templates/
|
210
|
-
- lib/roro/cli/templates/
|
225
|
+
- lib/roro/cli/templates/livereload/hosts.example
|
226
|
+
- lib/roro/cli/templates/roro/.keep
|
227
|
+
- lib/roro/cli/templates/roro/docker-compose.yml.tt
|
228
|
+
- lib/roro/cli/templates/roro/roro/.keep
|
229
|
+
- lib/roro/cli/templates/roro/roro/containers/.keep
|
230
|
+
- lib/roro/cli/templates/roro/roro/containers/app/.keep
|
231
|
+
- lib/roro/cli/templates/roro/roro/containers/frontend/.keep
|
232
|
+
- lib/roro/cli/templates/roro/roro/docker-entrypoint.sh.tt
|
233
|
+
- lib/roro/cli/templates/ruby_gem/.circleci/config.yml
|
211
234
|
- lib/roro/cli/templates/ruby_gem/docker-compose.yml
|
212
|
-
- lib/roro/cli/templates/ruby_gem/
|
213
|
-
- lib/roro/cli/templates/ruby_gem/
|
214
|
-
- lib/roro/cli/templates/ruby_gem/
|
235
|
+
- lib/roro/cli/templates/ruby_gem/roro/ci.env.tt
|
236
|
+
- lib/roro/cli/templates/ruby_gem/roro/containers/.keep
|
237
|
+
- lib/roro/cli/templates/ruby_gem/roro/containers/ruby_image/Dockerfile.tt
|
238
|
+
- lib/roro/cli/templates/ruby_gem/roro/keys/.keep
|
215
239
|
- lib/roro/cli/templates/ruby_gem/setup-gem-credentials.sh
|
240
|
+
- lib/roro/cli/templates/stories/.keep
|
241
|
+
- lib/roro/cli/templates/stories/with_mysql/_service.yml
|
242
|
+
- lib/roro/cli/templates/stories/with_postgresql/.keep
|
243
|
+
- lib/roro/cli/templates/stories/with_postgresql/_service.yml
|
216
244
|
- lib/roro/version.rb
|
217
245
|
- lib/tasks/deploy.rake
|
218
246
|
- roro.gemspec
|
247
|
+
- sandbox/.keep
|
219
248
|
- vendor/bundle/.keep
|
220
249
|
- vendor/cache/actionpack-6.0.3.2.gem
|
221
250
|
- vendor/cache/actionview-6.0.3.2.gem
|
@@ -224,13 +253,14 @@ files:
|
|
224
253
|
- vendor/cache/builder-3.2.4.gem
|
225
254
|
- vendor/cache/byebug-11.1.3.gem
|
226
255
|
- vendor/cache/coderay-1.1.3.gem
|
227
|
-
- vendor/cache/concurrent-ruby-1.1.
|
256
|
+
- vendor/cache/concurrent-ruby-1.1.7.gem
|
228
257
|
- vendor/cache/crass-1.0.6.gem
|
229
258
|
- vendor/cache/em-websocket-0.5.1.gem
|
230
259
|
- vendor/cache/erubi-1.9.0.gem
|
231
260
|
- vendor/cache/eventmachine-1.2.7.gem
|
232
261
|
- vendor/cache/ffi-1.13.1.gem
|
233
262
|
- vendor/cache/formatador-0.2.5.gem
|
263
|
+
- vendor/cache/gem-release-2.1.1.gem
|
234
264
|
- vendor/cache/given_core-3.8.0.gem
|
235
265
|
- vendor/cache/guard-2.16.2.gem
|
236
266
|
- vendor/cache/guard-compat-1.2.1.gem
|
@@ -250,6 +280,7 @@ files:
|
|
250
280
|
- vendor/cache/minitest-given-3.8.0.gem
|
251
281
|
- vendor/cache/minitest-matchers_vaccine-1.0.4.gem
|
252
282
|
- vendor/cache/minitest-rails-6.0.1.gem
|
283
|
+
- vendor/cache/mocha-1.11.2.gem
|
253
284
|
- vendor/cache/multi_json-1.15.0.gem
|
254
285
|
- vendor/cache/nenv-0.3.0.gem
|
255
286
|
- vendor/cache/net-scp-3.0.0.gem
|
@@ -1,63 +0,0 @@
|
|
1
|
-
|
2
|
-
module Roro
|
3
|
-
|
4
|
-
class CLI < Thor
|
5
|
-
|
6
|
-
no_commands do
|
7
|
-
|
8
|
-
def get_configuration_variables
|
9
|
-
options["interactive"] ? set_interactively : set_from_defaults
|
10
|
-
@env_hash[:deploy_tag] = "${CIRCLE_SHA1:0:7}"
|
11
|
-
@env_hash[:server_port] = "22"
|
12
|
-
@env_hash[:server_user] = "root"
|
13
|
-
@env_hash
|
14
|
-
end
|
15
|
-
|
16
|
-
def set_from_defaults
|
17
|
-
@env_hash = configuration_hash
|
18
|
-
@env_hash.map do |key, hash|
|
19
|
-
@env_hash[key] = hash.values.last
|
20
|
-
end
|
21
|
-
@env_hash
|
22
|
-
end
|
23
|
-
|
24
|
-
def set_interactively
|
25
|
-
@env_hash = configuration_hash
|
26
|
-
@env_hash.map do |key, prompt|
|
27
|
-
answer = ask("Please provide #{prompt.keys.first} or hit enter to accept: \[ #{prompt.values.first} \]")
|
28
|
-
@env_hash[key] = (answer == "") ? prompt.values.first : answer
|
29
|
-
end
|
30
|
-
end
|
31
|
-
|
32
|
-
private
|
33
|
-
|
34
|
-
def configuration_hash
|
35
|
-
{
|
36
|
-
app_name: {
|
37
|
-
"the name of your app" => `pwd`.split('/').last.strip! },
|
38
|
-
ruby_version: {
|
39
|
-
"the version of ruby you'd like" => `ruby -v`.scan(/\d.\d/).first },
|
40
|
-
server_host: {
|
41
|
-
"the ip address of your server" => "ip-address-of-your-server"},
|
42
|
-
database_container: {
|
43
|
-
"the name of your database container" => "database"},
|
44
|
-
frontend_container: {
|
45
|
-
"the name of your frontend container" => "frontend"},
|
46
|
-
server_container: {
|
47
|
-
"the name of your server container" => "nginx"},
|
48
|
-
dockerhub_email: {
|
49
|
-
"your Docker Hub email" => "your-docker-hub-email"},
|
50
|
-
dockerhub_user: {
|
51
|
-
"your Docker Hub username" => "your-docker-hub-user-name" },
|
52
|
-
dockerhub_org: {
|
53
|
-
"your Docker Hub organization name" => "your-docker-hub-org-name"},
|
54
|
-
dockerhub_password: {
|
55
|
-
"your Docker Hub password" => "your-docker-hub-password"},
|
56
|
-
postgres_user: {
|
57
|
-
"your Postgres username" => "postgres"},
|
58
|
-
postgres_password: {
|
59
|
-
"your Postgres password" => "your-postgres-password"} }
|
60
|
-
end
|
61
|
-
end
|
62
|
-
end
|
63
|
-
end
|
@@ -1,79 +0,0 @@
|
|
1
|
-
require 'openssl'
|
2
|
-
require 'base64'
|
3
|
-
require 'handsome_fencer/crypto'
|
4
|
-
|
5
|
-
module Roro
|
6
|
-
|
7
|
-
class CLI < Thor
|
8
|
-
|
9
|
-
include Thor::Actions
|
10
|
-
include HandsomeFencer::Crypto
|
11
|
-
|
12
|
-
desc "generate_keys", "Generates keys for all environments. If you have .env files like './**/production.env' and './**/staging.env' this command assumes you need keys for the production and staging environments, and will generate them for you."
|
13
|
-
|
14
|
-
def generate_keys
|
15
|
-
generate_key
|
16
|
-
end
|
17
|
-
|
18
|
-
desc "generate_key", "Generate a key for each environment"
|
19
|
-
method_option :environment, type: :hash, default: {}, desc: "Pass a list of environment variables like so: env:var", banner: "development, staging"
|
20
|
-
|
21
|
-
def generate_key(*args)
|
22
|
-
environments = args.first ? [args.first] : gather_environments
|
23
|
-
environments.each do |environment|
|
24
|
-
confirm_files_decrypted?(environment)
|
25
|
-
create_file "docker/keys/#{environment}.key", encoded_key
|
26
|
-
end
|
27
|
-
end
|
28
|
-
|
29
|
-
no_commands do
|
30
|
-
|
31
|
-
def encoded_key
|
32
|
-
@cipher = OpenSSL::Cipher.new 'AES-128-CBC'
|
33
|
-
@salt = '8 octets'
|
34
|
-
@new_key = @cipher.random_key
|
35
|
-
Base64.encode64(@new_key)
|
36
|
-
end
|
37
|
-
|
38
|
-
def gather_environments
|
39
|
-
environments = []
|
40
|
-
['.env', '.env.enc'].each do |extension|
|
41
|
-
|
42
|
-
HandsomeFencer::Crypto.source_files('.', extension).each do |env_file|
|
43
|
-
environments << env_file.split('/').last.split(extension).last
|
44
|
-
end
|
45
|
-
end
|
46
|
-
environments.uniq
|
47
|
-
end
|
48
|
-
|
49
|
-
def confirm_files_decrypted?(environment)
|
50
|
-
orphan_encrypted = []
|
51
|
-
HandsomeFencer::Crypto.source_files('.', '.env.enc').each do |file|
|
52
|
-
orphan_encrypted << file unless File.exist? file.split('.enc').first
|
53
|
-
end
|
54
|
-
|
55
|
-
if !orphan_encrypted.empty?
|
56
|
-
raise Roro::Error.new("You have an encrypted files (.env.enc) #{orphan_encrypted} that do not have corresponding decrypted files (.env). Please decrypt or remove these encrypted files before generating a new key for #{environment}.")
|
57
|
-
end
|
58
|
-
true
|
59
|
-
end
|
60
|
-
end
|
61
|
-
end
|
62
|
-
|
63
|
-
# desc "generate keys", "Generate keys on a per-environment basis"
|
64
|
-
#
|
65
|
-
# method_option :environment, type: :string, default: {}, desc: "Pass a list of environment variables like so: env:var", banner: "development, staging"
|
66
|
-
#
|
67
|
-
|
68
|
-
# def generate_keys
|
69
|
-
# default_environments = %w[circleci development production]
|
70
|
-
# environments = args.first ? [args.first] : default_environments
|
71
|
-
# environments.each do |environment|
|
72
|
-
# @cipher = OpenSSL::Cipher.new 'AES-128-CBC'
|
73
|
-
# @salt = '8 octets'
|
74
|
-
# @new_key = @cipher.random_key
|
75
|
-
#
|
76
|
-
# create_file "docker/keys/#{environment}.key", Base64.encode64(@new_key)
|
77
|
-
# end
|
78
|
-
# end
|
79
|
-
end
|
@@ -1,28 +0,0 @@
|
|
1
|
-
module Roro
|
2
|
-
|
3
|
-
class CLI < Thor
|
4
|
-
|
5
|
-
no_commands do
|
6
|
-
|
7
|
-
def rollon_as_dockerized
|
8
|
-
copy_dockerignore
|
9
|
-
if @env_hash[:use_force][:force]
|
10
|
-
config_std_out_true
|
11
|
-
else
|
12
|
-
if ask('Configure $stdout.sync for docker?', choices).eql?('y')
|
13
|
-
end
|
14
|
-
end
|
15
|
-
copy_config_database_yml
|
16
|
-
insert_pg_gem_into_gemfile
|
17
|
-
copy_file 'dockerize/docker-compose.yml', 'docker-compose.yml'
|
18
|
-
template "dockerize/Dockerfile", 'Dockerfile', @env_hash
|
19
|
-
copy_file 'dockerize/docker-entrypoint.sh', 'docker-entrypoint.sh'
|
20
|
-
directory 'dockerize/.env', '.env'
|
21
|
-
system 'docker-compose build'
|
22
|
-
system 'docker-compose run --no-deps web bin/rails webpacker:install'
|
23
|
-
system 'docker-compose up'
|
24
|
-
copy_host_example
|
25
|
-
end
|
26
|
-
end
|
27
|
-
end
|
28
|
-
end
|
@@ -1,17 +0,0 @@
|
|
1
|
-
module Roro
|
2
|
-
class CLI < Thor
|
3
|
-
|
4
|
-
no_commands do
|
5
|
-
|
6
|
-
def rollon_as_quickstart
|
7
|
-
copy_file "quickstart/docker-compose.yml", 'docker-compose.yml'
|
8
|
-
copy_file "quickstart/entrypoint.sh", 'entrypoint.sh'
|
9
|
-
copy_file "quickstart/database.yml", "config/database.yml"
|
10
|
-
template "quickstart/Dockerfile", 'Dockerfile', @env_hash
|
11
|
-
|
12
|
-
insert_pg_gem_into_gemfile
|
13
|
-
system 'sudo chown -R $USER .'
|
14
|
-
end
|
15
|
-
end
|
16
|
-
end
|
17
|
-
end
|
@@ -1,30 +0,0 @@
|
|
1
|
-
module Roro
|
2
|
-
|
3
|
-
class CLI < Thor
|
4
|
-
|
5
|
-
no_commands do
|
6
|
-
|
7
|
-
def rollon_as_roro
|
8
|
-
if Dir['./*'].empty?
|
9
|
-
raise Roro::Error.new("Oops -- Roro can't roll itself onto a Rails app if it doesn't exist. Please either change into a directory with a Rails app or generate a new one using '$ roro greenfield'.")
|
10
|
-
end
|
11
|
-
if ask('Configure $stdout.sync for docker?', choices).eql?('y')
|
12
|
-
config_std_out_true
|
13
|
-
end
|
14
|
-
if ask('Configure .gitignore for roro?', choices).eql?('y')
|
15
|
-
gitignore_sensitive_files
|
16
|
-
end
|
17
|
-
if ask('Add RoRo to your Gemfile?', choices).eql?('y')
|
18
|
-
insert_roro_gem_into_gemfile
|
19
|
-
end
|
20
|
-
if ask('Add handsome_fencer-test to your Gemfile?', choices).eql?('y')
|
21
|
-
insert_hfci_gem_into_gemfile
|
22
|
-
end
|
23
|
-
if ask("Backup 'config/database.yml'?").eql?('y')
|
24
|
-
FileUtils.mv 'config/database.yml', "config/database.yml.backup"
|
25
|
-
end
|
26
|
-
copy_base_files
|
27
|
-
end
|
28
|
-
end
|
29
|
-
end
|
30
|
-
end
|