roro 0.3.17 → 0.3.18

Sign up to get free protection for your applications and to get access to all the features.
Files changed (141) hide show
  1. checksums.yaml +4 -4
  2. data/.circleci/config.yml +11 -10
  3. data/.gitignore +3 -2
  4. data/Guardfile +8 -10
  5. data/README.md +2 -1
  6. data/lib/roro.rb +1 -0
  7. data/lib/roro/cli.rb +13 -7
  8. data/lib/roro/cli/generate/story.rb +18 -0
  9. data/lib/roro/cli/greenfield/rails.rb +2 -24
  10. data/lib/roro/cli/rollon.rb +135 -8
  11. data/lib/roro/cli/rollon/rails/base/base.rb +4 -0
  12. data/lib/roro/cli/{base → rollon/rails/base}/insert_gems.rb +2 -10
  13. data/lib/roro/cli/{base → rollon/rails/base}/insertions.rb +8 -0
  14. data/lib/roro/cli/rollon/rails/database.rb +4 -8
  15. data/lib/roro/cli/rollon/rails/database/with_mysql.rb +2 -2
  16. data/lib/roro/cli/rollon/rails/database/with_postgresql.rb +3 -4
  17. data/lib/roro/cli/rollon/ruby_gem/with_ci_cd.rb +7 -7
  18. data/lib/roro/configurator.rb +15 -0
  19. data/lib/roro/configurator/eligibility.rb +137 -0
  20. data/lib/roro/configurator/okonomi.rb +28 -0
  21. data/lib/roro/configurator/omakase.rb +170 -0
  22. data/lib/roro/stories/greenfield.yml +1 -0
  23. data/lib/roro/stories/greenfield/rails.yml +9 -0
  24. data/lib/roro/stories/rollon.yml +42 -0
  25. data/lib/roro/stories/rollon/rails.yml +76 -0
  26. data/lib/roro/stories/rollon/rails/ci_cd.yml +1 -0
  27. data/lib/roro/stories/rollon/rails/ci_cd/circleci.yml +2 -0
  28. data/lib/roro/stories/rollon/rails/database.yml +9 -0
  29. data/lib/roro/stories/rollon/rails/database/mysql.yml +17 -0
  30. data/lib/roro/stories/rollon/rails/database/postgresql.yml +15 -0
  31. data/lib/roro/stories/rollon/rails/kubernetes.yml +1 -0
  32. data/lib/roro/stories/rollon/rails/kubernetes/postgresql.yml +10 -0
  33. data/lib/roro/stories/rollon/rails/kubernetes/postgresql/default.yml +1 -0
  34. data/lib/roro/stories/rollon/rails/kubernetes/postgresql/edge.yml +1 -0
  35. data/lib/roro/stories/rollon/ruby_gem.yml +5 -0
  36. data/lib/roro/{cli/templates/rails → templates/base}/.circleci/_aliases.yml +0 -0
  37. data/lib/roro/templates/base/.circleci/_commands.yml +31 -0
  38. data/lib/roro/templates/base/.circleci/_defaults.yml +5 -0
  39. data/lib/roro/templates/base/.circleci/_executors.yml +11 -0
  40. data/lib/roro/templates/base/.circleci/_major_only.yml +4 -0
  41. data/lib/roro/templates/base/.circleci/_version.yml +1 -0
  42. data/lib/roro/{cli/templates → templates}/base/.circleci/_workflow.yml +0 -0
  43. data/lib/roro/{cli/templates → templates}/base/.circleci/config.job-example.yml +5 -5
  44. data/lib/roro/{cli/templates → templates}/base/.circleci/jobs/_build.yml +0 -0
  45. data/lib/roro/{cli/templates → templates}/base/.circleci/jobs/_release.yml +0 -0
  46. data/lib/roro/{cli/templates → templates}/base/.circleci/workflows/_build_release.yml +0 -0
  47. data/lib/roro/{cli/templates → templates}/base/.dockerignore +0 -0
  48. data/lib/roro/{cli/templates → templates}/base/dotenv +0 -0
  49. data/lib/roro/{cli/templates → templates}/base/jumpstart/.keep +0 -0
  50. data/lib/roro/{cli/templates → templates}/base/jumpstart/Dockerfile.tt +0 -0
  51. data/lib/roro/{cli/templates → templates}/base/jumpstart/docker-compose.yml +0 -0
  52. data/lib/roro/{cli/templates → templates}/base/jumpstart/docker-entrypoint.sh +0 -0
  53. data/lib/roro/{cli/templates → templates}/base/livereload/hosts.example +0 -0
  54. data/lib/roro/{cli/templates → templates}/base/roro/.keep +0 -0
  55. data/lib/roro/{cli/templates → templates}/base/roro/roro/.keep +0 -0
  56. data/lib/roro/{cli/templates → templates}/base/roro/roro/containers/.keep +0 -0
  57. data/lib/roro/{cli/templates → templates}/base/roro/roro/containers/app/.keep +0 -0
  58. data/lib/roro/{cli/templates → templates}/base/roro/roro/containers/frontend/.keep +0 -0
  59. data/lib/roro/{cli/templates → templates}/base/roro/roro/docker-entrypoint.sh.tt +0 -0
  60. data/lib/roro/{cli/templates → templates}/rails/.circleci/.keep +0 -0
  61. data/lib/roro/{cli/templates → templates}/rails/.circleci/config.yml.tt +4 -6
  62. data/lib/roro/{cli/templates → templates}/rails/.circleci/jobs/_build.yml +4 -6
  63. data/lib/roro/templates/rails/.circleci/jobs/_push.yml +11 -0
  64. data/lib/roro/templates/rails/.circleci/jobs/_test.yml +12 -0
  65. data/lib/roro/{cli/templates → templates}/rails/.circleci/setup-gem-credentials.sh +0 -0
  66. data/lib/roro/templates/rails/.circleci/workflows/_build_test_push.yml +12 -0
  67. data/lib/roro/{cli/templates → templates}/rails/.keep +0 -0
  68. data/lib/roro/templates/rails/Dockerfile.greenfield.tt +51 -0
  69. data/lib/roro/{cli/templates → templates}/rails/config/database.mysql.yml +0 -0
  70. data/lib/roro/{cli/templates → templates}/rails/config/database.pg.yml +2 -3
  71. data/lib/roro/{cli/templates/stories → templates/rails/database}/with_mysql/_service.yml +0 -0
  72. data/lib/roro/{cli/templates → templates}/rails/database/with_postgresql/.keep +0 -0
  73. data/lib/roro/{cli/templates/stories → templates/rails/database}/with_postgresql/_service.yml +0 -0
  74. data/lib/roro/{cli/templates → templates}/rails/docker-compose.yml.tt +3 -3
  75. data/lib/roro/{cli/templates → templates}/rails/dotenv/.keep +0 -0
  76. data/lib/roro/templates/rails/dotenv/database.mysql.env.tt +6 -0
  77. data/lib/roro/templates/rails/dotenv/database.pg.env.tt +4 -0
  78. data/lib/roro/{cli/templates → templates}/rails/dotenv/web.env.tt +0 -0
  79. data/lib/roro/templates/rails/kube.rake.tt +114 -0
  80. data/lib/roro/{cli/templates → templates}/rails/roro/.keep +0 -0
  81. data/lib/roro/{cli/templates → templates}/rails/roro/containers/.keep +0 -0
  82. data/lib/roro/{cli/templates → templates}/rails/roro/containers/app/.keep +0 -0
  83. data/lib/roro/templates/rails/roro/containers/app/Dockerfile.tt +34 -0
  84. data/lib/roro/{cli/templates → templates}/rails/roro/containers/frontend/.keep +0 -0
  85. data/lib/roro/{cli/templates/rails/roro/docker-entrypoint.sh.tt → templates/rails/roro/docker-entrypoint.sh} +0 -0
  86. data/lib/roro/{cli/templates/rails/roro/roro → templates/rails/roro/kube}/.keep +0 -0
  87. data/lib/roro/{cli/templates/rails/roro/roro/containers/.keep → templates/rails/roro/kube/certificate.yml.tt} +0 -0
  88. data/lib/roro/{cli/templates/rails/roro/roro/containers/app/.keep → templates/rails/roro/kube/cluster-issuer.yml.tt} +0 -0
  89. data/lib/roro/templates/rails/roro/kube/deployment.yml.tt +50 -0
  90. data/lib/roro/templates/rails/roro/kube/deployments/postgres_deploy.yaml +47 -0
  91. data/lib/roro/templates/rails/roro/kube/deployments/rails_deploy.yaml +62 -0
  92. data/lib/roro/templates/rails/roro/kube/deployments/redis_deploy.yaml +23 -0
  93. data/lib/roro/templates/rails/roro/kube/deployments/sidekiq_deploy.yaml +56 -0
  94. data/lib/roro/{cli/templates/rails/roro/roro/containers/frontend/.keep → templates/rails/roro/kube/ingress.yml.tt} +0 -0
  95. data/lib/roro/templates/rails/roro/kube/ingresses/ingress.yaml +13 -0
  96. data/lib/roro/{cli/templates/ruby_gem/.circleci/.keep → templates/rails/roro/kube/job-migrate.yml.tt} +0 -0
  97. data/lib/roro/templates/rails/roro/kube/jobs/setup.yaml +42 -0
  98. data/lib/roro/templates/rails/roro/kube/secret-digital-ocean.yml.tt +4 -0
  99. data/lib/roro/templates/rails/roro/kube/service.yml.tt +10 -0
  100. data/lib/roro/templates/rails/roro/kube/services/postgres_svc.yaml +13 -0
  101. data/lib/roro/templates/rails/roro/kube/services/rails_svc.yaml +13 -0
  102. data/lib/roro/templates/rails/roro/kube/services/redis_svc.yaml +13 -0
  103. data/lib/roro/templates/rails/roro/kube/volumes/postgres_volumes.yaml +25 -0
  104. data/lib/roro/{cli/templates/ruby_gem/roro/containers → templates/ruby_gem/.circleci}/.keep +0 -0
  105. data/lib/roro/{cli/templates → templates}/ruby_gem/.circleci/config.yml.tt +4 -4
  106. data/lib/roro/templates/ruby_gem/.circleci/jobs/_test.yml +4 -0
  107. data/lib/roro/{cli/templates → templates}/ruby_gem/.circleci/setup-gem-credentials.sh +0 -0
  108. data/lib/roro/{cli/templates → templates}/ruby_gem/docker-compose.yml +0 -0
  109. data/lib/roro/{cli/templates/ruby_gem/roro/keys → templates/ruby_gem/roro/containers}/.keep +0 -0
  110. data/lib/roro/{cli/templates → templates}/ruby_gem/roro/containers/ruby_image/Dockerfile.tt +1 -1
  111. data/lib/roro/templates/ruby_gem/roro/containers/ruby_image/ci.env.tt +1 -0
  112. data/lib/roro/{cli/templates/stories → templates/ruby_gem/roro/keys}/.keep +0 -0
  113. data/lib/roro/version.rb +1 -1
  114. metadata +101 -80
  115. data/lib/roro/cli/base/base.rb +0 -8
  116. data/lib/roro/cli/base/base_files.rb +0 -24
  117. data/lib/roro/cli/base/check_dependencies.rb +0 -97
  118. data/lib/roro/cli/base/continuous_integration.rb +0 -13
  119. data/lib/roro/cli/base/utilities.rb +0 -38
  120. data/lib/roro/cli/configuration.rb +0 -69
  121. data/lib/roro/cli/generate/config.rb +0 -11
  122. data/lib/roro/cli/generate/config/rails.rb +0 -17
  123. data/lib/roro/cli/rollon/rails.rb +0 -47
  124. data/lib/roro/cli/rollon/stories/stories.rb +0 -3
  125. data/lib/roro/cli/roro_configurator.yml +0 -157
  126. data/lib/roro/cli/templates/base/.circleci/_defaults.yml +0 -17
  127. data/lib/roro/cli/templates/base/.roro_config.yml +0 -15
  128. data/lib/roro/cli/templates/rails/.circleci/jobs/_push.yml +0 -23
  129. data/lib/roro/cli/templates/rails/.circleci/jobs/_test.yml +0 -13
  130. data/lib/roro/cli/templates/rails/.circleci/workflows/_build_test_push.yml +0 -9
  131. data/lib/roro/cli/templates/rails/Dockerfile.greenfield.tt +0 -47
  132. data/lib/roro/cli/templates/rails/database/with_mysql/_service.yml +0 -10
  133. data/lib/roro/cli/templates/rails/database/with_postgresql/_service.yml +0 -7
  134. data/lib/roro/cli/templates/rails/dotenv/database.mysql.env.tt +0 -3
  135. data/lib/roro/cli/templates/rails/dotenv/database.pg.env.tt +0 -4
  136. data/lib/roro/cli/templates/rails/roro/containers/app/Dockerfile.tt +0 -88
  137. data/lib/roro/cli/templates/rails/roro/roro/docker-entrypoint.sh.tt +0 -8
  138. data/lib/roro/cli/templates/ruby_gem/roro/containers/ruby_image/ci.env.tt +0 -1
  139. data/lib/roro/cli/templates/stories/ruby_gem/with_ci_cd/_build.yml +0 -11
  140. data/lib/roro/cli/templates/stories/with_postgresql/.keep +0 -0
  141. data/lib/tasks/deploy.rake +0 -126
