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.
Files changed (93) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +15 -2
  3. data/Guardfile +3 -6
  4. data/lib/roro.rb +1 -1
  5. data/lib/roro/cli.rb +75 -6
  6. data/lib/roro/cli/base/base.rb +2 -1
  7. data/lib/roro/cli/base/base_files.rb +4 -18
  8. data/lib/roro/cli/base/check_dependencies.rb +98 -0
  9. data/lib/roro/cli/base/insert_gems.rb +15 -7
  10. data/lib/roro/cli/base/insertions.rb +3 -1
  11. data/lib/roro/cli/base/utilities.rb +22 -0
  12. data/lib/roro/cli/cli.rb +99 -0
  13. data/lib/roro/cli/configuration.rb +69 -0
  14. data/lib/roro/cli/expose.rb +8 -7
  15. data/lib/roro/cli/generate/config.rb +13 -0
  16. data/lib/roro/cli/generate/config/rails.rb +17 -0
  17. data/lib/roro/cli/generate/generate.rb +1 -0
  18. data/lib/roro/cli/generate/generate_keys.rb +47 -0
  19. data/lib/roro/cli/greenfield.rb +22 -91
  20. data/lib/roro/cli/obfuscate.rb +10 -11
  21. data/lib/roro/cli/rollon.rb +74 -18
  22. data/lib/roro/cli/rollon/stories.rb +2 -0
  23. data/{.keep → lib/roro/cli/rollon/stories/database.rb} +0 -0
  24. data/lib/roro/cli/rollon/stories/rails.rb +1 -0
  25. data/lib/roro/cli/{templates/base/roro → rollon/stories/rails}/.keep +0 -0
  26. data/lib/roro/cli/rollon/stories/rails/database.rb +33 -0
  27. data/lib/roro/cli/rollon/stories/rails/database/with_mysql.rb +22 -0
  28. data/lib/roro/cli/rollon/stories/rails/database/with_postgresql.rb +21 -0
  29. data/lib/roro/cli/rollon/stories/ruby_gem.rb +77 -0
  30. data/lib/roro/cli/rollon/stories/ruby_gem/with_ci_cd.rb +81 -0
  31. data/lib/roro/cli/rollon/stories/stories.rb +3 -0
  32. data/lib/roro/cli/roro_configurator.yml +157 -0
  33. data/lib/roro/cli/ruby_gem.rb +60 -47
  34. data/lib/roro/cli/templates/base/.dockerignore +48 -10
  35. data/lib/roro/cli/templates/base/.roro_config.yml +15 -0
  36. data/lib/roro/cli/templates/base/Dockerfile.tt +82 -0
  37. data/lib/roro/cli/templates/base/config/database.mysql.yml +19 -0
  38. data/lib/roro/cli/templates/base/config/{database.yml → database.pg.yml} +0 -0
  39. data/lib/roro/cli/templates/greenfield/Dockerfile.tt +29 -7
  40. data/lib/roro/cli/templates/{base/livereload → livereload}/hosts.example +0 -0
  41. data/lib/roro/cli/templates/{base/roro/containers → roro}/.keep +0 -0
  42. data/lib/roro/cli/templates/{dockerize/docker-compose.yml → roro/docker-compose.yml.tt} +18 -18
  43. data/lib/roro/cli/templates/{base/roro/containers/app → roro/roro}/.keep +0 -0
  44. data/lib/roro/cli/templates/{base/roro/containers/frontend → roro/roro/containers}/.keep +0 -0
  45. data/lib/roro/cli/templates/{dockerize/.env → roro/roro/containers/app}/.keep +0 -0
  46. data/lib/roro/cli/templates/{dockerize/.env/development → roro/roro/containers/frontend}/.keep +0 -0
  47. data/lib/roro/cli/templates/{quickstart/entrypoint.sh → roro/roro/docker-entrypoint.sh.tt} +1 -1
  48. data/lib/roro/cli/templates/ruby_gem/.circleci/config.yml +17 -0
  49. data/lib/roro/cli/templates/ruby_gem/docker-compose.yml +6 -4
  50. data/lib/roro/cli/templates/ruby_gem/roro/ci.env.tt +1 -0
  51. data/lib/roro/cli/templates/{dockerize → ruby_gem/roro/containers}/.keep +0 -0
  52. data/lib/roro/cli/templates/ruby_gem/roro/containers/ruby_image/Dockerfile.tt +16 -0
  53. data/lib/roro/cli/templates/ruby_gem/{docker/env_files → roro/keys}/.keep +0 -0
  54. data/lib/roro/cli/templates/{ruby_gem/docker/keys → stories}/.keep +0 -0
  55. data/lib/roro/cli/templates/stories/with_mysql/_service.yml +10 -0
  56. data/lib/roro/cli/templates/stories/with_postgresql/.keep +0 -0
  57. data/lib/roro/cli/templates/stories/with_postgresql/_service.yml +7 -0
  58. data/lib/roro/version.rb +1 -1
  59. data/roro.gemspec +5 -4
  60. data/sandbox/.keep +0 -0
  61. data/vendor/cache/concurrent-ruby-1.1.7.gem +0 -0
  62. data/vendor/cache/gem-release-2.1.1.gem +0 -0
  63. data/vendor/cache/mocha-1.11.2.gem +0 -0
  64. metadata +86 -55
  65. data/lib/roro/cli/base/configuration.rb +0 -63
  66. data/lib/roro/cli/generate_keys.rb +0 -79
  67. data/lib/roro/cli/rollon/as_dockerize.rb +0 -28
  68. data/lib/roro/cli/rollon/as_quickstart.rb +0 -17
  69. data/lib/roro/cli/rollon/as_roro.rb +0 -30
  70. data/lib/roro/cli/rollon/use_cases.rb +0 -3
  71. data/lib/roro/cli/templates/base/circleci/config.yml.tt +0 -70
  72. data/lib/roro/cli/templates/base/docker-compose.yml.tt +0 -53
  73. data/lib/roro/cli/templates/base/roro/containers/app/Dockerfile.tt +0 -32
  74. data/lib/roro/cli/templates/base/roro/containers/app/development.env.tt +0 -1
  75. data/lib/roro/cli/templates/base/roro/containers/app/docker-entrypoint.sh +0 -8
  76. data/lib/roro/cli/templates/base/roro/containers/app/test.env.tt +0 -1
  77. data/lib/roro/cli/templates/base/roro/containers/database/development.env.tt +0 -4
  78. data/lib/roro/cli/templates/base/roro/containers/database/test.env.tt +0 -4
  79. data/lib/roro/cli/templates/dockerize/.env/development/database +0 -3
  80. data/lib/roro/cli/templates/dockerize/.env/development/web +0 -1
  81. data/lib/roro/cli/templates/dockerize/Dockerfile.tt +0 -23
  82. data/lib/roro/cli/templates/dockerize/docker-entrypoint.sh +0 -9
  83. data/lib/roro/cli/templates/greenfield/Gemfile +0 -2
  84. data/lib/roro/cli/templates/greenfield/config/database.yml.example +0 -16
  85. data/lib/roro/cli/templates/greenfield/docker-compose.yml +0 -17
  86. data/lib/roro/cli/templates/greenfield/docker-entrypoint.sh +0 -8
  87. data/lib/roro/cli/templates/quickstart/Dockerfile.tt +0 -20
  88. data/lib/roro/cli/templates/quickstart/database.yml +0 -85
  89. data/lib/roro/cli/templates/quickstart/docker-compose.yml +0 -17
  90. data/lib/roro/cli/templates/ruby_gem/.gitignore +0 -8
  91. data/lib/roro/cli/templates/ruby_gem/config.yml +0 -122
  92. data/lib/roro/cli/templates/ruby_gem/docker/containers/app/Dockerfile.tt +0 -10
  93. data/vendor/cache/concurrent-ruby-1.1.6.gem +0 -0
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
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-10 00:00:00.000000000 Z
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.1.6
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.1.6
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: byebug
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/configuration.rb
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/generate_keys.rb
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/as_dockerize.rb
163
- - lib/roro/cli/rollon/as_quickstart.rb
164
- - lib/roro/cli/rollon/as_roro.rb
165
- - lib/roro/cli/rollon/use_cases.rb
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/circleci/config.yml.tt
170
- - lib/roro/cli/templates/base/config/database.yml
171
- - lib/roro/cli/templates/base/docker-compose.yml.tt
172
- - lib/roro/cli/templates/base/livereload/hosts.example
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/quickstart/Dockerfile.tt
206
- - lib/roro/cli/templates/quickstart/database.yml
207
- - lib/roro/cli/templates/quickstart/docker-compose.yml
208
- - lib/roro/cli/templates/quickstart/entrypoint.sh
209
- - lib/roro/cli/templates/ruby_gem/.gitignore
210
- - lib/roro/cli/templates/ruby_gem/config.yml
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/docker/containers/app/Dockerfile.tt
213
- - lib/roro/cli/templates/ruby_gem/docker/env_files/.keep
214
- - lib/roro/cli/templates/ruby_gem/docker/keys/.keep
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.6.gem
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