roro 0.3.2 → 0.3.8

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 (364) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +15 -8
  3. data/Guardfile +4 -7
  4. data/lib/roro.rb +1 -1
  5. data/lib/roro/cli.rb +74 -6
  6. data/lib/roro/cli/base/base.rb +8 -0
  7. data/lib/roro/cli/base/base_files.rb +24 -0
  8. data/lib/roro/cli/base/check_dependencies.rb +98 -0
  9. data/lib/roro/cli/base/continuous_integration.rb +13 -0
  10. data/lib/roro/cli/base/insert_gems.rb +31 -0
  11. data/lib/roro/cli/base/insertions.rb +19 -0
  12. data/lib/roro/cli/base/utilities.rb +39 -0
  13. data/lib/roro/cli/cli.rb +99 -0
  14. data/lib/roro/cli/configuration.rb +69 -0
  15. data/lib/roro/cli/expose.rb +8 -7
  16. data/lib/roro/cli/generate/config.rb +13 -0
  17. data/lib/roro/cli/generate/config/rails.rb +17 -0
  18. data/lib/roro/cli/generate/generate.rb +1 -0
  19. data/lib/roro/cli/generate/generate_keys.rb +47 -0
  20. data/lib/roro/cli/greenfield.rb +22 -87
  21. data/lib/roro/cli/obfuscate.rb +10 -11
  22. data/lib/roro/cli/rollon.rb +74 -11
  23. data/lib/roro/cli/rollon/stories.rb +3 -0
  24. data/{docker/env_files/.keep → lib/roro/cli/rollon/stories/database.rb} +0 -0
  25. data/lib/roro/cli/rollon/stories/rails.rb +1 -0
  26. data/lib/roro/cli/rollon/stories/rails/database/database.rb +31 -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_postgres.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 +60 -0
  31. data/lib/roro/cli/rollon/stories/stories.rb +7 -0
  32. data/lib/roro/cli/roro_configurator.yml +157 -0
  33. data/lib/roro/cli/ruby_gem.rb +61 -42
  34. data/lib/roro/cli/templates/base/.dockerignore +51 -0
  35. data/{docker/keys → lib/roro/cli/templates/base}/.keep +0 -0
  36. data/lib/roro/cli/templates/base/.roro_config.yml +15 -0
  37. data/lib/roro/cli/templates/base/Dockerfile.tt +82 -0
  38. data/lib/roro/cli/templates/base/config/database.mysql.yml +19 -0
  39. data/lib/roro/cli/templates/{config/database.yml → base/config/database.pg.yml} +0 -0
  40. data/{test_apps/dummy_roro/.circleci/config.yml → lib/roro/cli/templates/circleci/config.yml.tt} +7 -6
  41. data/lib/roro/cli/templates/{docker/containers/database → dockerize}/.keep +0 -0
  42. data/lib/roro/cli/templates/dockerize/Dockerfile.tt +23 -0
  43. data/lib/roro/cli/templates/dockerize/docker-compose.yml.tt +60 -0
  44. data/lib/roro/cli/templates/dockerize/docker-entrypoint.sh +9 -0
  45. data/lib/roro/cli/templates/greenfield/Dockerfile.tt +43 -0
  46. data/lib/roro/cli/templates/{docker/env_files → jumpstart}/.keep +0 -0
  47. data/lib/roro/cli/templates/jumpstart/Dockerfile.tt +30 -0
  48. data/lib/roro/cli/templates/jumpstart/docker-compose.yml +59 -0
  49. data/lib/roro/cli/templates/jumpstart/docker-entrypoint.sh +16 -0
  50. data/lib/roro/cli/templates/livereload/hosts.example +7 -0
  51. data/lib/roro/cli/templates/{docker/keys → roro}/.keep +0 -0
  52. data/lib/roro/cli/templates/roro/docker-compose.yml.tt +60 -0
  53. data/lib/roro/cli/templates/{ruby_gem/docker/env_files → roro/roro}/.keep +0 -0
  54. data/lib/roro/cli/templates/{ruby_gem/docker/keys → roro/roro/containers}/.keep +0 -0
  55. data/{test_apps/dummy/app/assets/images → lib/roro/cli/templates/roro/roro/containers/app}/.keep +0 -0
  56. data/{test_apps/dummy/app/assets/javascripts/channels → lib/roro/cli/templates/roro/roro/containers/frontend}/.keep +0 -0
  57. data/lib/roro/cli/templates/roro/roro/docker-entrypoint.sh.tt +8 -0
  58. data/lib/roro/cli/templates/ruby_gem/{config.yml → .circleci/config.yml} +0 -0
  59. data/lib/roro/cli/templates/ruby_gem/docker-compose.yml +3 -3
  60. data/lib/roro/cli/templates/ruby_gem/roro/containers/gem/Dockerfile.tt +9 -0
  61. data/{test_apps/dummy/app/controllers/concerns → lib/roro/cli/templates/ruby_gem/roro/env_files}/.keep +0 -0
  62. data/{test_apps/dummy/app/models/concerns → lib/roro/cli/templates/ruby_gem/roro/keys}/.keep +0 -0
  63. data/{test_apps/dummy/lib/assets → lib/roro/cli/templates/stories}/.keep +0 -0
  64. data/lib/roro/cli/templates/stories/with_mysql/_service.yml +10 -0
  65. data/{test_apps/dummy/lib/tasks → lib/roro/cli/templates/stories/with_postgresql}/.keep +0 -0
  66. data/lib/roro/cli/templates/stories/with_postgresql/_service.yml +7 -0
  67. data/lib/roro/version.rb +1 -1
  68. data/roro.gemspec +7 -4
  69. data/{test_apps/dummy/log → sandbox}/.keep +0 -0
  70. data/vendor/cache/actionpack-6.0.3.2.gem +0 -0
  71. data/vendor/cache/actionview-6.0.3.2.gem +0 -0
  72. data/vendor/cache/activesupport-6.0.3.2.gem +0 -0
  73. data/vendor/cache/addressable-2.7.0.gem +0 -0
  74. data/vendor/cache/builder-3.2.4.gem +0 -0
  75. data/vendor/cache/byebug-11.1.3.gem +0 -0
  76. data/vendor/cache/coderay-1.1.3.gem +0 -0
  77. data/vendor/cache/concurrent-ruby-1.1.7.gem +0 -0
  78. data/vendor/cache/crass-1.0.6.gem +0 -0
  79. data/vendor/cache/erubi-1.9.0.gem +0 -0
  80. data/vendor/cache/ffi-1.13.1.gem +0 -0
  81. data/vendor/cache/gem-release-2.1.1.gem +0 -0
  82. data/vendor/cache/guard-2.16.2.gem +0 -0
  83. data/vendor/cache/i18n-1.8.5.gem +0 -0
  84. data/vendor/cache/launchy-2.5.0.gem +0 -0
  85. data/vendor/cache/listen-3.2.1.gem +0 -0
  86. data/vendor/cache/loofah-2.6.0.gem +0 -0
  87. data/vendor/cache/lumberjack-1.2.7.gem +0 -0
  88. data/vendor/cache/method_source-1.0.0.gem +0 -0
  89. data/vendor/cache/minitest-5.14.1.gem +0 -0
  90. data/vendor/cache/minitest-rails-6.0.1.gem +0 -0
  91. data/vendor/cache/mocha-1.11.2.gem +0 -0
  92. data/vendor/cache/multi_json-1.15.0.gem +0 -0
  93. data/vendor/cache/net-scp-3.0.0.gem +0 -0
  94. data/vendor/cache/net-ssh-6.1.0.gem +0 -0
  95. data/vendor/cache/{nokogiri-1.9.1.gem → nokogiri-1.10.10.gem} +0 -0
  96. data/vendor/cache/notiffany-0.1.3.gem +0 -0
  97. data/vendor/cache/pry-0.13.1.gem +0 -0
  98. data/vendor/cache/public_suffix-4.0.5.gem +0 -0
  99. data/vendor/cache/rack-2.2.3.gem +0 -0
  100. data/vendor/cache/rails-html-sanitizer-1.3.0.gem +0 -0
  101. data/vendor/cache/railties-6.0.3.2.gem +0 -0
  102. data/vendor/cache/rake-13.0.1.gem +0 -0
  103. data/vendor/cache/rb-fsevent-0.10.4.gem +0 -0
  104. data/vendor/cache/rb-inotify-0.10.1.gem +0 -0
  105. data/vendor/cache/shoulda-4.0.0.gem +0 -0
  106. data/vendor/cache/shoulda-context-2.0.0.gem +0 -0
  107. data/vendor/cache/shoulda-matchers-4.3.0.gem +0 -0
  108. data/vendor/cache/sorcerer-2.0.1.gem +0 -0
  109. data/vendor/cache/thor-1.0.1.gem +0 -0
  110. data/vendor/cache/tzinfo-1.2.7.gem +0 -0
  111. data/vendor/cache/zeitwerk-2.4.0.gem +0 -0
  112. metadata +163 -281
  113. data/.circleci/config.yml +0 -177
  114. data/.circleci/setup-gem-credentials.sh +0 -3
  115. data/.ruby-version +0 -1
  116. data/Gemfile.lock +0 -165
  117. data/_config.yml +0 -1
  118. data/docker-compose.yml +0 -21
  119. data/docker/containers/2_5_3/Dockerfile +0 -10
  120. data/docker/containers/2_6_0/Dockerfile +0 -10
  121. data/docker/containers/app/Dockerfile +0 -10
  122. data/docker/env_files/circleci.env.enc +0 -5
  123. data/lib/roro/cli/base.rb +0 -137
  124. data/lib/roro/cli/generate_keys.rb +0 -79
  125. data/lib/roro/cli/templates/Gemfile.lock +0 -0
  126. data/lib/roro/cli/templates/Guardfile +0 -81
  127. data/lib/roro/cli/templates/circleci/Rakefile +0 -4
  128. data/lib/roro/cli/templates/circleci/config.job-example.yml +0 -33
  129. data/lib/roro/cli/templates/circleci/config.yml +0 -69
  130. data/lib/roro/cli/templates/circleci/config.yml.workflow-example +0 -62
  131. data/lib/roro/cli/templates/circleci/deploy.rake +0 -127
  132. data/lib/roro/cli/templates/config.yml +0 -71
  133. data/lib/roro/cli/templates/docker-compose.yml +0 -53
  134. data/lib/roro/cli/templates/docker/containers/app/Dockerfile.tt +0 -12
  135. data/lib/roro/cli/templates/docker/containers/web/Dockerfile.tt +0 -18
  136. data/lib/roro/cli/templates/docker/containers/web/app.conf.tt +0 -23
  137. data/lib/roro/cli/templates/docker/overrides/circleci.yml.tt +0 -19
  138. data/lib/roro/cli/templates/docker/overrides/production.yml.tt +0 -26
  139. data/lib/roro/cli/templates/docker/web/Dockerfile +0 -20
  140. data/lib/roro/cli/templates/docker/web/app.conf +0 -23
  141. data/lib/roro/cli/templates/gitignore +0 -27
  142. data/lib/roro/cli/templates/greenfield/Dockerfile +0 -8
  143. data/lib/roro/cli/templates/greenfield/Gemfile +0 -2
  144. data/lib/roro/cli/templates/greenfield/Gemfile.lock +0 -0
  145. data/lib/roro/cli/templates/greenfield/config/database.yml.example +0 -16
  146. data/lib/roro/cli/templates/greenfield/docker-compose.yml +0 -15
  147. data/lib/roro/cli/templates/lib/tasks/deploy.rake +0 -126
  148. data/lib/roro/cli/templates/ruby_gem/docker/containers/app/Dockerfile.tt +0 -10
  149. data/test_apps/dummy/.gitignore +0 -27
  150. data/test_apps/dummy/Gemfile +0 -61
  151. data/test_apps/dummy/README.md +0 -24
  152. data/test_apps/dummy/Rakefile +0 -6
  153. data/test_apps/dummy/app/assets/config/manifest.js +0 -3
  154. data/test_apps/dummy/app/assets/javascripts/application.js +0 -16
  155. data/test_apps/dummy/app/assets/javascripts/cable.js +0 -13
  156. data/test_apps/dummy/app/assets/stylesheets/application.css +0 -15
  157. data/test_apps/dummy/app/channels/application_cable/channel.rb +0 -4
  158. data/test_apps/dummy/app/channels/application_cable/connection.rb +0 -4
  159. data/test_apps/dummy/app/controllers/application_controller.rb +0 -2
  160. data/test_apps/dummy/app/helpers/application_helper.rb +0 -2
  161. data/test_apps/dummy/app/jobs/application_job.rb +0 -2
  162. data/test_apps/dummy/app/mailers/application_mailer.rb +0 -4
  163. data/test_apps/dummy/app/models/application_record.rb +0 -3
  164. data/test_apps/dummy/app/views/layouts/application.html.erb +0 -15
  165. data/test_apps/dummy/app/views/layouts/mailer.html.erb +0 -13
  166. data/test_apps/dummy/app/views/layouts/mailer.text.erb +0 -1
  167. data/test_apps/dummy/bin/bundle +0 -3
  168. data/test_apps/dummy/bin/rails +0 -4
  169. data/test_apps/dummy/bin/rake +0 -4
  170. data/test_apps/dummy/bin/setup +0 -36
  171. data/test_apps/dummy/bin/update +0 -31
  172. data/test_apps/dummy/bin/yarn +0 -11
  173. data/test_apps/dummy/config.ru +0 -5
  174. data/test_apps/dummy/config/application.rb +0 -19
  175. data/test_apps/dummy/config/boot.rb +0 -4
  176. data/test_apps/dummy/config/cable.yml +0 -10
  177. data/test_apps/dummy/config/credentials.yml.enc +0 -1
  178. data/test_apps/dummy/config/database.yml +0 -85
  179. data/test_apps/dummy/config/environment.rb +0 -5
  180. data/test_apps/dummy/config/environments/development.rb +0 -61
  181. data/test_apps/dummy/config/environments/production.rb +0 -94
  182. data/test_apps/dummy/config/environments/test.rb +0 -46
  183. data/test_apps/dummy/config/initializers/application_controller_renderer.rb +0 -8
  184. data/test_apps/dummy/config/initializers/assets.rb +0 -14
  185. data/test_apps/dummy/config/initializers/backtrace_silencers.rb +0 -7
  186. data/test_apps/dummy/config/initializers/content_security_policy.rb +0 -25
  187. data/test_apps/dummy/config/initializers/cookies_serializer.rb +0 -5
  188. data/test_apps/dummy/config/initializers/filter_parameter_logging.rb +0 -4
  189. data/test_apps/dummy/config/initializers/inflections.rb +0 -16
  190. data/test_apps/dummy/config/initializers/mime_types.rb +0 -4
  191. data/test_apps/dummy/config/initializers/wrap_parameters.rb +0 -14
  192. data/test_apps/dummy/config/locales/en.yml +0 -33
  193. data/test_apps/dummy/config/puma.rb +0 -34
  194. data/test_apps/dummy/config/routes.rb +0 -3
  195. data/test_apps/dummy/config/spring.rb +0 -6
  196. data/test_apps/dummy/config/storage.yml +0 -34
  197. data/test_apps/dummy/db/seeds.rb +0 -7
  198. data/test_apps/dummy/package.json +0 -5
  199. data/test_apps/dummy/public/404.html +0 -67
  200. data/test_apps/dummy/public/422.html +0 -67
  201. data/test_apps/dummy/public/500.html +0 -66
  202. data/test_apps/dummy/public/apple-touch-icon-precomposed.png +0 -0
  203. data/test_apps/dummy/public/apple-touch-icon.png +0 -0
  204. data/test_apps/dummy/public/favicon.ico +0 -0
  205. data/test_apps/dummy/public/robots.txt +0 -1
  206. data/test_apps/dummy/storage/.keep +0 -0
  207. data/test_apps/dummy/test/application_system_test_case.rb +0 -5
  208. data/test_apps/dummy/test/controllers/.keep +0 -0
  209. data/test_apps/dummy/test/fixtures/.keep +0 -0
  210. data/test_apps/dummy/test/fixtures/files/.keep +0 -0
  211. data/test_apps/dummy/test/helpers/.keep +0 -0
  212. data/test_apps/dummy/test/integration/.keep +0 -0
  213. data/test_apps/dummy/test/mailers/.keep +0 -0
  214. data/test_apps/dummy/test/models/.keep +0 -0
  215. data/test_apps/dummy/test/system/.keep +0 -0
  216. data/test_apps/dummy/test/test_helper.rb +0 -10
  217. data/test_apps/dummy/tmp/.keep +0 -0
  218. data/test_apps/dummy/vendor/.keep +0 -0
  219. data/test_apps/dummy_gem/.keep +0 -0
  220. data/test_apps/dummy_roro/.circleci/Rakefile +0 -4
  221. data/test_apps/dummy_roro/.circleci/config.job-example.yml +0 -33
  222. data/test_apps/dummy_roro/.circleci/config.yml.workflow-example +0 -62
  223. data/test_apps/dummy_roro/.circleci/deploy.rake +0 -127
  224. data/test_apps/dummy_roro/.gitignore +0 -27
  225. data/test_apps/dummy_roro/Gemfile +0 -64
  226. data/test_apps/dummy_roro/README.md +0 -24
  227. data/test_apps/dummy_roro/Rakefile +0 -6
  228. data/test_apps/dummy_roro/app/assets/config/manifest.js +0 -3
  229. data/test_apps/dummy_roro/app/assets/images/.keep +0 -0
  230. data/test_apps/dummy_roro/app/assets/javascripts/application.js +0 -16
  231. data/test_apps/dummy_roro/app/assets/javascripts/cable.js +0 -13
  232. data/test_apps/dummy_roro/app/assets/javascripts/channels/.keep +0 -0
  233. data/test_apps/dummy_roro/app/assets/stylesheets/application.css +0 -15
  234. data/test_apps/dummy_roro/app/channels/application_cable/channel.rb +0 -4
  235. data/test_apps/dummy_roro/app/channels/application_cable/connection.rb +0 -4
  236. data/test_apps/dummy_roro/app/controllers/application_controller.rb +0 -2
  237. data/test_apps/dummy_roro/app/controllers/concerns/.keep +0 -0
  238. data/test_apps/dummy_roro/app/helpers/application_helper.rb +0 -2
  239. data/test_apps/dummy_roro/app/jobs/application_job.rb +0 -2
  240. data/test_apps/dummy_roro/app/mailers/application_mailer.rb +0 -4
  241. data/test_apps/dummy_roro/app/models/application_record.rb +0 -3
  242. data/test_apps/dummy_roro/app/models/concerns/.keep +0 -0
  243. data/test_apps/dummy_roro/app/views/layouts/application.html.erb +0 -15
  244. data/test_apps/dummy_roro/app/views/layouts/mailer.html.erb +0 -13
  245. data/test_apps/dummy_roro/app/views/layouts/mailer.text.erb +0 -1
  246. data/test_apps/dummy_roro/bin/bundle +0 -3
  247. data/test_apps/dummy_roro/bin/rails +0 -4
  248. data/test_apps/dummy_roro/bin/rake +0 -4
  249. data/test_apps/dummy_roro/bin/setup +0 -36
  250. data/test_apps/dummy_roro/bin/update +0 -31
  251. data/test_apps/dummy_roro/bin/yarn +0 -11
  252. data/test_apps/dummy_roro/config.ru +0 -5
  253. data/test_apps/dummy_roro/config/application.rb +0 -19
  254. data/test_apps/dummy_roro/config/boot.rb +0 -4
  255. data/test_apps/dummy_roro/config/cable.yml +0 -10
  256. data/test_apps/dummy_roro/config/credentials.yml.enc +0 -1
  257. data/test_apps/dummy_roro/config/database.yml +0 -20
  258. data/test_apps/dummy_roro/config/environment.rb +0 -5
  259. data/test_apps/dummy_roro/config/environments/development.rb +0 -61
  260. data/test_apps/dummy_roro/config/environments/production.rb +0 -94
  261. data/test_apps/dummy_roro/config/environments/test.rb +0 -46
  262. data/test_apps/dummy_roro/config/initializers/application_controller_renderer.rb +0 -8
  263. data/test_apps/dummy_roro/config/initializers/assets.rb +0 -14
  264. data/test_apps/dummy_roro/config/initializers/backtrace_silencers.rb +0 -7
  265. data/test_apps/dummy_roro/config/initializers/content_security_policy.rb +0 -25
  266. data/test_apps/dummy_roro/config/initializers/cookies_serializer.rb +0 -5
  267. data/test_apps/dummy_roro/config/initializers/filter_parameter_logging.rb +0 -4
  268. data/test_apps/dummy_roro/config/initializers/inflections.rb +0 -16
  269. data/test_apps/dummy_roro/config/initializers/mime_types.rb +0 -4
  270. data/test_apps/dummy_roro/config/initializers/wrap_parameters.rb +0 -14
  271. data/test_apps/dummy_roro/config/locales/en.yml +0 -33
  272. data/test_apps/dummy_roro/config/puma.rb +0 -34
  273. data/test_apps/dummy_roro/config/routes.rb +0 -3
  274. data/test_apps/dummy_roro/config/spring.rb +0 -6
  275. data/test_apps/dummy_roro/config/storage.yml +0 -34
  276. data/test_apps/dummy_roro/db/seeds.rb +0 -7
  277. data/test_apps/dummy_roro/docker-compose.yml +0 -51
  278. data/test_apps/dummy_roro/docker/containers/app/Dockerfile +0 -12
  279. data/test_apps/dummy_roro/docker/containers/app/circleci.env +0 -2
  280. data/test_apps/dummy_roro/docker/containers/app/development.env +0 -2
  281. data/test_apps/dummy_roro/docker/containers/app/production.env +0 -2
  282. data/test_apps/dummy_roro/docker/containers/app/staging.env +0 -2
  283. data/test_apps/dummy_roro/docker/containers/database/.keep +0 -0
  284. data/test_apps/dummy_roro/docker/containers/database/circleci.env +0 -3
  285. data/test_apps/dummy_roro/docker/containers/database/development.env +0 -3
  286. data/test_apps/dummy_roro/docker/containers/database/production.env +0 -3
  287. data/test_apps/dummy_roro/docker/containers/database/staging.env +0 -3
  288. data/test_apps/dummy_roro/docker/containers/web/Dockerfile +0 -18
  289. data/test_apps/dummy_roro/docker/containers/web/app.conf +0 -23
  290. data/test_apps/dummy_roro/docker/containers/web/circleci.env +0 -1
  291. data/test_apps/dummy_roro/docker/containers/web/development.env +0 -1
  292. data/test_apps/dummy_roro/docker/containers/web/production.env +0 -1
  293. data/test_apps/dummy_roro/docker/containers/web/staging.env +0 -1
  294. data/test_apps/dummy_roro/docker/env_files/circleci.env +0 -12
  295. data/test_apps/dummy_roro/docker/env_files/circleci.env.enc +0 -14
  296. data/test_apps/dummy_roro/docker/env_files/production.env +0 -2
  297. data/test_apps/dummy_roro/docker/env_files/production.env.enc +0 -2
  298. data/test_apps/dummy_roro/docker/keys/.keep +0 -0
  299. data/test_apps/dummy_roro/docker/overrides/circleci.yml +0 -19
  300. data/test_apps/dummy_roro/docker/overrides/production.yml +0 -26
  301. data/test_apps/dummy_roro/lib/assets/.keep +0 -0
  302. data/test_apps/dummy_roro/lib/tasks/.keep +0 -0
  303. data/test_apps/dummy_roro/lib/tasks/deploy.rake +0 -126
  304. data/test_apps/dummy_roro/log/.keep +0 -0
  305. data/test_apps/dummy_roro/package.json +0 -5
  306. data/test_apps/dummy_roro/public/404.html +0 -67
  307. data/test_apps/dummy_roro/public/422.html +0 -67
  308. data/test_apps/dummy_roro/public/500.html +0 -66
  309. data/test_apps/dummy_roro/public/apple-touch-icon-precomposed.png +0 -0
  310. data/test_apps/dummy_roro/public/apple-touch-icon.png +0 -0
  311. data/test_apps/dummy_roro/public/favicon.ico +0 -0
  312. data/test_apps/dummy_roro/public/robots.txt +0 -1
  313. data/test_apps/dummy_roro/storage/.keep +0 -0
  314. data/test_apps/dummy_roro/test/application_system_test_case.rb +0 -5
  315. data/test_apps/dummy_roro/test/controllers/.keep +0 -0
  316. data/test_apps/dummy_roro/test/fixtures/.keep +0 -0
  317. data/test_apps/dummy_roro/test/fixtures/files/.keep +0 -0
  318. data/test_apps/dummy_roro/test/helpers/.keep +0 -0
  319. data/test_apps/dummy_roro/test/integration/.keep +0 -0
  320. data/test_apps/dummy_roro/test/mailers/.keep +0 -0
  321. data/test_apps/dummy_roro/test/models/.keep +0 -0
  322. data/test_apps/dummy_roro/test/system/.keep +0 -0
  323. data/test_apps/dummy_roro/test/test_helper.rb +0 -10
  324. data/test_apps/dummy_roro/tmp/.keep +0 -0
  325. data/test_apps/dummy_roro/vendor/.keep +0 -0
  326. data/test_apps/greenfield/.keep +0 -0
  327. data/vendor/cache/actionpack-5.2.2.gem +0 -0
  328. data/vendor/cache/actionview-5.2.2.gem +0 -0
  329. data/vendor/cache/activesupport-5.2.2.gem +0 -0
  330. data/vendor/cache/addressable-2.5.2.gem +0 -0
  331. data/vendor/cache/builder-3.2.3.gem +0 -0
  332. data/vendor/cache/coderay-1.1.2.gem +0 -0
  333. data/vendor/cache/concurrent-ruby-1.1.4.gem +0 -0
  334. data/vendor/cache/crass-1.0.4.gem +0 -0
  335. data/vendor/cache/erubi-1.8.0.gem +0 -0
  336. data/vendor/cache/ffi-1.9.25.gem +0 -0
  337. data/vendor/cache/guard-2.15.0.gem +0 -0
  338. data/vendor/cache/i18n-1.3.0.gem +0 -0
  339. data/vendor/cache/launchy-2.4.3.gem +0 -0
  340. data/vendor/cache/listen-3.1.5.gem +0 -0
  341. data/vendor/cache/loofah-2.2.3.gem +0 -0
  342. data/vendor/cache/lumberjack-1.0.13.gem +0 -0
  343. data/vendor/cache/method_source-0.9.2.gem +0 -0
  344. data/vendor/cache/minitest-5.11.3.gem +0 -0
  345. data/vendor/cache/minitest-rails-3.0.0.gem +0 -0
  346. data/vendor/cache/multi_json-1.13.1.gem +0 -0
  347. data/vendor/cache/net-scp-2.0.0.gem +0 -0
  348. data/vendor/cache/net-ssh-5.2.0.gem +0 -0
  349. data/vendor/cache/notiffany-0.1.1.gem +0 -0
  350. data/vendor/cache/pry-0.12.2.gem +0 -0
  351. data/vendor/cache/public_suffix-3.0.3.gem +0 -0
  352. data/vendor/cache/rack-2.0.6.gem +0 -0
  353. data/vendor/cache/rails-html-sanitizer-1.0.4.gem +0 -0
  354. data/vendor/cache/railties-5.2.2.gem +0 -0
  355. data/vendor/cache/rake-10.5.0.gem +0 -0
  356. data/vendor/cache/rb-fsevent-0.10.3.gem +0 -0
  357. data/vendor/cache/rb-inotify-0.10.0.gem +0 -0
  358. data/vendor/cache/ruby_dep-1.5.0.gem +0 -0
  359. data/vendor/cache/shoulda-3.6.0.gem +0 -0
  360. data/vendor/cache/shoulda-context-1.2.2.gem +0 -0
  361. data/vendor/cache/shoulda-matchers-3.1.2.gem +0 -0
  362. data/vendor/cache/sorcerer-1.0.2.gem +0 -0
  363. data/vendor/cache/thor-0.20.3.gem +0 -0
  364. data/vendor/cache/tzinfo-1.2.5.gem +0 -0