@@ -1,11 +1,11 @@
1
+ <%= yaml_from_template("base/.circleci/_version.yml") %>
1
2
  <%= yaml_from_template("base/.circleci/_defaults.yml") %>
2
3
 
4
+ jobs:
3
5
  <%= yaml_from_template("base/.circleci/jobs/_build.yml") %>
6
+
7
+ <%= yaml_from_template("ruby_gem/.circleci/jobs/_test.yml") %>
4
8
 
5
- test:
6
- machine: true
7
- steps:
8
- - placeholder
9
9
 
10
10
  <%= yaml_from_template("base/.circleci/jobs/_release.yml") %>
11
11
 
@@ -0,0 +1,4 @@
1
+ test:
2
+ machine: true
3
+ steps:
4
+ - placeholder
@@ -1,4 +1,4 @@
1
- ARG RUBY_VERSION=<%= config['ruby_version'] %>
1
+ ARG RUBY_VERSION=<%= config[:ruby_version] %>
2
2
  ARG RUBY_IMAGE=ruby:${RUBY_VERSION}-alpine
3
3
  FROM $RUBY_IMAGE
4
4
 
@@ -0,0 +1 @@
1
+ export RUBYGEMS_API_KEY=<%= config[:rubygems_api_key] %>
@@ -1,3 +1,3 @@
1
1
  module Roro
