roro 0.3.22 → 0.3.23

Sign up to get free protection for your applications and to get access to all the features.
Files changed (333) hide show
  1. checksums.yaml +4 -4
  2. data/.circleci/config.yml +99 -68
  3. data/.gitignore +31 -7
  4. data/.ruby-version +1 -0
  5. data/Gemfile +1 -1
  6. data/Guardfile +23 -13
  7. data/README.md +9 -10
  8. data/bin/console +1 -1
  9. data/bin/setup +1 -1
  10. data/docker-compose.yml +3 -3
  11. data/lib/roro/cli/generate/generate.rb +52 -1
  12. data/lib/roro/cli/generate/generate_containers.rb +23 -0
  13. data/lib/roro/cli/generate/generate_environments.rb +25 -0
  14. data/lib/roro/cli/generate/generate_exposed.rb +4 -11
  15. data/lib/roro/cli/generate/generate_keys.rb +7 -6
  16. data/lib/roro/cli/generate/generate_mise.rb +13 -0
  17. data/lib/roro/cli/generate/generate_obfuscated.rb +5 -25
  18. data/lib/roro/cli/roll_your_own.rb +12 -0
  19. data/lib/roro/cli/rollon.rb +11 -138
  20. data/lib/roro/cli.rb +30 -23
  21. data/lib/roro/common/file_reflection.rb +33 -0
  22. data/lib/roro/common/utilities.rb +185 -0
  23. data/lib/roro/configurator.rb +14 -14
  24. data/lib/roro/configurators/adventure_case_builder.rb +65 -0
  25. data/lib/roro/configurators/adventure_chooser.rb +46 -0
  26. data/lib/roro/configurators/adventure_picker.rb +68 -0
  27. data/lib/roro/configurators/adventure_writer.rb +34 -0
  28. data/lib/roro/configurators/catalog_builder.rb +17 -0
  29. data/lib/roro/configurators/configurator.rb +64 -0
  30. data/lib/roro/configurators/eligibility.rb +141 -0
  31. data/lib/roro/configurators/question_asker.rb +29 -0
  32. data/lib/roro/configurators/question_builder.rb +83 -0
  33. data/lib/roro/configurators/structure_builder.rb +34 -0
  34. data/lib/roro/configurators/utilities.rb +188 -0
  35. data/lib/roro/configurators/validator.rb +109 -0
  36. data/lib/roro/crypto/cipher.rb +35 -0
  37. data/lib/roro/crypto/exposer.rb +33 -0
  38. data/lib/roro/crypto/file_writer.rb +14 -0
  39. data/lib/roro/crypto/key_writer.rb +35 -0
  40. data/lib/roro/crypto/obfuscator.rb +25 -0
  41. data/lib/roro/error.rb +31 -0
  42. data/lib/roro/stacks/catalog/unstoppable/developer_styles/fatsufodo/fatsufodo.yml +1 -0
  43. data/lib/roro/stacks/catalog/unstoppable/developer_styles/fatsufodo/stories/django/django.yml +38 -0
  44. data/lib/roro/stacks/catalog/unstoppable/developer_styles/fatsufodo/stories/django/templates/stage_one/Dockerfile.tt +7 -0
  45. data/lib/roro/stacks/catalog/unstoppable/developer_styles/fatsufodo/stories/django/templates/stage_one/docker-compose.yml.tt +20 -0
  46. data/lib/roro/stacks/catalog/unstoppable/developer_styles/fatsufodo/stories/django/templates/stage_one/requirements.txt.tt +2 -0
  47. data/lib/roro/stacks/catalog/unstoppable/developer_styles/fatsufodo/stories/django/templates/stage_two/settings.py +130 -0
  48. data/lib/roro/{templates/base/jumpstart → stacks/catalog/unstoppable/developer_styles/fatsufodo/stories/django/test/stage_one/dummy}/.keep +0 -0
  49. data/lib/roro/stacks/catalog/unstoppable/developer_styles/fatsufodo/stories/django/test/stage_one/stage_one_test.rb +37 -0
  50. data/lib/roro/{templates/base/roro → stacks/catalog/unstoppable/developer_styles/fatsufodo/stories/django/test/stage_two/dummy}/.keep +0 -0
  51. data/lib/roro/stacks/catalog/unstoppable/developer_styles/fatsufodo/stories/expressjs/expressjs.yml +8 -0
  52. data/lib/roro/stacks/catalog/unstoppable/developer_styles/fatsufodo/stories/expressjs/templates/stage_one/Dockerfile.tt +14 -0
  53. data/lib/roro/stacks/catalog/unstoppable/developer_styles/fatsufodo/stories/expressjs/templates/stage_one/docker-compose.yml.tt +21 -0
  54. data/lib/roro/stacks/catalog/unstoppable/developer_styles/fatsufodo/stories/flask/flask.yml +14 -0
  55. data/lib/roro/{templates/base/roro/roro → stacks/catalog/unstoppable/developer_styles/fatsufodo/stories/flask/templates/stage_one}/.keep +0 -0
  56. data/lib/roro/stacks/catalog/unstoppable/developer_styles/fatsufodo/stories/flask/templates/stage_one/Dockerfile +11 -0
  57. data/lib/roro/stacks/catalog/unstoppable/developer_styles/fatsufodo/stories/flask/templates/stage_one/app.py +23 -0
  58. data/lib/roro/stacks/catalog/unstoppable/developer_styles/fatsufodo/stories/flask/templates/stage_one/docker-compose.yml +8 -0
  59. data/lib/roro/stacks/catalog/unstoppable/developer_styles/fatsufodo/stories/flask/templates/stage_one/requirements.txt +2 -0
  60. data/lib/roro/{templates/base/roro/roro/containers → stacks/catalog/unstoppable/developer_styles/fatsufodo/stories/flask/test}/.keep +0 -0
  61. data/lib/roro/{templates/base/roro/roro/containers/app → stacks/catalog/unstoppable/developer_styles/fatsufodo/stories/flask/test/stage_one}/.keep +0 -0
  62. data/lib/roro/{templates/base/roro/roro/containers/frontend → stacks/catalog/unstoppable/developer_styles/fatsufodo/stories/flask/test/stage_one/stage_dummy}/.keep +0 -0
  63. data/lib/roro/stacks/catalog/unstoppable/developer_styles/fatsufodo/stories/flask/test/stage_one/stage_test.rb +37 -0
  64. data/lib/roro/stacks/catalog/unstoppable/developer_styles/fatsufodo/stories/rails/rails.yml +12 -0
  65. data/lib/roro/stacks/catalog/unstoppable/developer_styles/fatsufodo/stories/rails/templates/stage_one/Dockerfile.tt +16 -0
  66. data/lib/roro/{templates/base/roro/roro/keys/.keep → stacks/catalog/unstoppable/developer_styles/fatsufodo/stories/rails/templates/stage_one/Gemfile.lock.tt} +0 -0
  67. data/lib/roro/stacks/catalog/unstoppable/developer_styles/fatsufodo/stories/rails/templates/stage_one/Gemfile.tt +2 -0
  68. data/lib/roro/stacks/catalog/unstoppable/developer_styles/fatsufodo/stories/rails/templates/stage_one/docker-compose.yml.tt +9 -0
  69. data/lib/roro/{templates/base/roro/roro/docker-entrypoint.sh.tt → stacks/catalog/unstoppable/developer_styles/fatsufodo/stories/rails/templates/stage_one/entrypoint.sh} +1 -1
  70. data/lib/roro/stacks/catalog/unstoppable/developer_styles/fatsufodo/stories/rails/templates/stage_two/database.yml.tt +16 -0
  71. data/lib/roro/stacks/catalog/unstoppable/developer_styles/fatsufodo/stories/wordpress/templates/stage_one/docker-compose.yml.tt +31 -0
  72. data/lib/roro/stacks/catalog/unstoppable/developer_styles/fatsufodo/stories/wordpress/wordpress.yml +17 -0
  73. data/lib/roro/stacks/catalog/unstoppable/developer_styles/okonomi/okonomi.yml +1 -0
  74. data/lib/roro/stacks/catalog/unstoppable/developer_styles/okonomi/stories/roll_your_own/roll_your_own.yml +23 -0
  75. data/lib/roro/stacks/catalog/unstoppable/developer_styles/okonomi/stories/roll_your_own/templates/stage_one/%interpolated_stack_path%/%interpolated_story_name%.yml.tt +10 -0
  76. data/lib/roro/{templates/rails/.circleci → stacks/catalog/unstoppable/developer_styles/okonomi/stories/roll_your_own/templates/stage_one/%interpolated_stack_path%/templates/stage_one}/.keep +0 -0
  77. data/lib/roro/{templates/rails → stacks/catalog/unstoppable/developer_styles/okonomi/stories/roll_your_own/templates/stage_one/%interpolated_stack_path%/test}/.keep +0 -0
  78. data/lib/roro/{templates/rails/database/with_postgresql → stacks/catalog/unstoppable/developer_styles/okonomi/stories/roll_your_own/templates/stage_one/%interpolated_stack_path%/test/stage_one}/.keep +0 -0
  79. data/lib/roro/{templates/rails/dotenv → stacks/catalog/unstoppable/developer_styles/okonomi/stories/roll_your_own/templates/stage_one/%interpolated_stack_path%/test/stage_one/stage_dummy}/.keep +0 -0
  80. data/lib/roro/stacks/catalog/unstoppable/developer_styles/okonomi/stories/roll_your_own/templates/stage_one/%interpolated_stack_path%/test/stage_one/stage_test.rb.tt +37 -0
  81. data/lib/roro/{templates/rails/roro → stacks/catalog/unstoppable/developer_styles/okonomi/stories/roll_your_own/test/stage_one/dummy}/.keep +0 -0
  82. data/lib/roro/stacks/catalog/unstoppable/developer_styles/okonomi/stories/roll_your_own/test/stage_one/stage_one_test.rb +58 -0
  83. data/lib/roro/stacks/catalog/unstoppable/developer_styles/omakase/omakase.yml +1 -0
  84. data/lib/roro/stacks/catalog/unstoppable/developer_styles/omakase/stories/rails/rails.yml +13 -0
  85. data/lib/roro/stacks/catalog/unstoppable/developer_styles/omakase/stories/rails/templates/stage_one/Dockerfile.tt +16 -0
  86. data/lib/roro/{templates/rails/roro/containers/.keep → stacks/catalog/unstoppable/developer_styles/omakase/stories/rails/templates/stage_one/Gemfile.lock.tt} +0 -0
  87. data/lib/roro/stacks/catalog/unstoppable/developer_styles/omakase/stories/rails/templates/stage_one/Gemfile.tt +2 -0
  88. data/lib/roro/stacks/catalog/unstoppable/developer_styles/omakase/stories/rails/templates/stage_one/docker-compose.yml.tt +17 -0
  89. data/lib/roro/stacks/catalog/unstoppable/developer_styles/omakase/stories/rails/templates/stage_one/entrypoint.sh +8 -0
  90. data/lib/roro/stacks/catalog/unstoppable/developer_styles/omakase/stories/rails/templates/stage_two/database.yml.tt +16 -0
  91. data/lib/roro/stacks/catalog/unstoppable/developer_styles/omakase/stories/wordpress/templates/stage_one/.env +38 -0
  92. data/lib/roro/{templates/rails/roro/containers/app → stacks/catalog/unstoppable/developer_styles/omakase/stories/wordpress/templates/stage_one}/.keep +0 -0
  93. data/lib/roro/stacks/catalog/unstoppable/developer_styles/omakase/stories/wordpress/templates/stage_one/LICENSE +674 -0
  94. data/lib/roro/stacks/catalog/unstoppable/developer_styles/omakase/stories/wordpress/templates/stage_one/README.md +346 -0
  95. data/lib/roro/stacks/catalog/unstoppable/developer_styles/omakase/stories/wordpress/templates/stage_one/build.sh +39 -0
  96. data/lib/roro/stacks/catalog/unstoppable/developer_styles/omakase/stories/wordpress/templates/stage_one/config/nginx/cfg/nginx-custom-configs.conf +117 -0
  97. data/lib/roro/stacks/catalog/unstoppable/developer_styles/omakase/stories/wordpress/templates/stage_one/config/nginx/cfg/nginx-wp-hardening.conf +131 -0
  98. data/lib/roro/stacks/catalog/unstoppable/developer_styles/omakase/stories/wordpress/templates/stage_one/config/nginx/tpl/nginx-http.conf.template +103 -0
  99. data/lib/roro/stacks/catalog/unstoppable/developer_styles/omakase/stories/wordpress/templates/stage_one/config/nginx/tpl/nginx-https.conf.example +123 -0
  100. data/lib/roro/stacks/catalog/unstoppable/developer_styles/omakase/stories/wordpress/templates/stage_one/config/php.conf.ini +3 -0
  101. data/lib/roro/{templates/rails/roro/containers/frontend/.keep → stacks/catalog/unstoppable/developer_styles/omakase/stories/wordpress/templates/stage_one/data/certbot/conf/.placeholder} +0 -0
  102. data/lib/roro/{templates/rails/roro/keys/.keep → stacks/catalog/unstoppable/developer_styles/omakase/stories/wordpress/templates/stage_one/data/certbot/www/.placeholder} +0 -0
  103. data/lib/roro/stacks/catalog/unstoppable/developer_styles/omakase/stories/wordpress/templates/stage_one/docker-compose-build.yml +24 -0
  104. data/lib/roro/stacks/catalog/unstoppable/developer_styles/omakase/stories/wordpress/templates/stage_one/docker-compose-dev.yml +96 -0
  105. data/lib/roro/stacks/catalog/unstoppable/developer_styles/omakase/stories/wordpress/templates/stage_one/docker-compose-prod.yml +147 -0
  106. data/lib/roro/stacks/catalog/unstoppable/developer_styles/omakase/stories/wordpress/templates/stage_one/dump_mysql.sh +16 -0
  107. data/lib/roro/stacks/catalog/unstoppable/developer_styles/omakase/stories/wordpress/templates/stage_one/init_letsencrypt.sh +80 -0
  108. data/lib/roro/{templates/rails/roro/kube/.keep → stacks/catalog/unstoppable/developer_styles/omakase/stories/wordpress/templates/stage_one/mysql-dumps/.placeholder} +0 -0
  109. data/lib/roro/stacks/catalog/unstoppable/developer_styles/omakase/stories/wordpress/templates/stage_one/push.sh +22 -0
  110. data/lib/roro/stacks/catalog/unstoppable/developer_styles/omakase/stories/wordpress/templates/stage_one/wordpress/Dockerfile +14 -0
  111. data/lib/roro/stacks/catalog/unstoppable/developer_styles/omakase/stories/wordpress/templates/stage_one/wordpress/adduser.sh +15 -0
  112. data/lib/roro/{templates/rails/roro/kube/certificate.yml.tt → stacks/catalog/unstoppable/developer_styles/omakase/stories/wordpress/templates/stage_one/wordpress-sql/.placeholder} +0 -0
  113. data/lib/roro/{templates/rails/roro/kube/cluster-issuer.yml.tt → stacks/catalog/unstoppable/developer_styles/omakase/stories/wordpress/templates/stage_one/wordpress-src/.placeholder} +0 -0
  114. data/lib/roro/{templates/ruby_gem/.circleci → stacks/catalog/unstoppable/developer_styles/omakase/stories/wordpress/test}/.keep +0 -0
  115. data/lib/roro/{templates/ruby_gem/roro/containers → stacks/catalog/unstoppable/developer_styles/omakase/stories/wordpress/test/stage_one}/.keep +0 -0
  116. data/lib/roro/{templates/ruby_gem/roro/keys → stacks/catalog/unstoppable/developer_styles/omakase/stories/wordpress/test/stage_one/stage_dummy}/.keep +0 -0
  117. data/lib/roro/stacks/catalog/unstoppable/developer_styles/omakase/stories/wordpress/test/stage_one/stage_test.rb +40 -0
  118. data/lib/roro/stacks/catalog/unstoppable/developer_styles/omakase/stories/wordpress/wordpress.yml +76 -0
  119. data/lib/roro/stacks/catalog/unstoppable/developer_styles/sashimi/fatsufodo.yml +1 -0
  120. data/lib/roro/stacks/catalog/unstoppable/developer_styles/sashimi/stories/django/django.yml +36 -0
  121. data/lib/roro/stacks/catalog/unstoppable/developer_styles/sashimi/stories/django/templates/stage_one/Dockerfile.tt +7 -0
  122. data/lib/roro/stacks/catalog/unstoppable/developer_styles/sashimi/stories/django/templates/stage_one/docker-compose.yml.tt +20 -0
  123. data/lib/roro/stacks/catalog/unstoppable/developer_styles/sashimi/stories/django/templates/stage_one/requirements.txt.tt +2 -0
  124. data/lib/roro/stacks/catalog/unstoppable/developer_styles/sashimi/stories/django/templates/stage_two/settings.py +130 -0
  125. data/{roro/containers → lib/roro/stacks/catalog/unstoppable/developer_styles/sashimi/stories/django/test/stage_one/dummy}/.keep +0 -0
  126. data/lib/roro/stacks/catalog/unstoppable/developer_styles/sashimi/stories/django/test/stage_one/stage_one_test.rb +37 -0
  127. data/{roro/keys → lib/roro/stacks/catalog/unstoppable/developer_styles/sashimi/stories/django/test/stage_two/dummy}/.keep +0 -0
  128. data/lib/roro/stacks/catalog/unstoppable/developer_styles/sashimi/stories/expressjs/expressjs.yml +7 -0
  129. data/lib/roro/stacks/catalog/unstoppable/developer_styles/sashimi/stories/expressjs/templates/stage_one/Dockerfile.tt +14 -0
  130. data/lib/roro/stacks/catalog/unstoppable/developer_styles/sashimi/stories/expressjs/templates/stage_one/docker-compose.yml.tt +21 -0
  131. data/lib/roro/stacks/catalog/unstoppable/developer_styles/sashimi/stories/rails/rails.yml +12 -0
  132. data/lib/roro/stacks/catalog/unstoppable/developer_styles/sashimi/stories/rails/templates/stage_one/Dockerfile.tt +16 -0
  133. data/lib/roro/{templates/rails/roro/kube/ingress.yml.tt → stacks/catalog/unstoppable/developer_styles/sashimi/stories/rails/templates/stage_one/Gemfile.lock.tt} +0 -0
  134. data/lib/roro/stacks/catalog/unstoppable/developer_styles/sashimi/stories/rails/templates/stage_one/Gemfile.tt +2 -0
  135. data/lib/roro/stacks/catalog/unstoppable/developer_styles/sashimi/stories/rails/templates/stage_one/docker-compose.yml.tt +17 -0
  136. data/lib/roro/stacks/catalog/unstoppable/developer_styles/sashimi/stories/rails/templates/stage_one/entrypoint.sh +8 -0
  137. data/lib/roro/stacks/catalog/unstoppable/developer_styles/sashimi/stories/rails/templates/stage_two/database.yml.tt +16 -0
  138. data/lib/roro/stacks/catalog/unstoppable/developer_styles/sashimi/stories/roro/templates/__MACOSX/scripts/._.DS_Store +0 -0
  139. data/lib/roro/stacks/catalog/unstoppable/developer_styles/sashimi/stories/roro/templates/scripts/.DS_Store +0 -0
  140. data/lib/roro/stacks/catalog/unstoppable/developer_styles/sashimi/stories/roro/templates/scripts/base/bundler.sh +22 -0
  141. data/lib/roro/stacks/catalog/unstoppable/developer_styles/sashimi/stories/roro/templates/scripts/base/git.sh +21 -0
  142. data/lib/roro/stacks/catalog/unstoppable/developer_styles/sashimi/stories/roro/templates/scripts/base/rvm.sh +38 -0
  143. data/lib/roro/stacks/catalog/unstoppable/developer_styles/sashimi/stories/roro/templates/scripts/base/utilities.sh +53 -0
  144. data/lib/roro/stacks/catalog/unstoppable/developer_styles/sashimi/stories/roro/templates/scripts/base.sh +6 -0
  145. data/lib/roro/stacks/catalog/unstoppable/developer_styles/sashimi/stories/roro/templates/scripts/initialize/clone_idea.sh +14 -0
  146. data/lib/roro/stacks/catalog/unstoppable/developer_styles/sashimi/stories/roro/templates/scripts/initialize/clone_repos.sh +33 -0
  147. data/lib/roro/stacks/catalog/unstoppable/developer_styles/sashimi/stories/roro/templates/scripts/initialize/install_correct_bundler.sh +21 -0
  148. data/lib/roro/stacks/catalog/unstoppable/developer_styles/sashimi/stories/roro/templates/scripts/initialize/install_rubies.sh +6 -0
  149. data/lib/roro/stacks/catalog/unstoppable/developer_styles/sashimi/stories/roro/templates/scripts/initialize.sh +18 -0
  150. data/lib/roro/stacks/catalog/unstoppable/developer_styles/sashimi/stories/roro/templates/scripts/roro.sh +15 -0
  151. data/lib/roro/stacks/catalog/unstoppable/developer_styles/sashimi/stories/roro/templates/scripts/source.sh +28 -0
  152. data/lib/roro/stacks/catalog/unstoppable/developer_styles/sashimi/stories/roro/templates/scripts/utility/bundle_all.sh +12 -0
  153. data/lib/roro/stacks/catalog/unstoppable/developer_styles/sashimi/stories/roro/templates/scripts/utility/git_pull_all.sh +15 -0
  154. data/lib/roro/stacks/catalog/unstoppable/developer_styles/sashimi/stories/roro/templates/scripts/utility/rvm_install_all.sh +12 -0
  155. data/lib/roro/stacks/catalog/unstoppable/developer_styles/sashimi/stories/roro/templates/scripts/utility/yarn_install_all.sh +10 -0
  156. data/lib/roro/stacks/catalog/unstoppable/developer_styles/sashimi/stories/wordpress/templates/stage_one/docker-compose.yml.tt +31 -0
  157. data/lib/roro/stacks/catalog/unstoppable/developer_styles/sashimi/stories/wordpress/wordpress.yml +16 -0
  158. data/{sandbox → lib/roro/stacks/library/roro}/.keep +0 -0
  159. data/lib/roro/stacks/library/roro/docker_compose/docker-compose.yml +22 -0
  160. data/lib/roro/stacks/library/roro/k8s/k8s.yml +15 -0
  161. data/lib/roro/{templates/rails/roro/kube/job-migrate.yml.tt → stacks/library/roro/plots/node/.keep} +0 -0
  162. data/lib/roro/stacks/library/roro/plots/node/node.yml +22 -0
  163. data/lib/roro/stacks/library/roro/plots/php/.keep +0 -0
  164. data/lib/roro/stacks/library/roro/plots/php/php.yml +22 -0
  165. data/lib/roro/stacks/library/roro/plots/python/plots/django/.keep +0 -0
  166. data/lib/roro/stacks/library/roro/plots/python/plots/django/django.yml +10 -0
  167. data/lib/roro/stacks/library/roro/plots/python/plots/django/templates/Dockerfile +7 -0
  168. data/lib/roro/stacks/library/roro/plots/python/plots/django/templates/docker-compose.yml +20 -0
  169. data/lib/roro/stacks/library/roro/plots/python/plots/django/templates/requirements.txt +2 -0
  170. data/lib/roro/stacks/library/roro/plots/python/plots/flask/flask.yml +0 -0
  171. data/lib/roro/stacks/library/roro/plots/python/python.yml +1 -0
  172. data/lib/roro/stacks/library/roro/plots/ruby/plots/rails/databases/.keep +0 -0
  173. data/lib/roro/stacks/library/roro/plots/ruby/plots/rails/databases/mysql.yml +22 -0
  174. data/lib/roro/stacks/library/roro/plots/ruby/plots/rails/databases/postgres.yml +22 -0
  175. data/lib/roro/stacks/library/roro/plots/ruby/plots/rails/plots/rails/rails.yml +22 -0
  176. data/lib/roro/stacks/library/roro/plots/ruby/plots/rails/plots/rails/templates/.keep +0 -0
  177. data/lib/roro/stacks/library/roro/plots/ruby/plots/rails/plots/rails_react/rails_react.yml +22 -0
  178. data/lib/roro/stacks/library/roro/plots/ruby/plots/rails/plots/rails_react/templates/.keep +0 -0
  179. data/lib/roro/stacks/library/roro/plots/ruby/plots/rails/plots/rails_vue/rails_vue.yml +22 -0
  180. data/lib/roro/stacks/library/roro/plots/ruby/plots/rails/plots/rails_vue/templates/.keep +0 -0
  181. data/lib/roro/stacks/library/roro/plots/ruby/plots/rails/rails.yml +16 -0
  182. data/lib/roro/stacks/library/roro/plots/ruby/plots/rails/templates/.keep +0 -0
  183. data/lib/roro/stacks/library/roro/plots/ruby/plots/ruby_gem/ruby_gem.yml +22 -0
  184. data/lib/roro/stacks/library/roro/plots/ruby/ruby.yml +22 -0
  185. data/lib/roro/stacks/library/roro/roro/roro.yml +15 -0
  186. data/lib/roro/{stories → stacks/stories_v1}/greenfield/rails.yml +2 -2
  187. data/lib/roro/stacks/stories_v1/greenfield/roro.yml +7 -0
  188. data/lib/roro/{stories → stacks/stories_v1}/greenfield.yml +0 -0
  189. data/lib/roro/{stories → stacks/stories_v1}/rollon/rails/ci_cd/circleci.yml +0 -0
  190. data/lib/roro/{stories → stacks/stories_v1}/rollon/rails/ci_cd.yml +0 -0
  191. data/lib/roro/{stories → stacks/stories_v1}/rollon/rails/database/mysql.yml +1 -1
  192. data/lib/roro/{stories → stacks/stories_v1}/rollon/rails/database/postgresql.yml +1 -1
  193. data/lib/roro/{stories → stacks/stories_v1}/rollon/rails/database.yml +0 -0
  194. data/lib/roro/{stories → stacks/stories_v1}/rollon/rails/kubernetes/postgresql/default.yml +0 -0
  195. data/lib/roro/{stories → stacks/stories_v1}/rollon/rails/kubernetes/postgresql/edge.yml +0 -0
  196. data/lib/roro/stacks/stories_v1/rollon/rails/kubernetes/postgresql.yml +10 -0
  197. data/lib/roro/{stories → stacks/stories_v1}/rollon/rails/kubernetes.yml +0 -0
  198. data/lib/roro/{stories → stacks/stories_v1}/rollon/rails.yml +7 -7
  199. data/lib/roro/stacks/stories_v1/rollon/roro.yml +5 -0
  200. data/lib/roro/{stories → stacks/stories_v1}/rollon/ruby_gem.yml +0 -0
  201. data/lib/roro/{stories → stacks/stories_v1}/rollon.yml +0 -0
  202. data/lib/roro/stacks/stories_v1/templates/rails/.circleci/.keep +0 -0
  203. data/lib/roro/{templates → stacks/stories_v1/templates}/rails/.circleci/config.yml.tt +0 -0
  204. data/lib/roro/{templates → stacks/stories_v1/templates}/rails/.circleci/jobs/_build.yml +1 -1
  205. data/lib/roro/{templates → stacks/stories_v1/templates}/rails/.circleci/jobs/_push.yml +1 -1
  206. data/lib/roro/stacks/stories_v1/templates/rails/.circleci/jobs/_test.yml +12 -0
  207. data/lib/roro/{templates → stacks/stories_v1/templates}/rails/.circleci/setup-gem-credentials.sh +0 -0
  208. data/lib/roro/{templates → stacks/stories_v1/templates}/rails/.circleci/workflows/_build_test_push.yml +0 -0
  209. data/lib/roro/stacks/stories_v1/templates/rails/.keep +0 -0
  210. data/lib/roro/{templates → stacks/stories_v1/templates}/rails/Dockerfile.greenfield.tt +0 -0
  211. data/lib/roro/{templates → stacks/stories_v1/templates}/rails/config/database.mysql.yml +0 -0
  212. data/lib/roro/{templates → stacks/stories_v1/templates}/rails/config/database.pg.yml +0 -0
  213. data/lib/roro/stacks/stories_v1/templates/rails/database/with_mysql/_service.yml +10 -0
  214. data/lib/roro/stacks/stories_v1/templates/rails/database/with_postgresql/.keep +0 -0
  215. data/lib/roro/stacks/stories_v1/templates/rails/database/with_postgresql/_service.yml +7 -0
  216. data/lib/roro/{templates → stacks/stories_v1/templates}/rails/docker-compose.yml.tt +0 -0
  217. data/lib/roro/stacks/stories_v1/templates/rails/dotenv/.keep +0 -0
  218. data/lib/roro/{templates → stacks/stories_v1/templates}/rails/dotenv/database.mysql.env.tt +0 -0
  219. data/lib/roro/{templates → stacks/stories_v1/templates}/rails/dotenv/database.pg.env.tt +0 -0
  220. data/lib/roro/{templates → stacks/stories_v1/templates}/rails/dotenv/web.env.tt +0 -0
  221. data/lib/roro/{templates → stacks/stories_v1/templates}/rails/kube.rake.tt +0 -0
  222. data/lib/roro/stacks/stories_v1/templates/rails/roro/.keep +0 -0
  223. data/lib/roro/stacks/stories_v1/templates/rails/roro/containers/.keep +0 -0
  224. data/lib/roro/stacks/stories_v1/templates/rails/roro/containers/app/.keep +0 -0
  225. data/lib/roro/{templates → stacks/stories_v1/templates}/rails/roro/containers/app/Dockerfile.tt +0 -0
  226. data/lib/roro/stacks/stories_v1/templates/rails/roro/containers/frontend/.keep +0 -0
  227. data/lib/roro/{templates → stacks/stories_v1/templates}/rails/roro/docker-entrypoint.sh +0 -0
  228. data/lib/roro/stacks/stories_v1/templates/rails/roro/keys/.keep +0 -0
  229. data/lib/roro/stacks/stories_v1/templates/rails/roro/kube/.keep +0 -0
  230. data/lib/roro/stacks/stories_v1/templates/rails/roro/kube/certificate.yml.tt +0 -0
  231. data/lib/roro/stacks/stories_v1/templates/rails/roro/kube/cluster-issuer.yml.tt +0 -0
  232. data/lib/roro/{templates → stacks/stories_v1/templates}/rails/roro/kube/deployment.yml.tt +0 -0
  233. data/lib/roro/{templates → stacks/stories_v1/templates}/rails/roro/kube/deployments/postgres_deploy.yaml +3 -3
  234. data/lib/roro/{templates → stacks/stories_v1/templates}/rails/roro/kube/deployments/rails_deploy.yaml +5 -5
  235. data/lib/roro/{templates → stacks/stories_v1/templates}/rails/roro/kube/deployments/redis_deploy.yaml +2 -2
  236. data/lib/roro/{templates → stacks/stories_v1/templates}/rails/roro/kube/deployments/sidekiq_deploy.yaml +3 -3
  237. data/lib/roro/stacks/stories_v1/templates/rails/roro/kube/ingress.yml.tt +0 -0
  238. data/lib/roro/{templates → stacks/stories_v1/templates}/rails/roro/kube/ingresses/ingress.yaml +0 -0
  239. data/lib/roro/stacks/stories_v1/templates/rails/roro/kube/job-migrate.yml.tt +0 -0
  240. data/lib/roro/{templates → stacks/stories_v1/templates}/rails/roro/kube/jobs/setup.yaml +1 -1
  241. data/lib/roro/{templates → stacks/stories_v1/templates}/rails/roro/kube/secret-digital-ocean.yml.tt +0 -0
  242. data/lib/roro/{templates → stacks/stories_v1/templates}/rails/roro/kube/service.yml.tt +0 -0
  243. data/lib/roro/{templates → stacks/stories_v1/templates}/rails/roro/kube/services/postgres_svc.yaml +2 -2
  244. data/lib/roro/{templates → stacks/stories_v1/templates}/rails/roro/kube/services/rails_svc.yaml +3 -3
  245. data/lib/roro/{templates → stacks/stories_v1/templates}/rails/roro/kube/services/redis_svc.yaml +2 -2
  246. data/lib/roro/{templates → stacks/stories_v1/templates}/rails/roro/kube/volumes/postgres_volumes.yaml +0 -0
  247. data/lib/roro/stacks/stories_v1/templates/roro/containers/.keep +0 -0
  248. data/lib/roro/stacks/stories_v1/templates/roro/containers/database/env/.keep +0 -0
  249. data/lib/roro/stacks/stories_v1/templates/roro/containers/database/scripts/.keep +0 -0
  250. data/lib/roro/stacks/stories_v1/templates/roro/env/.keep +0 -0
  251. data/lib/roro/stacks/stories_v1/templates/roro/keys/.keep +0 -0
  252. data/lib/roro/stacks/stories_v1/templates/roro/scripts/.keep +0 -0
  253. data/lib/roro/stacks/stories_v1/templates/roro/scripts/base/bundler.sh +22 -0
  254. data/lib/roro/stacks/stories_v1/templates/roro/scripts/base/git.sh +21 -0
  255. data/lib/roro/stacks/stories_v1/templates/roro/scripts/base/rvm.sh +38 -0
  256. data/lib/roro/stacks/stories_v1/templates/roro/scripts/base/utilities.sh +53 -0
  257. data/lib/roro/stacks/stories_v1/templates/roro/scripts/base.sh +6 -0
  258. data/lib/roro/stacks/stories_v1/templates/roro/scripts/initialize/clone_idea.sh +14 -0
  259. data/lib/roro/stacks/stories_v1/templates/roro/scripts/initialize/clone_repos.sh +33 -0
  260. data/lib/roro/stacks/stories_v1/templates/roro/scripts/initialize/install_correct_bundler.sh +21 -0
  261. data/lib/roro/stacks/stories_v1/templates/roro/scripts/initialize/install_rubies.sh +6 -0
  262. data/lib/roro/stacks/stories_v1/templates/roro/scripts/initialize.sh +18 -0
  263. data/lib/roro/stacks/stories_v1/templates/roro/scripts/roro.sh +15 -0
  264. data/lib/roro/stacks/stories_v1/templates/roro/scripts/source.sh +28 -0
  265. data/lib/roro/stacks/stories_v1/templates/roro/scripts/utility/bundle_all.sh +12 -0
  266. data/lib/roro/stacks/stories_v1/templates/roro/scripts/utility/git_pull_all.sh +15 -0
  267. data/lib/roro/stacks/stories_v1/templates/roro/scripts/utility/rvm_install_all.sh +12 -0
  268. data/lib/roro/stacks/stories_v1/templates/roro/scripts/utility/yarn_install_all.sh +10 -0
  269. data/lib/roro/stacks/stories_v1/templates/ruby_gem/.circleci/.keep +0 -0
  270. data/lib/roro/{templates → stacks/stories_v1/templates}/ruby_gem/.circleci/config.yml.tt +0 -0
  271. data/lib/roro/{templates → stacks/stories_v1/templates}/ruby_gem/.circleci/jobs/_test.yml +0 -0
  272. data/lib/roro/{templates → stacks/stories_v1/templates}/ruby_gem/.circleci/setup-gem-credentials.sh +0 -0
  273. data/lib/roro/{templates → stacks/stories_v1/templates}/ruby_gem/docker-compose.yml +1 -1
  274. data/lib/roro/stacks/stories_v1/templates/ruby_gem/roro/containers/.keep +0 -0
  275. data/lib/roro/{templates → stacks/stories_v1/templates}/ruby_gem/roro/containers/ruby_image/Dockerfile.tt +0 -0
  276. data/lib/roro/{templates → stacks/stories_v1/templates}/ruby_gem/roro/containers/ruby_image/ci.env.tt +0 -0
  277. data/lib/roro/stacks/stories_v1/templates/ruby_gem/roro/keys/.keep +0 -0
  278. data/lib/roro/version.rb +1 -1
  279. data/lib/roro.rb +59 -14
  280. data/mise/containers/ruby_gem/Dockerfile +16 -0
  281. data/{roro/containers/app/Dockerfile → mise/containers/ruby_gem/Dockerfile-app} +0 -0
  282. data/{roro/containers/ruby_image/Dockerfile → mise/containers/ruby_gem/Dockerfile-ruby_gem} +0 -0
  283. data/mise/containers/ruby_gem/env/.keep +0 -0
  284. data/mise/containers/ruby_gem/env/base.env.enc +1 -0
  285. data/mise/containers/ruby_gem/env/ci.env.enc +2 -0
  286. data/mise/containers/ruby_gem/env/development.env.enc +1 -0
  287. data/mise/containers/ruby_gem/env/production.env.enc +1 -0
  288. data/mise/containers/ruby_gem/scripts/.keep +0 -0
  289. data/mise/env/base.env.enc +1 -0
  290. data/mise/env/ci.env.enc +1 -0
  291. data/mise/env/development.env.enc +1 -0
  292. data/mise/env/production.env.enc +1 -0
  293. data/mise/mise.roro +0 -0
  294. data/process.yml +401 -0
  295. data/roro.gemspec +6 -1
  296. metadata +322 -118
  297. data/lib/roro/cli/generate/generate_story.rb +0 -18
  298. data/lib/roro/cli/greenfield/rails.rb +0 -14
  299. data/lib/roro/cli/rollon/rails/base/base.rb +0 -4
  300. data/lib/roro/cli/rollon/rails/base/insert_gems.rb +0 -23
  301. data/lib/roro/cli/rollon/rails/base/insertions.rb +0 -27
  302. data/lib/roro/cli/rollon/rails/database/with_mysql.rb +0 -22
  303. data/lib/roro/cli/rollon/rails/database/with_postgresql.rb +0 -20
  304. data/lib/roro/cli/rollon/rails/database.rb +0 -26
  305. data/lib/roro/cli/rollon/ruby_gem/with_ci_cd.rb +0 -45
  306. data/lib/roro/cli/rollon/ruby_gem.rb +0 -1
  307. data/lib/roro/cli/rollon/stories.rb +0 -2
  308. data/lib/roro/configurator/eligibility.rb +0 -137
  309. data/lib/roro/configurator/okonomi.rb +0 -28
  310. data/lib/roro/configurator/omakase.rb +0 -170
  311. data/lib/roro/crypto.rb +0 -113
  312. data/lib/roro/stories/rollon/rails/kubernetes/postgresql.yml +0 -10
  313. data/lib/roro/templates/base/.circleci/_aliases.yml +0 -8
  314. data/lib/roro/templates/base/.circleci/_commands.yml +0 -31
  315. data/lib/roro/templates/base/.circleci/_defaults.yml +0 -5
  316. data/lib/roro/templates/base/.circleci/_executors.yml +0 -11
  317. data/lib/roro/templates/base/.circleci/_major_only.yml +0 -4
  318. data/lib/roro/templates/base/.circleci/_version.yml +0 -1
  319. data/lib/roro/templates/base/.circleci/_workflow.yml +0 -2
  320. data/lib/roro/templates/base/.circleci/config.job-example.yml +0 -33
  321. data/lib/roro/templates/base/.circleci/jobs/_build.yml +0 -4
  322. data/lib/roro/templates/base/.circleci/jobs/_release.yml +0 -12
  323. data/lib/roro/templates/base/.circleci/workflows/_build_release.yml +0 -10
  324. data/lib/roro/templates/base/.dockerignore +0 -51
  325. data/lib/roro/templates/base/dotenv +0 -1
  326. data/lib/roro/templates/base/jumpstart/Dockerfile.tt +0 -30
  327. data/lib/roro/templates/base/jumpstart/docker-compose.yml +0 -59
  328. data/lib/roro/templates/base/jumpstart/docker-entrypoint.sh +0 -16
  329. data/lib/roro/templates/base/livereload/hosts.example +0 -7
  330. data/lib/roro/templates/rails/.circleci/jobs/_test.yml +0 -12
  331. data/lib/roro/templates/rails/database/with_mysql/_service.yml +0 -10
  332. data/lib/roro/templates/rails/database/with_postgresql/_service.yml +0 -7
  333. data/roro/containers/app/dotenv +0 -1