@@ -1,71 +0,0 @@
1
- defaults: &defaults
2
- working_directory: /tmp
3
-
4
- version: 2
5
-
6
- jobs:
7
-
8
- build:
9
- machine: true
10
- steps:
11
- - checkout
12
- - run: gem install handsome_fencer-circle_c_i
13
- - run: handsome_fencer-circle_c_i expose circleci
14
- - run: handsome_fencer-circle_c_i expose development
15
- - run: echo 'source docker/env_files/circleci.env' >> $BASH_ENV
16
- - run: docker-compose build
17
- - run: docker-compose up -d
18
- - run: docker-compose exec app bin/rails db:create db:migrate
19
-
20
- push:
21
- machine: true
22
- steps:
23
- - checkout
24
- - run: gem install handsome_fencer-circle_c_i
25
- - run: handsome_fencer-circle_c_i expose circleci
26
- - run: handsome_fencer-circle_c_i expose development
27
- - run: echo 'source docker/env_files/circleci.env' >> $BASH_ENV
28
- - run: docker-compose build
29
- - run: docker-compose up -d
30
- - run: docker-compose exec app bin/rails db:create db:migrate
31
- - run: docker login -u $DOCKERHUB_USER -p $DOCKERHUB_PASS
32
- - run:
33
- name: Tag app image
34
- command: docker tag $(docker images | grep project_app | awk '{ print $3 }') ${DOCKERHUB_ORG_NAME}/${APP_NAME}_app:$DEPLOY_TAG
35
- - run:
36
- name: Tag web image
37
- command: docker tag $(docker images | grep project_web | awk '{ print $3 }') ${DOCKERHUB_ORG_NAME}/${APP_NAME}_web:$DEPLOY_TAG
38
-
39
-
40
- - run: docker push ${DOCKERHUB_ORG_NAME}/${APP_NAME}_app:$DEPLOY_TAG
41
- - run: docker push ${DOCKERHUB_ORG_NAME}/${APP_NAME}_web:$DEPLOY_TAG
42
-
43
- deploy:
44
- machine: true
45
- steps:
46
- - checkout
47
- - add_ssh_keys
48
- - run: gem install handsome_fencer-circle_c_i
49
- - run: handsome_fencer-circle_c_i expose circleci
50
- - run: handsome_fencer-circle_c_i expose development
51
- - run: echo 'source docker/env_files/circleci.env' >> $BASH_ENV
52
-
53
- - run: rake --rakefile .circleci/Rakefile
54
-
55
- workflows:
56
- version: 2
57
- build-and-deploy:
58
- jobs:
59
- - build
60
- - push:
61
- requires:
62
- - build
63
- filters:
64
- branches:
65
- only: master
66
- - deploy:
67
- requires:
68
- - push
69
- filters:
70
- branches:
71
- only: master
@@ -1,53 +0,0 @@
1
- version: '3.1'
2
-
3
- services:
4
- chrome:
5
- image: selenium/standalone-chrome-debug
6
- volumes:
7
- - /dev/shm:/dev/shm
8
- app:
9
- build:
10
- context: .
11
- dockerfile: docker/containers/app/Dockerfile
12
-
13
- depends_on:
14
- - database
15
- ports:
16
- - "35729:35729"
17
- - "3000:3000"
18
- volumes:
19
- - app-data:/usr/src/app
20
- - gem_cache:/gems
21
- env_file:
22
- - docker/containers/database/development.env
23
- - docker/containers/app/development.env
24
- command: [ "bin/rails", "s" ]
25
-
26
- stdin_open: true
27
- tty: true
28
- secrets:
29
- - host_ssh_key
30
-
31
- database:
32
- image: postgres
33
-
34
- env_file:
35
- - docker/containers/database/development.env
36
-
37
- volumes:
38
- - database-data:/var/lib/postgresql/data
39
-
40
- web:
41
- depends_on:
42
- - app
43
- build:
44
- context: .
45
- dockerfile: docker/containers/web/Dockerfile
46
- volumes:
47
- database-data:
48
- gem_cache:
49
- app-data:
50
-
51
- secrets:
52
- host_ssh_key:
53
- file: ~/.ssh/id_rsa
@@ -1,12 +0,0 @@
1
- FROM ruby:2.5-alpine
2
-
3
- LABEL maintainer=<%= config[:email] %>
4
-
5
-
6
- RUN apk add --no-cache --update build-base linux-headers \
7
- postgresql-dev nodejs tzdata libxml2-dev libxslt-dev imagemagick
8
-
9
- COPY Gemfile* /usr/src/app/
10
- WORKDIR /usr/src/app
11
- RUN bundle install
12
- COPY . /usr/src/app/
@@ -1,18 +0,0 @@
1
- FROM nginx
2
-
3
- RUN apt-get update -qq && apt-get -y install apache2-utils
4
-
5
- ENV RAILS_ROOT /usr/src/app
6
-
7
- WORKDIR $RAILS_ROOT
8
-
9
- RUN mkdir log
10
-
11
- # Copy Nginx config template
12
- COPY docker/containers/web/app.conf /tmp/<%= config[:app_name] %>.nginx
13
-
14
- # substitute variable references in the Nginx config template for real values from the environment
15
-
16
- # put the final config in its place
17
-
18
- RUN envsubst '$RAILS_ROOT' < /tmp/<%= config[:app_name] %>.nginx > /etc/nginx/conf.d/default.conf
@@ -1,23 +0,0 @@
1
- upstream puma_rails_app {
2
- server app:3000;
3
- }
4
- server {
5
- listen 80;
6
- proxy_buffers 64 16k;
7
- proxy_max_temp_file_size 1024m;
8
- proxy_connect_timeout 5s;
9
- proxy_send_timeout 10s;
10
- proxy_read_timeout 10s;
11
- location / {
12
- try_files $uri $uri/ @rails_app;
13
- }
14
- location @rails_app {
15
- proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
16
- proxy_set_header Host $http_host;
17
- proxy_redirect off;
18
- proxy_pass http://puma_rails_app;
19
- # limit_req zone=one;
20
- access_log /usr/src/app/log/nginx.access.log;
21
- error_log /usr/src/app/log/nginx.error.log;
22
- }
23
- }
@@ -1,19 +0,0 @@
1
- version: '3.1'
2
-
3
- services:
4
-
5
- database:
6
- env_file:
7
- - docker/containers/database/production.env
8
-
9
- app:
10
- env_file:
11
- - docker/containers/app/production.env
12
- - docker/containers/database/production.env
13
-
14
- web:
15
- build:
16
- context: .
17
- dockerfile: docker/containers/web/Dockerfile
18
- env_file:
19
- - docker/containers/web/development.env
@@ -1,26 +0,0 @@
1
- version: '3.1'
2
-
3
- services:
4
-
5
- database:
6
- env_file:
7
- - docker/containers/database/production.env
8
-
9
- app:
10
- image: "${DOCKERHUB_ORG}/${APP_NAME}_app:${DEPLOY_TAG}"
11
- env_file:
12
- - docker/containers/app/production.env
13
- - docker/containers/database/production.env
14
- expose:
15
- - '3000'
16
-
17
- web:
18
- image: <%= config[:dockerhub_org] %>/<%= config[:app_name] %>_web:${DEPLOY_TAG}
19
- depends_on:
20
- - app
21
- ports:
22
- - "80:80"
23
-
24
- chrome:
25
- command: echo "Chrome service not started in production"
26
- restart: "no"
@@ -1,20 +0,0 @@
1
- FROM nginx
2
-
3
- RUN apt-get update -qq && apt-get -y install apache2-utils
4
-
5
- ENV RAILS_ROOT /usr/src/app
6
-
7
- WORKDIR $RAILS_ROOT
8
-
9
- RUN mkdir log
10
-
11
- COPY public public/
12
-
13
- # Copy Nginx config template
14
- COPY docker/web/app.conf /tmp/docker_example.nginx
15
-
16
- # substitute variable references in the Nginx config template for real values from the environment
17
-
18
- # put the final config in its place
19
-
20
- RUN envsubst '$RAILS_ROOT' < /tmp/docker_example.nginx > /etc/nginx/conf.d/default.conf
@@ -1,23 +0,0 @@
1
- upstream puma_rails_app {
2
- server app:3000;
3
- }
4
- server {
5
- listen 80;
6
- proxy_buffers 64 16k;
7
- proxy_max_temp_file_size 1024m;
8
- proxy_connect_timeout 5s;
9
- proxy_send_timeout 10s;
10
- proxy_read_timeout 10s;
11
- location / {
12
- try_files $uri $uri/ @rails_app;
13
- }
14
- location @rails_app {
15
- proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
16
- proxy_set_header Host $http_host;
17
- proxy_redirect off;
18
- proxy_pass http://puma_rails_app;
19
- # limit_req zone=one;
20
- access_log /usr/src/app/log/nginx.access.log;
21
- error_log /usr/src/app/log/nginx.error.log;
22
- }
23
- }
@@ -1,27 +0,0 @@
1
- # See https://help.github.com/articles/ignoring-files for more about ignoring files.
2
- #
3
- # If you find yourself ignoring temporary files generated by your text editor
4
- # or operating system, you probably want to add a global ignore instead:
5
- # git config --global core.excludesfile '~/.gitignore_global'
6
-
7
- # Ignore bundler config.
8
- /.bundle
9
-
10
- # Ignore all logfiles and tempfiles.
11
- /log/*
12
- /tmp/*
13
- !/log/.keep
14
- !/tmp/.keep
15
-
16
- # Ignore uploaded files in development
17
- /storage/*
18
- !/storage/.keep
19
-
20
- /node_modules
21
- /yarn-error.log
22
-
23
- /public/assets
24
- .byebug_history
25
-
26
- # Ignore master key for decrypting credentials and more.
27
- /config/master.key
@@ -1,8 +0,0 @@
1
- FROM ruby:2.5
2
- RUN apt-get update -qq && apt-get install -y build-essential libpq-dev nodejs
3
- RUN mkdir /myapp
4
- WORKDIR /myapp
5
- COPY Gemfile /myapp/Gemfile
6
- COPY Gemfile.lock /myapp/Gemfile.lock
7
- RUN bundle install
8
- COPY . /myapp
@@ -1,2 +0,0 @@
1
- source 'https://rubygems.org'
2
- gem 'rails'
@@ -1,16 +0,0 @@
1
- default: &default
2
- adapter: postgresql
3
- encoding: unicode
4
- host: db
5
- username: postgres
6
- password:
7
- pool: 5
8
-
9
- development:
10
- <<: *default
11
- database: myapp_development
12
-
13
-
14
- test:
15
- <<: *default
16
- database: myapp_test
@@ -1,15 +0,0 @@
1
- version: '3'
2
- services:
3
- db:
4
- image: postgres
5
- volumes:
6
- - ./tmp/db:/var/lib/postgresql/data
7
- web:
8
- build: .
9
- command: bundle exec rails s -p 3000 -b '0.0.0.0'
10
- volumes:
11
- - .:/myapp
12
- ports:
13
- - "3000:3000"
14
- depends_on:
15
- - db
@@ -1,126 +0,0 @@
1
- # use SSHKit directly instead of Capistrano
2
- require 'sshkit'
3
- require 'sshkit/dsl'
4
- include SSHKit::DSL
5
-
6
- deploy_tag = ENV['DEPLOY_TAG']
7
- hostname = ENV['SERVER_HOST']
8
- user = ENV['SERVER_USER']
9
- dockerhub_user = ENV['DOCKERHUB_USER']
10
- dockerhub_pass = ENV['DOCKERHUB_PASS']
11
- dockerhub_org = ENV['DOCKERHUB_ORG']
12
- port = ENV['SERVER_PORT']
13
- deploy_env = ENV['DEPLOY_ENV'] || :production
14
- deploy_path = ENV['APP_NAME']
15
-
16
- server = SSHKit::Host.new(hostname: hostname, port: port, user: user)
17
-
18
- namespace :deploy do
19
-
20
- desc 'copy to server files needed to run and manage Docker containers'
21
- task :configs do
22
-
23
- on server do
24
- within deploy_path do
25
- upload! File.expand_path('../../docker/overrides/production.docker-compose.yml', __dir__), 'docker-compose.yml'
26
- upload! File.expand_path('../../docker', __dir__), '.', recursive: true
27
- execute 'apt', 'install', 'ruby'
28
- execute 'gem', 'install', 'handsome_fencer-circle_c_i'
29
- execute 'handsome_fencer-circle_c_i', 'expose', 'production'
30
- end
31
- end
32
- end
33
-
34
- desc 'copy production key to server'
35
- task :production_key do
36
-
37
- on server do
38
- within deploy_path do
39
-
40
- upload! '.circleci/keys/production.key', '.circleci/keys/production.key'
41
- end
42
- end
43
- end
44
-
45
- desc 'expose production environment'
46
- task :expose_production_environment do
47
-
48
- on server do
49
- within deploy_path do
50
-
51
- execute 'apt', 'install', 'ruby'
52
- execute 'gem', 'install', 'handsome_fencer-circle_c_i'
53
- execute 'handsome_fencer-circle_c_i', 'expose', 'production'
54
- end
55
- end
56
- end
57
- end
58
-
59
-
60
- namespace :docker do
61
-
62
- desc 'logs into Docker Hub for pushing and pulling'
63
-
64
- task :login do
65
- on server do
66
- execute "mkdir -p #{deploy_path}"
67
- within deploy_path do
68
- execute 'docker', 'login', '-u', dockerhub_user, '-p', dockerhub_pass
69
- end
70
- end
71
- end
72
-
73
- desc 'stops all Docker containers via Docker Compose'
74
-
75
- task stop: 'deploy:configs' do
76
- on server do
77
- within deploy_path do
78
- with rails_env: deploy_env, deploy_tag: deploy_tag do
79
- execute 'docker-compose', 'stop'
80
-
81
- end
82
- end
83
- end
84
- end
85
-
86
- desc 'starts all Docker containers via Docker Compose'
87
-
88
- task start: 'deploy:configs' do
89
- on server do
90
- within deploy_path do
91
- with rails_env: deploy_env, deploy_tag: deploy_tag do
92
- execute 'docker-compose', 'up', '-d'
93
- execute 'echo', deploy_tag , '>', 'deploy.tag'
94
- end
95
- end
96
- end
97
- end
98
-
99
- desc 'pulls images from Docker Hub'
100
-
101
- task pull: 'docker:login' do
102
- on server do
103
- within deploy_path do
104
- ["#{deploy_path}_app", "#{deploy_path}_web"].each do |image_name|
105
- execute 'docker', 'pull', "#{dockerhub_org}/#{image_name}:#{deploy_tag}"
106
- end
107
- execute 'docker', 'pull', 'postgres:9.4.5'
108
- end
109
- end
110
- end
111
-
112
-
113
- desc 'runs database migrations in application container via Docker Compose'
114
- task migrate: 'deploy:configs' do
115
- on server do
116
- within deploy_path do
117
- with rails_env: deploy_env, deploy_tag: deploy_tag do
118
- execute 'docker-compose', 'run', 'app', "bin/rails", 'db:create', 'db:migrate'
119
- end
120
- end
121
- end
122
- end
123
-
124
- desc 'pulls images, stops old containers, updates the database, and starts new containers'
125
- task deploy: %w{docker:pull docker:stop docker:migrate docker:start }
126
- end