2
- VERSION = "0.3.17"
2
+ VERSION = "0.3.18"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: roro
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.17
4
+ version: 0.3.18
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-29 00:00:00.000000000 Z
11
+ date: 2020-09-15 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: gem-release
@@ -194,97 +194,118 @@ files:
194
194
  - docker-compose.yml
195
195
  - lib/roro.rb
196
196
  - lib/roro/cli.rb
197
- - lib/roro/cli/base/base.rb
198
- - lib/roro/cli/base/base_files.rb
199
- - lib/roro/cli/base/check_dependencies.rb
200
- - lib/roro/cli/base/continuous_integration.rb
201
- - lib/roro/cli/base/insert_gems.rb
202
- - lib/roro/cli/base/insertions.rb
203
- - lib/roro/cli/base/utilities.rb
204
- - lib/roro/cli/configuration.rb
205
- - lib/roro/cli/generate/config.rb
206
- - lib/roro/cli/generate/config/rails.rb
207
197
  - lib/roro/cli/generate/exposed.rb
208
198
  - lib/roro/cli/generate/generate.rb
209
199
  - lib/roro/cli/generate/keys.rb
210
200
  - lib/roro/cli/generate/obfuscated.rb
201
+ - lib/roro/cli/generate/story.rb
211
202
  - lib/roro/cli/greenfield/rails.rb