@@ -0,0 +1,33 @@
1
+ #!/bin/zsh
2
+
3
+ DEFAULT_BRANCH='development'
4
+
5
+ clone_repo () {
6
+ REPO=${1}
7
+ BRANCH=${2:-$DEFAULT_BRANCH}
8
+
9
+ echo "Cloning ${REPO} into ${PWD}..."
10
+
11
+ confirm_if_overwrite ${REPO}
12
+
13
+ {
14
+ git clone git@bitbucket.org:corptools/${REPO}.git
15
+ } || {
16
+ git clone https://${LOGNAME}@bitbucket.org/corptools/roro.git
17
+ }
18
+
19
+ SUCCESS+=("Successfully cloned ${green}$REPO${default}")
20
+ }
21
+
22
+ clone_repo api
23
+ clone_repo client-api
24
+ clone_repo ct-frontend
25
+ clone_repo frontend
26
+ clone_repo internal-docs master
27
+ clone_repo affiliate-api-docs master
28
+ clone_repo public-api
29
+ clone_repo tokenizer-rails
30
+
31
+ for MESSAGE in "${SUCCESS[@]}"; do
32
+ echo $MESSAGE
33
+ done
@@ -0,0 +1,21 @@
1
+
2
+ nipbin/zsh
3
+
4
+ specify_bundler () {
5
+
6
+ GEMSET=$2
7
+ echo Using ${1}@${2}
8
+ rvm use ${1}@${2}
9
+ echo Uninstalling bundler
10
+ gem uninstall bundler --force
11
+ echo Installing company bundler
12
+ gem install bundler -v 1.9.9
13
+ bundle
14
+
15
+ }
16
+
17
+ specify_bundler 2.5.5 api
18
+ specify_bundler jruby-9.1.17 api
19
+ specify_bundler 2.6.5 tokenizer-rails
20
+ specify_bundler 2.7.2 public-api
21
+ specify_bundler 3.0 client-api
@@ -0,0 +1,6 @@
1
+ #!/bin/zsh --login
2
+
3
+ rvm_ruby_and_gemset_create api
4
+ rvm_ruby_and_gemset_create client-api
5
+ rvm_ruby_and_gemset_create public-api
6
+ rvm_ruby_and_gemset_create tokenizer-rails
@@ -0,0 +1,18 @@
1
+ #!/bin/zsh --login
2
+
3
+ set -a
4
+ set -e
5
+
6
+ WORKBENCH="${PWD}"
7
+ cp ./roro/templates/roro.env.template ./roro/env/roro.env
8
+
9
+ source ${WORKBENCH}/roro/scripts/roro.sh
10
+
11
+ cp "${TEMPLATEDIR}/Caddyfile.template" "${WORKBENCH}/Caddyfile"
12
+ cp "${TEMPLATEDIR}/current.env.template" "${RORODIR}/env/current.env"
13
+
14
+
15
+ source "${SCRIPTDIR}"/initialize/clone_idea.sh
16
+ source "${SCRIPTDIR}"/initialize/clone_repos.sh
17
+ source "${SCRIPTDIR}"/initialize/install_rubies.sh
18
+ source "${SCRIPTDIR}"/utility/bundle_all.sh
@@ -0,0 +1,15 @@
1
+ #!/bin/zsh --login
2
+
3
+ set -a
4
+ set -e
5
+
6
+ RORODIR="${WORKBENCH}/roro/"
7
+ ENVDIR="${RORODIR}/env/"
8
+ SCRIPTDIR="${RORODIR}/scripts/"
9
+ TEMPLATEDIR="${RORODIR}/templates/"
10
+
11
+ source "${ENVDIR}"/roro.env
12
+
13
+ source ${SCRIPTDIR}/base.sh
14
+
15
+
@@ -0,0 +1,28 @@
1
+ #!/bin/zsh --login
2
+
3
+ set -a
4
+ set -e
5
+
6
+ BENCH_APP="${PWD##*/}"
7
+ WORKBENCH="$(dirname ${PWD})"
8
+ echo ${BENCH_APP}
9
+ echo ${WORKBENCH}
10
+
11
+ source ${WORKBENCH}/roro/scripts/roro.sh
12
+ source "${SCRIPTDIR}"/base.sh
13
+
14
+ source_environment
15
+
16
+ include "env/base.env"
17
+ include "containers/database/env/base.env"
18
+ include "containers/database/env/${DEV_ENV}.env"
19
+ include "containers/${BENCH_APP}/env/base.env"
20
+ include "containers/${BENCH_APP}/env/${DEV_ENV}.env"
21
+
22
+ pretty_echo "Dev environment sourced from: " "${ENV_SOURCED_FROM}"
23
+ pretty_echo "DEV_ENV: " "${DEV_ENV}"
24
+ pretty_echo "Bench app: " "${BENCH_APP}"
25
+ pretty_echo "Ruby and Gemset: " "${RORO_RVM_RUBY_AND_GEMSET}"
26
+ pretty_echo "Database host: " "${DB_HOST}"
27
+ pretty_echo "Database password: " "${DB_PASSWORD}"
28
+
@@ -0,0 +1,12 @@
1
+ #!/bin/zsh --login
2
+
3
+ set -e
4
+ set -a
5
+
6
+ WORKBENCH="${PWD}"
7
+ source ${WORKBENCH}/roro/scripts/roro.sh
8
+
9
+ bundle_install api
10
+ bundle_install client-api
11
+ bundle_install public-api
12
+ bundle_install tokenizer-rails
@@ -0,0 +1,15 @@
1
+ #!/bin/zsh --login
2
+
3
+ set -e
4
+ set -a
5
+
6
+ WORKBENCH="${PWD}"
7
+ source ${WORKBENCH}/roro/scripts/roro.sh
8
+
9
+ update_repo api
10
+ update_repo client-api
11
+ update_repo ct-frontend
12
+ update_repo frontend
13
+ update_repo internal-docs master
14
+ update_repo affiliate-api-docs master
15
+ update_repo public-api
@@ -0,0 +1,12 @@
1
+ #!/bin/zsh --login
2
+
3
+ set -e
4
+ set -a
5
+
6
+ WORKBENCH="${PWD}"
7
+ source ${WORKBENCH}/roro/scripts/roro.sh
8
+
9
+ rvm_ruby_and_gemset_create api
10
+ rvm_ruby_and_gemset_create client-api
11
+ rvm_ruby_and_gemset_create public-api
12
+ rvm_ruby_and_gemset_create tok
@@ -0,0 +1,10 @@
1
+ #!/bin/zsh --login
2
+
3
+ set -e
4
+ set -a
5
+
6
+ WORKBENCH="${PWD}"
7
+ source ${WORKBENCH}/roro/scripts/roro.sh
8
+
9
+ yarn_install frontend
10
+ yarn_install ct-frontend
@@ -0,0 +1,31 @@
1
+ version: "3"
2
+
3
+ services:
4
+ db:
5
+ image: mysql:5.7
6
+ volumes:
7
+ - db_data:/var/lib/mysql
8
+ restart: always
9
+ environment:
10
+ MYSQL_ROOT_PASSWORD: somewordpress
11
+ MYSQL_DATABASE: wordpress
12
+ MYSQL_USER: wordpress
13
+ MYSQL_PASSWORD: wordpress
14
+
15
+ wordpress:
16
+ depends_on:
17
+ - db
18
+ image: wordpress:latest
19
+ volumes:
20
+ - wordpress_data:/var/www/html
21
+ ports:
22
+ - "8000:80"
23
+ restart: always
24
+ environment:
25
+ WORDPRESS_DB_HOST: db:3306
26
+ WORDPRESS_DB_USER: wordpress
27
+ WORDPRESS_DB_PASSWORD: wordpress
28
+ WORDPRESS_DB_NAME: wordpress
29
+ volumes:
30
+ db_data: {}
31
+ wordpress_data: {}
@@ -0,0 +1,16 @@
1
+ preface: WordPress is a free and open-source content management system written in PHP and paired with a MySQL or MariaDB database. Features include a plugin architecture and a template system, referred to within WordPress as Themes.
2
+
3
+ env:
4
+ base:
5
+ WORDPRESS_DB_HOST:
6
+ value: db:3306
7
+ WORDPRESS_DB_USER:
8
+ value: wordpress
9
+ WORDPRESS_DB_PASSWORD:
10
+ value: wordpress
11
+ WORDPRESS_DB_NAME:
12
+ value: wordpress
13
+
14
+ actions:
15
+ - directory 'stage_one', '.', @env
16
+ - system "sudo docker-compose up"
File without changes
@@ -0,0 +1,22 @@
1
+ preface: A dynamic, open source programming language with a focus on simplicity and productivity. It has an elegant
2
+ syntax that is natural to read and easy to write.
3
+
4
+ env:
5
+ ruby: 2.7
6
+
7
+ questions:
8
+ -
9
+ question: Please supply your docker username
10
+ help: https://hub.docker.com/signup
11
+ action: "@env[:docker_username] = answer"
12
+ -
13
+ question: Please supply your docker id
14
+ help: https://hub.docker.com/signup
15
+ action: "@env[:docker_id]"
16
+ -
17
+ question: Please supply your docker password
18
+ help: https://hub.docker.com/signup
19
+ action: "@env[:docker_password]"
20
+
21
+ actions:
22
+ - "@env[:ruby_version] = RUBY_VERSION"
@@ -0,0 +1,15 @@
1
+ preface: Adding the RoRo story allows you to manage your project securely in different environments.
2
+
3
+ variables:
4
+ roro_version: '2.7'
5
+
6
+ questions:
7
+ - question: Please supply the name of your project
8
+ help: https://github.com/schadenfred/roro/wiki
9
+ action: "@env[:project_name] = answer"
10
+
11
+ actions:
12
+ - |
13
+ src = 'roro'
14
+ dest = 'roro'
15
+ directory src, dest
@@ -0,0 +1,22 @@
1
+ preface: A dynamic, open source programming language with a focus on simplicity and productivity. It has an elegant
2
+ syntax that is natural to read and easy to write.
3
+
4
+ env:
5
+ ruby: 2.7
6
+
7
+ questions:
8
+ -
9
+ question: Please supply your docker username
10
+ help: https://hub.docker.com/signup
11
+ action: "@env[:docker_username] = answer"
12
+ -
13
+ question: Please supply your docker id
14
+ help: https://hub.docker.com/signup
15
+ action: "@env[:docker_id]"
16
+ -
17
+ question: Please supply your docker password
18
+ help: https://hub.docker.com/signup
19
+ action: "@env[:docker_password]"
20
+
21
+ actions:
22
+ - "@env[:ruby_version] = RUBY_VERSION"
File without changes
@@ -0,0 +1,22 @@
1
+ preface: A dynamic, open source programming language with a focus on simplicity and productivity. It has an elegant
2
+ syntax that is natural to read and easy to write.
3
+
4
+ env:
5
+ ruby: 2.7
6
+
7
+ questions:
8
+ -
9
+ question: Please supply your docker username
10
+ help: https://hub.docker.com/signup
11
+ action: "@env[:docker_username] = answer"
12
+ -
13
+ question: Please supply your docker id
14
+ help: https://hub.docker.com/signup
15
+ action: "@env[:docker_id]"
16
+ -
17
+ question: Please supply your docker password
18
+ help: https://hub.docker.com/signup
19
+ action: "@env[:docker_password]"
20
+
21
+ actions:
22
+ - "@env[:ruby_version] = RUBY_VERSION"
@@ -0,0 +1,10 @@
1
+ preface:
2
+ Django is a high-level Python Web framework that encourages rapid development and clean, pragmatic design. Built by experienced developers, it takes care of much of the hassle of Web development, so you can focus on writing your app without needing to reinvent the wheel. It’s free and open source.
3
+
4
+
5
+ actions:
6
+ - template 'preface-returns-array_of_strings.yml', .
7
+ - template 'Dockerfile', .
8
+ - template 'requirements.txt', .
9
+ - system "sudo docker-compose run web django-admin startproject composeexample ."
10
+ - system "sudo chown -R $USER:$USER ."
@@ -0,0 +1,7 @@
1
+ # syntax=docker/dockerfile:1
2
+ FROM python:3
3
+ ENV PYTHONUNBUFFERED=1
4
+ WORKDIR /code
5
+ COPY requirements.txt /code/
6
+ RUN pip install -r requirements.txt
7
+ COPY . /code/
@@ -0,0 +1,20 @@
1
+ version: "3.9"
2
+
3
+ services:
4
+ db:
5
+ image: postgres
6
+ volumes:
7
+ - ./data/db:/var/lib/postgresql/data
8
+ environment:
9
+ - POSTGRES_DB=postgres
10
+ - POSTGRES_USER=postgres
11
+ - POSTGRES_PASSWORD=postgres
12
+ web:
13
+ build: .
14
+ command: python manage.py runserver 0.0.0.0:8000
15
+ volumes:
16
+ - .:/code
17
+ ports:
18
+ - "8000:8000"
19
+ depends_on:
20
+ - db
@@ -0,0 +1,2 @@
1
+ Django>=3.0,<4.0
2
+ psycopg2-binary>=2.8
@@ -0,0 +1 @@
1
+ preface: Python is a programming language that lets you work quickly and integrate systems more effectively.
@@ -0,0 +1,22 @@
1
+ preface: A dynamic, open source programming language with a focus on simplicity and productivity. It has an elegant
2
+ syntax that is natural to read and easy to write.
3
+
4
+ env:
5
+ ruby: 2.7
6
+
7
+ questions:
8
+ -
9
+ question: Please supply your docker username
10
+ help: https://hub.docker.com/signup
11
+ action: "@env[:docker_username] = answer"
12
+ -
13
+ question: Please supply your docker id
14
+ help: https://hub.docker.com/signup
15
+ action: "@env[:docker_id]"
16
+ -
17
+ question: Please supply your docker password
18
+ help: https://hub.docker.com/signup
19
+ action: "@env[:docker_password]"
20
+
21
+ actions:
22
+ - "@env[:ruby_version] = RUBY_VERSION"
@@ -0,0 +1,22 @@
1
+ preface: A dynamic, open source programming language with a focus on simplicity and productivity. It has an elegant
2
+ syntax that is natural to read and easy to write.
3
+
4
+ env:
5
+ ruby: 2.7
6
+
7
+ questions:
8
+ -
9
+ question: Please supply your docker username
10
+ help: https://hub.docker.com/signup
11
+ action: "@env[:docker_username] = answer"
12
+ -
13
+ question: Please supply your docker id
14
+ help: https://hub.docker.com/signup
15
+ action: "@env[:docker_id]"
16
+ -
17
+ question: Please supply your docker password
18
+ help: https://hub.docker.com/signup
19
+ action: "@env[:docker_password]"
20
+
21
+ actions:
22
+ - "@env[:ruby_version] = RUBY_VERSION"
@@ -0,0 +1,22 @@
1
+ preface: A dynamic, open source programming language with a focus on simplicity and productivity. It has an elegant
2
+ syntax that is natural to read and easy to write.
3
+
4
+ env:
5
+ ruby: 2.7
6
+
7
+ questions:
8
+ -
9
+ question: Please supply your docker username
10
+ help: https://hub.docker.com/signup
11
+ action: "@env[:docker_username] = answer"
12
+ -
13
+ question: Please supply your docker id
14
+ help: https://hub.docker.com/signup
15
+ action: "@env[:docker_id]"
16
+ -
17
+ question: Please supply your docker password
18
+ help: https://hub.docker.com/signup
19
+ action: "@env[:docker_password]"
20
+
21
+ actions:
22
+ - "@env[:ruby_version] = RUBY_VERSION"
@@ -0,0 +1,22 @@
1
+ preface: A dynamic, open source programming language with a focus on simplicity and productivity. It has an elegant
2
+ syntax that is natural to read and easy to write.
3
+
4
+ env:
5
+ ruby: 2.7
6
+
7
+ questions:
8
+ -
9
+ question: Please supply your docker username
10
+ help: https://hub.docker.com/signup
11
+ action: "@env[:docker_username] = answer"
12
+ -
13
+ question: Please supply your docker id
14
+ help: https://hub.docker.com/signup
15
+ action: "@env[:docker_id]"
16
+ -
17
+ question: Please supply your docker password
18
+ help: https://hub.docker.com/signup
19
+ action: "@env[:docker_password]"
20
+
21
+ actions:
22
+ - "@env[:ruby_version] = RUBY_VERSION"
@@ -0,0 +1,22 @@
1
+ preface: A dynamic, open source programming language with a focus on simplicity and productivity. It has an elegant
2
+ syntax that is natural to read and easy to write.
3
+
4
+ env:
5
+ ruby: 2.7
6
+
7
+ questions:
8
+ -
9
+ question: Please supply your docker username
10
+ help: https://hub.docker.com/signup
11
+ action: "@env[:docker_username] = answer"
12
+ -
13
+ question: Please supply your docker id
14
+ help: https://hub.docker.com/signup
15
+ action: "@env[:docker_id]"
16
+ -
17
+ question: Please supply your docker password
18
+ help: https://hub.docker.com/signup
19
+ action: "@env[:docker_password]"
20
+
21
+ actions:
22
+ - "@env[:ruby_version] = RUBY_VERSION"
@@ -0,0 +1,16 @@
1
+ preface:
2
+ Ruby on Rails is a full-stack web framework optimized for programmer happiness and sustainable productivity. It encourages beautiful code by favoring convention over configuration.
3
+
4
+ actions:
5
+
6
+ - "@config.smart.env['force'] = true"
7
+ - |
8
+ src = 'rails/Dockerfile.greenfield.tt'
9
+ dest = 'roro/containers/app/Dockerfile'
10
+ template src, dest, @config.env
11
+ - system "DOCKER_BUILDKIT=1 docker build --file roro/containers/backend/Dockerfile --output . ."
12
+
13
+
14
+ variables:
15
+
16
+ questions:
@@ -0,0 +1,22 @@
1
+ preface: A dynamic, open source programming language with a focus on simplicity and productivity. It has an elegant
2
+ syntax that is natural to read and easy to write.
3
+
4
+ env:
5
+ ruby: 2.7
6
+
7
+ questions:
8
+ -
9
+ question: Please supply your docker username
10
+ help: https://hub.docker.com/signup
11
+ action: "@env[:docker_username] = answer"
12
+ -
13
+ question: Please supply your docker id
14
+ help: https://hub.docker.com/signup
15
+ action: "@env[:docker_id]"
16
+ -
17
+ question: Please supply your docker password
18
+ help: https://hub.docker.com/signup
19
+ action: "@env[:docker_password]"
20
+
21
+ actions:
22
+ - "@env[:ruby_version] = RUBY_VERSION"
@@ -0,0 +1,22 @@
1
+ preface: A dynamic, open source programming language with a focus on simplicity and productivity. It has an elegant
2
+ syntax that is natural to read and easy to write.
3
+
4
+ env:
5
+ ruby: 2.7
6
+
7
+ questions:
8
+ -
9
+ question: Please supply your docker username
10
+ help: https://hub.docker.com/signup
11
+ action: "@env[:docker_username] = answer"
12
+ -
13
+ question: Please supply your docker id
14
+ help: https://hub.docker.com/signup
15
+ action: "@env[:docker_id]"
16
+ -
17
+ question: Please supply your docker password
18
+ help: https://hub.docker.com/signup
19
+ action: "@env[:docker_password]"
20
+
21
+ actions:
22
+ - "@env[:ruby_version] = RUBY_VERSION"
@@ -0,0 +1,15 @@
1
+ preface: Adding the RoRo story allows you to manage your project securely in different environments.
2
+
3
+ variables:
4
+ roro_version: '2.7'
5
+
6
+ questions:
7
+ - question: Please supply the name of your project
8
+ help: https://github.com/schadenfred/roro/wiki
9
+ action: "@env[:project_name] = answer"
10
+
11
+ actions:
12
+ - |
13
+ src = 'roro'
14
+ dest = 'roro'
15
+ directory src, dest
@@ -1,9 +1,9 @@
1
1
  greenfield_actions:
2
- - "@config.env['force'] = true"
2
+ - "@config.smart.env['force'] = true"
3
3
  - |
4
4
  src = 'rails/Dockerfile.greenfield.tt'
5
5
  dest = 'roro/containers/app/Dockerfile'
6
6
  template src, dest, @config.env
7
7
 
8
8
  greenfield_commands:
9
- - system "DOCKER_BUILDKIT=1 docker build --file roro/containers/app/Dockerfile --output . ."
9
+ - system "DOCKER_BUILDKIT=1 docker build --file roro/containers/backend/Dockerfile --output . ."
@@ -0,0 +1,7 @@
1
+ greenfield_actions:
2
+ - |
3
+ src = 'roro'
4
+ dest = 'roro'
5
+ template src, dest, @config.env
6
+
7
+ greenfield_commands:
@@ -6,7 +6,7 @@ env_vars:
6
6
  database_vendor: mysql
7
7
 
8
8
  actions:
9
- - copy_file 'rails/config/database.mysql.yml', 'config/database.yml', @config.env
9
+ - copy_file 'rails/config/database.mysql.yml', 'config/database.yml', @config.smart.env
10
10
  - |
11
11
  Roro::CLI.roro_environments.each do |e|
12
12
  @config.env[:rails_env] = e
@@ -4,7 +4,7 @@ env_vars:
4
4
  database_vendor: postgresql
5
5
 
6
6
  actions:
7
- - copy_file 'rails/config/database.pg.yml', 'config/database.yml', @config.env
7
+ - copy_file 'rails/config/database.pg.yml', 'config/database.yml', @config.smart.env
8
8
  - |
9
9
  Roro::CLI.roro_environments.each do |e|
10
10
  @config.env[:rails_env] = e