212
203
  - lib/roro/cli/rollon.rb
213
- - lib/roro/cli/rollon/rails.rb
204
+ - lib/roro/cli/rollon/rails/base/base.rb
205
+ - lib/roro/cli/rollon/rails/base/insert_gems.rb
206
+ - lib/roro/cli/rollon/rails/base/insertions.rb
214
207
  - lib/roro/cli/rollon/rails/database.rb
215
208
  - lib/roro/cli/rollon/rails/database/with_mysql.rb
216
209
  - lib/roro/cli/rollon/rails/database/with_postgresql.rb
217
210
  - lib/roro/cli/rollon/ruby_gem.rb
218
211
  - lib/roro/cli/rollon/ruby_gem/with_ci_cd.rb
219
212
  - lib/roro/cli/rollon/stories.rb
220
- - lib/roro/cli/rollon/stories/stories.rb
221
- - lib/roro/cli/roro_configurator.yml
222
- - lib/roro/cli/templates/base/.circleci/_defaults.yml
223
- - lib/roro/cli/templates/base/.circleci/_workflow.yml
224
- - lib/roro/cli/templates/base/.circleci/config.job-example.yml
225
- - lib/roro/cli/templates/base/.circleci/jobs/_build.yml
226
- - lib/roro/cli/templates/base/.circleci/jobs/_release.yml
227
- - lib/roro/cli/templates/base/.circleci/workflows/_build_release.yml
228
- - lib/roro/cli/templates/base/.dockerignore
229
- - lib/roro/cli/templates/base/.roro_config.yml
230
- - lib/roro/cli/templates/base/dotenv
231
- - lib/roro/cli/templates/base/jumpstart/.keep
232
- - lib/roro/cli/templates/base/jumpstart/Dockerfile.tt
233
- - lib/roro/cli/templates/base/jumpstart/docker-compose.yml
234
- - lib/roro/cli/templates/base/jumpstart/docker-entrypoint.sh
235
- - lib/roro/cli/templates/base/livereload/hosts.example
236
- - lib/roro/cli/templates/base/roro/.keep
237
- - lib/roro/cli/templates/base/roro/roro/.keep
238
- - lib/roro/cli/templates/base/roro/roro/containers/.keep
239
- - lib/roro/cli/templates/base/roro/roro/containers/app/.keep
240
- - lib/roro/cli/templates/base/roro/roro/containers/frontend/.keep
241
- - lib/roro/cli/templates/base/roro/roro/docker-entrypoint.sh.tt
242
- - lib/roro/cli/templates/rails/.circleci/.keep
243
- - lib/roro/cli/templates/rails/.circleci/_aliases.yml
244
- - lib/roro/cli/templates/rails/.circleci/config.yml.tt
245
- - lib/roro/cli/templates/rails/.circleci/jobs/_build.yml
246
- - lib/roro/cli/templates/rails/.circleci/jobs/_push.yml
247
- - lib/roro/cli/templates/rails/.circleci/jobs/_test.yml
248
- - lib/roro/cli/templates/rails/.circleci/setup-gem-credentials.sh
249
- - lib/roro/cli/templates/rails/.circleci/workflows/_build_test_push.yml
250
- - lib/roro/cli/templates/rails/.keep
251
- - lib/roro/cli/templates/rails/Dockerfile.greenfield.tt
252
- - lib/roro/cli/templates/rails/config/database.mysql.yml
253
- - lib/roro/cli/templates/rails/config/database.pg.yml
254
- - lib/roro/cli/templates/rails/database/with_mysql/_service.yml
255
- - lib/roro/cli/templates/rails/database/with_postgresql/.keep
256
- - lib/roro/cli/templates/rails/database/with_postgresql/_service.yml
257
- - lib/roro/cli/templates/rails/docker-compose.yml.tt
258
- - lib/roro/cli/templates/rails/dotenv/.keep
259
- - lib/roro/cli/templates/rails/dotenv/database.mysql.env.tt
260
- - lib/roro/cli/templates/rails/dotenv/database.pg.env.tt
261
- - lib/roro/cli/templates/rails/dotenv/web.env.tt
262
- - lib/roro/cli/templates/rails/roro/.keep
263
- - lib/roro/cli/templates/rails/roro/containers/.keep
264
- - lib/roro/cli/templates/rails/roro/containers/app/.keep
265
- - lib/roro/cli/templates/rails/roro/containers/app/Dockerfile.tt
266
- - lib/roro/cli/templates/rails/roro/containers/frontend/.keep
267
- - lib/roro/cli/templates/rails/roro/docker-entrypoint.sh.tt
268
- - lib/roro/cli/templates/rails/roro/roro/.keep
269
- - lib/roro/cli/templates/rails/roro/roro/containers/.keep
270
- - lib/roro/cli/templates/rails/roro/roro/containers/app/.keep
271
- - lib/roro/cli/templates/rails/roro/roro/containers/frontend/.keep
272
- - lib/roro/cli/templates/rails/roro/roro/docker-entrypoint.sh.tt
273
- - lib/roro/cli/templates/ruby_gem/.circleci/.keep
274
- - lib/roro/cli/templates/ruby_gem/.circleci/config.yml.tt
275
- - lib/roro/cli/templates/ruby_gem/.circleci/setup-gem-credentials.sh
276
- - lib/roro/cli/templates/ruby_gem/docker-compose.yml
277
- - lib/roro/cli/templates/ruby_gem/roro/containers/.keep
278
- - lib/roro/cli/templates/ruby_gem/roro/containers/ruby_image/Dockerfile.tt
279
- - lib/roro/cli/templates/ruby_gem/roro/containers/ruby_image/ci.env.tt
280
- - lib/roro/cli/templates/ruby_gem/roro/keys/.keep
281
- - lib/roro/cli/templates/stories/.keep
282
- - lib/roro/cli/templates/stories/ruby_gem/with_ci_cd/_build.yml
283
- - lib/roro/cli/templates/stories/with_mysql/_service.yml
284
- - lib/roro/cli/templates/stories/with_postgresql/.keep
285
- - lib/roro/cli/templates/stories/with_postgresql/_service.yml
213
+ - lib/roro/configurator.rb
214
+ - lib/roro/configurator/eligibility.rb
215
+ - lib/roro/configurator/okonomi.rb
216
+ - lib/roro/configurator/omakase.rb
217
+ - lib/roro/stories/greenfield.yml
218
+ - lib/roro/stories/greenfield/rails.yml
219
+ - lib/roro/stories/rollon.yml
220
+ - lib/roro/stories/rollon/rails.yml
221
+ - lib/roro/stories/rollon/rails/ci_cd.yml
222
+ - lib/roro/stories/rollon/rails/ci_cd/circleci.yml
223
+ - lib/roro/stories/rollon/rails/database.yml
224
+ - lib/roro/stories/rollon/rails/database/mysql.yml
225
+ - lib/roro/stories/rollon/rails/database/postgresql.yml
226
+ - lib/roro/stories/rollon/rails/kubernetes.yml
227
+ - lib/roro/stories/rollon/rails/kubernetes/postgresql.yml
228
+ - lib/roro/stories/rollon/rails/kubernetes/postgresql/default.yml
229
+ - lib/roro/stories/rollon/rails/kubernetes/postgresql/edge.yml
230
+ - lib/roro/stories/rollon/ruby_gem.yml
231
+ - lib/roro/templates/base/.circleci/_aliases.yml
232
+ - lib/roro/templates/base/.circleci/_commands.yml
233
+ - lib/roro/templates/base/.circleci/_defaults.yml
234
+ - lib/roro/templates/base/.circleci/_executors.yml
235
+ - lib/roro/templates/base/.circleci/_major_only.yml
236
+ - lib/roro/templates/base/.circleci/_version.yml
237
+ - lib/roro/templates/base/.circleci/_workflow.yml
238
+ - lib/roro/templates/base/.circleci/config.job-example.yml
239
+ - lib/roro/templates/base/.circleci/jobs/_build.yml
240
+ - lib/roro/templates/base/.circleci/jobs/_release.yml
241
+ - lib/roro/templates/base/.circleci/workflows/_build_release.yml
242
+ - lib/roro/templates/base/.dockerignore
243
+ - lib/roro/templates/base/dotenv
244
+ - lib/roro/templates/base/jumpstart/.keep
245
+ - lib/roro/templates/base/jumpstart/Dockerfile.tt
246
+ - lib/roro/templates/base/jumpstart/docker-compose.yml
247
+ - lib/roro/templates/base/jumpstart/docker-entrypoint.sh
248
+ - lib/roro/templates/base/livereload/hosts.example
249
+ - lib/roro/templates/base/roro/.keep
250
+ - lib/roro/templates/base/roro/roro/.keep
251
+ - lib/roro/templates/base/roro/roro/containers/.keep
252
+ - lib/roro/templates/base/roro/roro/containers/app/.keep
253
+ - lib/roro/templates/base/roro/roro/containers/frontend/.keep
254
+ - lib/roro/templates/base/roro/roro/docker-entrypoint.sh.tt
255
+ - lib/roro/templates/rails/.circleci/.keep
256
+ - lib/roro/templates/rails/.circleci/config.yml.tt
257
+ - lib/roro/templates/rails/.circleci/jobs/_build.yml
258
+ - lib/roro/templates/rails/.circleci/jobs/_push.yml
259
+ - lib/roro/templates/rails/.circleci/jobs/_test.yml
260
+ - lib/roro/templates/rails/.circleci/setup-gem-credentials.sh
261
+ - lib/roro/templates/rails/.circleci/workflows/_build_test_push.yml
262
+ - lib/roro/templates/rails/.keep
263
+ - lib/roro/templates/rails/Dockerfile.greenfield.tt
264
+ - lib/roro/templates/rails/config/database.mysql.yml
265
+ - lib/roro/templates/rails/config/database.pg.yml
266
+ - lib/roro/templates/rails/database/with_mysql/_service.yml
267
+ - lib/roro/templates/rails/database/with_postgresql/.keep
268
+ - lib/roro/templates/rails/database/with_postgresql/_service.yml
269
+ - lib/roro/templates/rails/docker-compose.yml.tt
270
+ - lib/roro/templates/rails/dotenv/.keep
271
+ - lib/roro/templates/rails/dotenv/database.mysql.env.tt
272
+ - lib/roro/templates/rails/dotenv/database.pg.env.tt
273
+ - lib/roro/templates/rails/dotenv/web.env.tt
274
+ - lib/roro/templates/rails/kube.rake.tt
275
+ - lib/roro/templates/rails/roro/.keep
276
+ - lib/roro/templates/rails/roro/containers/.keep
277
+ - lib/roro/templates/rails/roro/containers/app/.keep
278
+ - lib/roro/templates/rails/roro/containers/app/Dockerfile.tt
279
+ - lib/roro/templates/rails/roro/containers/frontend/.keep
280
+ - lib/roro/templates/rails/roro/docker-entrypoint.sh
281
+ - lib/roro/templates/rails/roro/kube/.keep
282
+ - lib/roro/templates/rails/roro/kube/certificate.yml.tt
283
+ - lib/roro/templates/rails/roro/kube/cluster-issuer.yml.tt
284
+ - lib/roro/templates/rails/roro/kube/deployment.yml.tt
285
+ - lib/roro/templates/rails/roro/kube/deployments/postgres_deploy.yaml
286
+ - lib/roro/templates/rails/roro/kube/deployments/rails_deploy.yaml
287
+ - lib/roro/templates/rails/roro/kube/deployments/redis_deploy.yaml
288
+ - lib/roro/templates/rails/roro/kube/deployments/sidekiq_deploy.yaml
289
+ - lib/roro/templates/rails/roro/kube/ingress.yml.tt
290
+ - lib/roro/templates/rails/roro/kube/ingresses/ingress.yaml
291
+ - lib/roro/templates/rails/roro/kube/job-migrate.yml.tt
292
+ - lib/roro/templates/rails/roro/kube/jobs/setup.yaml
293
+ - lib/roro/templates/rails/roro/kube/secret-digital-ocean.yml.tt
294
+ - lib/roro/templates/rails/roro/kube/service.yml.tt
295
+ - lib/roro/templates/rails/roro/kube/services/postgres_svc.yaml
296
+ - lib/roro/templates/rails/roro/kube/services/rails_svc.yaml
297
+ - lib/roro/templates/rails/roro/kube/services/redis_svc.yaml
298
+ - lib/roro/templates/rails/roro/kube/volumes/postgres_volumes.yaml
299
+ - lib/roro/templates/ruby_gem/.circleci/.keep
300
+ - lib/roro/templates/ruby_gem/.circleci/config.yml.tt
301
+ - lib/roro/templates/ruby_gem/.circleci/jobs/_test.yml
302
+ - lib/roro/templates/ruby_gem/.circleci/setup-gem-credentials.sh
303
+ - lib/roro/templates/ruby_gem/docker-compose.yml
304
+ - lib/roro/templates/ruby_gem/roro/containers/.keep
305
+ - lib/roro/templates/ruby_gem/roro/containers/ruby_image/Dockerfile.tt
306
+ - lib/roro/templates/ruby_gem/roro/containers/ruby_image/ci.env.tt
307
+ - lib/roro/templates/ruby_gem/roro/keys/.keep
286
308
  - lib/roro/version.rb
287
- - lib/tasks/deploy.rake
288
309
  - roro.gemspec
289
310
  - roro/containers/.keep
290
311
  - roro/containers/ruby_image/Dockerfile
@@ -1,8 +0,0 @@
1
-
2
- require_relative 'check_dependencies.rb'
3
- require_relative 'continuous_integration.rb'
4
- require_relative 'utilities.rb'
5
- require_relative 'insertions.rb'
6
- require_relative 'insert_gems.rb'
7
- require_relative 'base_files.rb'
8
-
@@ -1,24 +0,0 @@
1
- module Roro
2
-
3
- class CLI < Thor
4
-
5
- no_commands do
6
-
7
- def copy_dockerignore
8
- copy_file 'base/.dockerignore', '.dockerignore'
9
- end
10
-
11
- def copy_host_example
12
- copy_file 'base/livereload/hosts.example', 'hosts.example'
13
- end
14
-
15
- def copy_docker_compose
16
- template "base/docker-compose.yml", 'docker-compose.yml', @env_hash
17
- end
18
-
19
- def copy_database_yml_pg
20
- copy_file "base/config/database.pg.yml", 'config/database.yml', force: @env_hash[:use_force]
21
- end
22
- end
23
- end
24
- end
@@ -1,97 +0,0 @@
1
- module Roro
2
-
3
- class CLI < Thor
4
-
5
- no_commands do
6
-
7
- def confirm_directory_not_empty
8
- confirm_dependency({
9
- system_query: "ls -A",
10
- warning: "This is an empty directory. You can generate a new and fully
11
- dockerized Rails app using the 'greenfield' command here here but if
12
- you want to containerize an existing app -- which is what the 'rollon'
13
- command is for -- you'll need to navigate to a directory with an app we
14
- can roll onto.",
15
- suggestion: "$ roro greenfield",
16
- conditional: "!Dir.glob('*').empty?" })
17
- end
18
-
19
- def confirm_directory_empty
20
- confirm = confirm_dependency({
21
- system_query: "ls -A",
22
- warning: "this is not an empty directory. Roro will not greenfield a new Rails app unless either a) the current directory is empty or b) you run greenfield with the --force flag",
23
- suggestion: "$ roro greenfield --force",
24
- conditional: "Dir.glob('*').empty?" })
25
- confirm || true
26
- end
27
-
28
- def remove_roro_artifacts
29
- appname = Dir.pwd.split('/').last
30
- check_for_clashes = "docker ps --filter name=#{appname}* -aq"
31
- no_artifact_containers = IO.popen(check_for_clashes).count.eql?(0)
32
- no_artifact_volumes = IO.popen("docker volume ls --filter name=greenfield*").count > (1)
33
- unless (no_artifact_containers && no_artifact_volumes)
34
- remove_clashes = ["docker ps --filter name=#{appname}* -aq | xargs docker stop | xargs docker rm"]
35
- volumes = %w(db_data app)
36
- volumes.each {|v| remove_clashes << "docker volume rm #{appname}_#{v}"}
37
- question = [
38
- "\n\nWe found some container and volume artifacts which may clash",
39
- "with RoRo moving forward. You can verify their existence in a ",
40
- "separate terminal with:",
41
- "\n\t$ #{check_for_clashes}'\n",
42
- "You can remove these artifacts with something like:\n"
43
- ]
44
- remove_clashes.each { |c| question << "\t$ #{c}"}
45
- question << "\nWould you like RoRo to attempt to remove them for you?"
46
- question = question.join("\n")
47
-
48
- prompt = [question]
49
- choices = {'y' => 'Yes', 'n' => 'No'}
50
- choices.each { |k,v| prompt << "(#{k}) #{v.to_s}" }
51
- answer = ask((prompt.join("\n\n") + "\n\n"),
52
- default: 'y', limited_to: choices.keys)
53
- remove_clashes.each {|c| system c }
54
- end
55
- end
56
- def confirm_dependency(options)
57
- msg = []
58
- msg << ""
59
- msg << delineator
60
- msg << "It looks like #{options[:warning]}. The following bash command returns false:"
61
- msg << "\t$ #{options[:system_query]}"
62
- msg << "Please try these instructions:"
63
- msg << ("\t" + options[:suggestion])
64
- msg << delineator
65
- conditional = options[:conditional] ? eval(options[:conditional]) : system(options[:system_query])
66
- if conditional == false
67
- raise(Roro::Error.new(msg.join("\n\n")))
68
- else
69
- true
70
- end
71
- end
72
-
73
- def confirm_dependencies
74
- dependencies = [
75
- {
76
- system_query: "which docker",
77
- warning: "Docker isn't installed",
78
- suggestion: "https://docs.docker.com/install/"
79
- }, {
80
- system_query: "which docker-compose",
81
- warning: "Docker Compose isn't installed",
82
- suggestion: "https://docs.docker.com/compose/install/"
83
-
84
- }, {
85
- system_query: "docker info",
86
- warning: "the Docker daemon isn't running",
87
- suggestion: "https://docs.docker.com/config/daemon/#start-the-daemon-manually"
88
- }
89
- ]
90
-
91
- dependencies.each do |dependency|
92
- confirm_dependency(dependency)
93
- end
94
- end
95
- end
96
- end
97
- end
@@ -1,13 +0,0 @@
1
-
2
- module Roro
3
-
4
- class CLI < Thor
5
-
6
- no_commands do
7
-
8
- def copy_circleci
9
- directory 'base/circleci', '.circleci', @env_hash
10
- end
11
- end
12
- end
13
- end
@@ -1,38 +0,0 @@
1
- module Roro
2
-
3
- class CLI < Thor
4
-
5
- no_commands do
6
-
7
- def choices
8
- { default: 'y', limited_to: ["y", "n"] }
9
- end
10
-
11
- def own_if_required
12
- system 'sudo chown -R $USER .'
13
- end
14
-
15
- def as_system(command)
16
- command = OS.linux? ? "sudo #{command}" : command
17
- system command
18
- end
19
-
20
- def chown_if_required()
21
- warning = "It looks like you're running Docker on some flavor of Linux, in which case the files created by your containers are owned by the root user of the container, and not by the user of the host machine. Please change their ownership by supplying your password at the prompt.",
22
- action = "system 'sudo chown -R $USER .'"
23
- msg = []
24
- msg << ""
25
- msg << delineator
26
- msg << warning
27
- msg << ""
28
- msg.join("\n\n")
29
- puts msg
30
- eval(action)
31
- end
32
-
33
- def delineator
34
- ("-" * 80)
35
- end
36
- end
37
- end
38
- end