roro 0.3.1 → 0.3.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.gitignore +15 -8
- data/Guardfile +4 -7
- data/lib/roro.rb +0 -1
- data/lib/roro/cli.rb +7 -5
- data/lib/roro/cli/base/base.rb +8 -0
- data/lib/roro/cli/base/base_files.rb +24 -0
- data/lib/roro/cli/base/check_dependencies.rb +98 -0
- data/lib/roro/cli/base/continuous_integration.rb +13 -0
- data/lib/roro/cli/base/insert_gems.rb +31 -0
- data/lib/roro/cli/base/insertions.rb +19 -0
- data/lib/roro/cli/base/utilities.rb +39 -0
- data/lib/roro/cli/configuration.rb +68 -0
- data/lib/roro/cli/expose.rb +1 -1
- data/lib/roro/cli/generate/config.rb +13 -0
- data/lib/roro/cli/generate/config/rails.rb +17 -0
- data/lib/roro/cli/generate/generate.rb +1 -0
- data/lib/roro/cli/{generate_keys.rb → generate/generate_keys.rb} +7 -23
- data/lib/roro/cli/greenfield.rb +21 -75
- data/lib/roro/cli/obfuscate.rb +3 -4
- data/lib/roro/cli/rollon.rb +74 -11
- data/lib/roro/cli/rollon/database/database.rb +31 -0
- data/lib/roro/cli/rollon/database/with_mysql.rb +22 -0
- data/lib/roro/cli/rollon/database/with_postgres.rb +21 -0
- data/lib/roro/cli/rollon/stories.rb +3 -0
- data/lib/roro/cli/roro_configurator.yml +157 -0
- data/lib/roro/cli/ruby_gem.rb +6 -0
- data/lib/roro/cli/templates/base/.dockerignore +51 -0
- data/{docker/env_files → lib/roro/cli/templates/base}/.keep +0 -0
- data/lib/roro/cli/templates/base/.roro_config.yml +15 -0
- data/lib/roro/cli/templates/base/Dockerfile.tt +44 -0
- data/lib/roro/cli/templates/base/config/database.mysql.yml +19 -0
- data/lib/roro/cli/templates/{config/database.yml → base/config/database.pg.yml} +0 -0
- data/{test_apps/dummy_roro/.circleci/config.yml → lib/roro/cli/templates/circleci/config.yml.tt} +7 -6
- data/{docker/keys → lib/roro/cli/templates/dockerize}/.keep +0 -0
- data/lib/roro/cli/templates/dockerize/Dockerfile.tt +23 -0
- data/lib/roro/cli/templates/dockerize/docker-compose.yml.tt +60 -0
- data/lib/roro/cli/templates/dockerize/docker-entrypoint.sh +9 -0
- data/lib/roro/cli/templates/greenfield/Dockerfile.tt +43 -0
- data/lib/roro/cli/templates/{docker/containers/database → jumpstart}/.keep +0 -0
- data/lib/roro/cli/templates/jumpstart/Dockerfile.tt +30 -0
- data/lib/roro/cli/templates/jumpstart/docker-compose.yml +59 -0
- data/lib/roro/cli/templates/jumpstart/docker-entrypoint.sh +16 -0
- data/lib/roro/cli/templates/livereload/hosts.example +7 -0
- data/lib/roro/cli/templates/quickstart/Dockerfile.tt +20 -0
- data/{test_apps/dummy/config → lib/roro/cli/templates/quickstart}/database.yml +12 -12
- data/lib/roro/cli/templates/{greenfield → quickstart}/docker-compose.yml +4 -2
- data/lib/roro/cli/templates/quickstart/entrypoint.sh +8 -0
- data/lib/roro/cli/templates/{docker/env_files → roro}/.keep +0 -0
- data/lib/roro/cli/templates/roro/docker-compose.yml.tt +60 -0
- data/lib/roro/cli/templates/{docker/keys → roro/roro}/.keep +0 -0
- data/{test_apps/dummy/app/assets/images → lib/roro/cli/templates/roro/roro/containers}/.keep +0 -0
- data/{test_apps/dummy/app/assets/javascripts/channels → lib/roro/cli/templates/roro/roro/containers/app}/.keep +0 -0
- data/{test_apps/dummy/app/controllers/concerns → lib/roro/cli/templates/roro/roro/containers/frontend}/.keep +0 -0
- data/lib/roro/cli/templates/roro/roro/docker-entrypoint.sh.tt +8 -0
- data/lib/roro/cli/templates/ruby_gem/.gitignore +8 -0
- data/{test_apps/dummy/app/models/concerns → lib/roro/cli/templates/stories}/.keep +0 -0
- data/lib/roro/cli/templates/stories/with_mysql/_service.yml +10 -0
- data/{test_apps/dummy/lib/assets → lib/roro/cli/templates/stories/with_postgresql}/.keep +0 -0
- data/lib/roro/cli/templates/stories/with_postgresql/_service.yml +7 -0
- data/lib/roro/version.rb +1 -1
- data/roro.gemspec +6 -3
- data/{test_apps/dummy/lib/tasks → sandbox}/.keep +0 -0
- data/{lib/roro/cli/templates/Gemfile.lock → tmp/.gitkeep} +0 -0
- data/vendor/cache/actionpack-6.0.3.2.gem +0 -0
- data/vendor/cache/actionview-6.0.3.2.gem +0 -0
- data/vendor/cache/activesupport-6.0.3.2.gem +0 -0
- data/vendor/cache/addressable-2.7.0.gem +0 -0
- data/vendor/cache/builder-3.2.4.gem +0 -0
- data/vendor/cache/byebug-11.1.3.gem +0 -0
- data/vendor/cache/coderay-1.1.3.gem +0 -0
- data/vendor/cache/concurrent-ruby-1.1.7.gem +0 -0
- data/vendor/cache/crass-1.0.6.gem +0 -0
- data/vendor/cache/erubi-1.9.0.gem +0 -0
- data/vendor/cache/ffi-1.13.1.gem +0 -0
- data/vendor/cache/guard-2.16.2.gem +0 -0
- data/vendor/cache/i18n-1.8.5.gem +0 -0
- data/vendor/cache/launchy-2.5.0.gem +0 -0
- data/vendor/cache/listen-3.2.1.gem +0 -0
- data/vendor/cache/loofah-2.6.0.gem +0 -0
- data/vendor/cache/lumberjack-1.2.7.gem +0 -0
- data/vendor/cache/method_source-1.0.0.gem +0 -0
- data/vendor/cache/minitest-5.14.1.gem +0 -0
- data/vendor/cache/minitest-rails-6.0.1.gem +0 -0
- data/vendor/cache/mocha-1.11.2.gem +0 -0
- data/vendor/cache/multi_json-1.15.0.gem +0 -0
- data/vendor/cache/net-scp-3.0.0.gem +0 -0
- data/vendor/cache/net-ssh-6.1.0.gem +0 -0
- data/vendor/cache/{nokogiri-1.9.1.gem → nokogiri-1.10.10.gem} +0 -0
- data/vendor/cache/notiffany-0.1.3.gem +0 -0
- data/vendor/cache/pry-0.13.1.gem +0 -0
- data/vendor/cache/public_suffix-4.0.5.gem +0 -0
- data/vendor/cache/rack-2.2.3.gem +0 -0
- data/vendor/cache/rails-html-sanitizer-1.3.0.gem +0 -0
- data/vendor/cache/railties-6.0.3.2.gem +0 -0
- data/vendor/cache/rake-13.0.1.gem +0 -0
- data/vendor/cache/rb-fsevent-0.10.4.gem +0 -0
- data/vendor/cache/rb-inotify-0.10.1.gem +0 -0
- data/vendor/cache/shoulda-4.0.0.gem +0 -0
- data/vendor/cache/shoulda-context-2.0.0.gem +0 -0
- data/vendor/cache/shoulda-matchers-4.3.0.gem +0 -0
- data/vendor/cache/sorcerer-2.0.1.gem +0 -0
- data/vendor/cache/thor-1.0.1.gem +0 -0
- data/vendor/cache/tzinfo-1.2.7.gem +0 -0
- data/vendor/cache/zeitwerk-2.4.0.gem +0 -0
- metadata +144 -277
- data/.circleci/config.yml +0 -177
- data/.circleci/setup-gem-credentials.sh +0 -3
- data/.ruby-version +0 -1
- data/Gemfile.lock +0 -165
- data/_config.yml +0 -1
- data/docker-compose.yml +0 -21
- data/docker/containers/2_5_3/Dockerfile +0 -10
- data/docker/containers/2_6_0/Dockerfile +0 -10
- data/docker/containers/app/Dockerfile +0 -10
- data/docker/env_files/circleci.env.enc +0 -5
- data/lib/roro/cli/base.rb +0 -137
- data/lib/roro/cli/templates/Guardfile +0 -81
- data/lib/roro/cli/templates/circleci/Rakefile +0 -4
- data/lib/roro/cli/templates/circleci/config.job-example.yml +0 -33
- data/lib/roro/cli/templates/circleci/config.yml +0 -69
- data/lib/roro/cli/templates/circleci/config.yml.workflow-example +0 -62
- data/lib/roro/cli/templates/circleci/deploy.rake +0 -127
- data/lib/roro/cli/templates/config.yml +0 -71
- data/lib/roro/cli/templates/docker-compose.yml +0 -53
- data/lib/roro/cli/templates/docker/containers/app/Dockerfile.tt +0 -12
- data/lib/roro/cli/templates/docker/containers/web/Dockerfile.tt +0 -18
- data/lib/roro/cli/templates/docker/containers/web/app.conf.tt +0 -23
- data/lib/roro/cli/templates/docker/overrides/circleci.yml.tt +0 -19
- data/lib/roro/cli/templates/docker/overrides/production.yml.tt +0 -26
- data/lib/roro/cli/templates/docker/web/Dockerfile +0 -20
- data/lib/roro/cli/templates/docker/web/app.conf +0 -23
- data/lib/roro/cli/templates/gitignore +0 -27
- data/lib/roro/cli/templates/greenfield/Dockerfile +0 -8
- data/lib/roro/cli/templates/greenfield/Gemfile +0 -2
- data/lib/roro/cli/templates/greenfield/Gemfile.lock +0 -0
- data/lib/roro/cli/templates/greenfield/config/database.yml.example +0 -16
- data/lib/roro/cli/templates/lib/tasks/deploy.rake +0 -126
- data/test_apps/dummy/.gitignore +0 -27
- data/test_apps/dummy/Gemfile +0 -61
- data/test_apps/dummy/README.md +0 -24
- data/test_apps/dummy/Rakefile +0 -6
- data/test_apps/dummy/app/assets/config/manifest.js +0 -3
- data/test_apps/dummy/app/assets/javascripts/application.js +0 -16
- data/test_apps/dummy/app/assets/javascripts/cable.js +0 -13
- data/test_apps/dummy/app/assets/stylesheets/application.css +0 -15
- data/test_apps/dummy/app/channels/application_cable/channel.rb +0 -4
- data/test_apps/dummy/app/channels/application_cable/connection.rb +0 -4
- data/test_apps/dummy/app/controllers/application_controller.rb +0 -2
- data/test_apps/dummy/app/helpers/application_helper.rb +0 -2
- data/test_apps/dummy/app/jobs/application_job.rb +0 -2
- data/test_apps/dummy/app/mailers/application_mailer.rb +0 -4
- data/test_apps/dummy/app/models/application_record.rb +0 -3
- data/test_apps/dummy/app/views/layouts/application.html.erb +0 -15
- data/test_apps/dummy/app/views/layouts/mailer.html.erb +0 -13
- data/test_apps/dummy/app/views/layouts/mailer.text.erb +0 -1
- data/test_apps/dummy/bin/bundle +0 -3
- data/test_apps/dummy/bin/rails +0 -4
- data/test_apps/dummy/bin/rake +0 -4
- data/test_apps/dummy/bin/setup +0 -36
- data/test_apps/dummy/bin/update +0 -31
- data/test_apps/dummy/bin/yarn +0 -11
- data/test_apps/dummy/config.ru +0 -5
- data/test_apps/dummy/config/application.rb +0 -19
- data/test_apps/dummy/config/boot.rb +0 -4
- data/test_apps/dummy/config/cable.yml +0 -10
- data/test_apps/dummy/config/credentials.yml.enc +0 -1
- data/test_apps/dummy/config/environment.rb +0 -5
- data/test_apps/dummy/config/environments/development.rb +0 -61
- data/test_apps/dummy/config/environments/production.rb +0 -94
- data/test_apps/dummy/config/environments/test.rb +0 -46
- data/test_apps/dummy/config/initializers/application_controller_renderer.rb +0 -8
- data/test_apps/dummy/config/initializers/assets.rb +0 -14
- data/test_apps/dummy/config/initializers/backtrace_silencers.rb +0 -7
- data/test_apps/dummy/config/initializers/content_security_policy.rb +0 -25
- data/test_apps/dummy/config/initializers/cookies_serializer.rb +0 -5
- data/test_apps/dummy/config/initializers/filter_parameter_logging.rb +0 -4
- data/test_apps/dummy/config/initializers/inflections.rb +0 -16
- data/test_apps/dummy/config/initializers/mime_types.rb +0 -4
- data/test_apps/dummy/config/initializers/wrap_parameters.rb +0 -14
- data/test_apps/dummy/config/locales/en.yml +0 -33
- data/test_apps/dummy/config/puma.rb +0 -34
- data/test_apps/dummy/config/routes.rb +0 -3
- data/test_apps/dummy/config/spring.rb +0 -6
- data/test_apps/dummy/config/storage.yml +0 -34
- data/test_apps/dummy/db/seeds.rb +0 -7
- data/test_apps/dummy/log/.keep +0 -0
- data/test_apps/dummy/package.json +0 -5
- data/test_apps/dummy/public/404.html +0 -67
- data/test_apps/dummy/public/422.html +0 -67
- data/test_apps/dummy/public/500.html +0 -66
- data/test_apps/dummy/public/apple-touch-icon-precomposed.png +0 -0
- data/test_apps/dummy/public/apple-touch-icon.png +0 -0
- data/test_apps/dummy/public/favicon.ico +0 -0
- data/test_apps/dummy/public/robots.txt +0 -1
- data/test_apps/dummy/storage/.keep +0 -0
- data/test_apps/dummy/test/application_system_test_case.rb +0 -5
- data/test_apps/dummy/test/controllers/.keep +0 -0
- data/test_apps/dummy/test/fixtures/.keep +0 -0
- data/test_apps/dummy/test/fixtures/files/.keep +0 -0
- data/test_apps/dummy/test/helpers/.keep +0 -0
- data/test_apps/dummy/test/integration/.keep +0 -0
- data/test_apps/dummy/test/mailers/.keep +0 -0
- data/test_apps/dummy/test/models/.keep +0 -0
- data/test_apps/dummy/test/system/.keep +0 -0
- data/test_apps/dummy/test/test_helper.rb +0 -10
- data/test_apps/dummy/tmp/.keep +0 -0
- data/test_apps/dummy/vendor/.keep +0 -0
- data/test_apps/dummy_gem/.keep +0 -0
- data/test_apps/dummy_roro/.circleci/Rakefile +0 -4
- data/test_apps/dummy_roro/.circleci/config.job-example.yml +0 -33
- data/test_apps/dummy_roro/.circleci/config.yml.workflow-example +0 -62
- data/test_apps/dummy_roro/.circleci/deploy.rake +0 -127
- data/test_apps/dummy_roro/.gitignore +0 -27
- data/test_apps/dummy_roro/Gemfile +0 -64
- data/test_apps/dummy_roro/README.md +0 -24
- data/test_apps/dummy_roro/Rakefile +0 -6
- data/test_apps/dummy_roro/app/assets/config/manifest.js +0 -3
- data/test_apps/dummy_roro/app/assets/images/.keep +0 -0
- data/test_apps/dummy_roro/app/assets/javascripts/application.js +0 -16
- data/test_apps/dummy_roro/app/assets/javascripts/cable.js +0 -13
- data/test_apps/dummy_roro/app/assets/javascripts/channels/.keep +0 -0
- data/test_apps/dummy_roro/app/assets/stylesheets/application.css +0 -15
- data/test_apps/dummy_roro/app/channels/application_cable/channel.rb +0 -4
- data/test_apps/dummy_roro/app/channels/application_cable/connection.rb +0 -4
- data/test_apps/dummy_roro/app/controllers/application_controller.rb +0 -2
- data/test_apps/dummy_roro/app/controllers/concerns/.keep +0 -0
- data/test_apps/dummy_roro/app/helpers/application_helper.rb +0 -2
- data/test_apps/dummy_roro/app/jobs/application_job.rb +0 -2
- data/test_apps/dummy_roro/app/mailers/application_mailer.rb +0 -4
- data/test_apps/dummy_roro/app/models/application_record.rb +0 -3
- data/test_apps/dummy_roro/app/models/concerns/.keep +0 -0
- data/test_apps/dummy_roro/app/views/layouts/application.html.erb +0 -15
- data/test_apps/dummy_roro/app/views/layouts/mailer.html.erb +0 -13
- data/test_apps/dummy_roro/app/views/layouts/mailer.text.erb +0 -1
- data/test_apps/dummy_roro/bin/bundle +0 -3
- data/test_apps/dummy_roro/bin/rails +0 -4
- data/test_apps/dummy_roro/bin/rake +0 -4
- data/test_apps/dummy_roro/bin/setup +0 -36
- data/test_apps/dummy_roro/bin/update +0 -31
- data/test_apps/dummy_roro/bin/yarn +0 -11
- data/test_apps/dummy_roro/config.ru +0 -5
- data/test_apps/dummy_roro/config/application.rb +0 -19
- data/test_apps/dummy_roro/config/boot.rb +0 -4
- data/test_apps/dummy_roro/config/cable.yml +0 -10
- data/test_apps/dummy_roro/config/credentials.yml.enc +0 -1
- data/test_apps/dummy_roro/config/database.yml +0 -20
- data/test_apps/dummy_roro/config/environment.rb +0 -5
- data/test_apps/dummy_roro/config/environments/development.rb +0 -61
- data/test_apps/dummy_roro/config/environments/production.rb +0 -94
- data/test_apps/dummy_roro/config/environments/test.rb +0 -46
- data/test_apps/dummy_roro/config/initializers/application_controller_renderer.rb +0 -8
- data/test_apps/dummy_roro/config/initializers/assets.rb +0 -14
- data/test_apps/dummy_roro/config/initializers/backtrace_silencers.rb +0 -7
- data/test_apps/dummy_roro/config/initializers/content_security_policy.rb +0 -25
- data/test_apps/dummy_roro/config/initializers/cookies_serializer.rb +0 -5
- data/test_apps/dummy_roro/config/initializers/filter_parameter_logging.rb +0 -4
- data/test_apps/dummy_roro/config/initializers/inflections.rb +0 -16
- data/test_apps/dummy_roro/config/initializers/mime_types.rb +0 -4
- data/test_apps/dummy_roro/config/initializers/wrap_parameters.rb +0 -14
- data/test_apps/dummy_roro/config/locales/en.yml +0 -33
- data/test_apps/dummy_roro/config/puma.rb +0 -34
- data/test_apps/dummy_roro/config/routes.rb +0 -3
- data/test_apps/dummy_roro/config/spring.rb +0 -6
- data/test_apps/dummy_roro/config/storage.yml +0 -34
- data/test_apps/dummy_roro/db/seeds.rb +0 -7
- data/test_apps/dummy_roro/docker-compose.yml +0 -51
- data/test_apps/dummy_roro/docker/containers/app/Dockerfile +0 -12
- data/test_apps/dummy_roro/docker/containers/app/circleci.env +0 -2
- data/test_apps/dummy_roro/docker/containers/app/development.env +0 -2
- data/test_apps/dummy_roro/docker/containers/app/production.env +0 -2
- data/test_apps/dummy_roro/docker/containers/app/staging.env +0 -2
- data/test_apps/dummy_roro/docker/containers/database/.keep +0 -0
- data/test_apps/dummy_roro/docker/containers/database/circleci.env +0 -3
- data/test_apps/dummy_roro/docker/containers/database/development.env +0 -3
- data/test_apps/dummy_roro/docker/containers/database/production.env +0 -3
- data/test_apps/dummy_roro/docker/containers/database/staging.env +0 -3
- data/test_apps/dummy_roro/docker/containers/web/Dockerfile +0 -18
- data/test_apps/dummy_roro/docker/containers/web/app.conf +0 -23
- data/test_apps/dummy_roro/docker/containers/web/circleci.env +0 -1
- data/test_apps/dummy_roro/docker/containers/web/development.env +0 -1
- data/test_apps/dummy_roro/docker/containers/web/production.env +0 -1
- data/test_apps/dummy_roro/docker/containers/web/staging.env +0 -1
- data/test_apps/dummy_roro/docker/env_files/circleci.env +0 -12
- data/test_apps/dummy_roro/docker/env_files/circleci.env.enc +0 -14
- data/test_apps/dummy_roro/docker/env_files/production.env +0 -2
- data/test_apps/dummy_roro/docker/env_files/production.env.enc +0 -2
- data/test_apps/dummy_roro/docker/keys/.keep +0 -0
- data/test_apps/dummy_roro/docker/overrides/circleci.yml +0 -19
- data/test_apps/dummy_roro/docker/overrides/production.yml +0 -26
- data/test_apps/dummy_roro/lib/assets/.keep +0 -0
- data/test_apps/dummy_roro/lib/tasks/.keep +0 -0
- data/test_apps/dummy_roro/lib/tasks/deploy.rake +0 -126
- data/test_apps/dummy_roro/log/.keep +0 -0
- data/test_apps/dummy_roro/package.json +0 -5
- data/test_apps/dummy_roro/public/404.html +0 -67
- data/test_apps/dummy_roro/public/422.html +0 -67
- data/test_apps/dummy_roro/public/500.html +0 -66
- data/test_apps/dummy_roro/public/apple-touch-icon-precomposed.png +0 -0
- data/test_apps/dummy_roro/public/apple-touch-icon.png +0 -0
- data/test_apps/dummy_roro/public/favicon.ico +0 -0
- data/test_apps/dummy_roro/public/robots.txt +0 -1
- data/test_apps/dummy_roro/storage/.keep +0 -0
- data/test_apps/dummy_roro/test/application_system_test_case.rb +0 -5
- data/test_apps/dummy_roro/test/controllers/.keep +0 -0
- data/test_apps/dummy_roro/test/fixtures/.keep +0 -0
- data/test_apps/dummy_roro/test/fixtures/files/.keep +0 -0
- data/test_apps/dummy_roro/test/helpers/.keep +0 -0
- data/test_apps/dummy_roro/test/integration/.keep +0 -0
- data/test_apps/dummy_roro/test/mailers/.keep +0 -0
- data/test_apps/dummy_roro/test/models/.keep +0 -0
- data/test_apps/dummy_roro/test/system/.keep +0 -0
- data/test_apps/dummy_roro/test/test_helper.rb +0 -10
- data/test_apps/dummy_roro/tmp/.keep +0 -0
- data/test_apps/dummy_roro/vendor/.keep +0 -0
- data/test_apps/greenfield/.keep +0 -0
- data/vendor/cache/actionpack-5.2.2.gem +0 -0
- data/vendor/cache/actionview-5.2.2.gem +0 -0
- data/vendor/cache/activesupport-5.2.2.gem +0 -0
- data/vendor/cache/addressable-2.5.2.gem +0 -0
- data/vendor/cache/builder-3.2.3.gem +0 -0
- data/vendor/cache/coderay-1.1.2.gem +0 -0
- data/vendor/cache/concurrent-ruby-1.1.4.gem +0 -0
- data/vendor/cache/crass-1.0.4.gem +0 -0
- data/vendor/cache/erubi-1.8.0.gem +0 -0
- data/vendor/cache/ffi-1.9.25.gem +0 -0
- data/vendor/cache/guard-2.15.0.gem +0 -0
- data/vendor/cache/i18n-1.3.0.gem +0 -0
- data/vendor/cache/launchy-2.4.3.gem +0 -0
- data/vendor/cache/listen-3.1.5.gem +0 -0
- data/vendor/cache/loofah-2.2.3.gem +0 -0
- data/vendor/cache/lumberjack-1.0.13.gem +0 -0
- data/vendor/cache/method_source-0.9.2.gem +0 -0
- data/vendor/cache/minitest-5.11.3.gem +0 -0
- data/vendor/cache/minitest-rails-3.0.0.gem +0 -0
- data/vendor/cache/multi_json-1.13.1.gem +0 -0
- data/vendor/cache/net-scp-2.0.0.gem +0 -0
- data/vendor/cache/net-ssh-5.2.0.gem +0 -0
- data/vendor/cache/notiffany-0.1.1.gem +0 -0
- data/vendor/cache/pry-0.12.2.gem +0 -0
- data/vendor/cache/public_suffix-3.0.3.gem +0 -0
- data/vendor/cache/rack-2.0.6.gem +0 -0
- data/vendor/cache/rails-html-sanitizer-1.0.4.gem +0 -0
- data/vendor/cache/railties-5.2.2.gem +0 -0
- data/vendor/cache/rake-10.5.0.gem +0 -0
- data/vendor/cache/rb-fsevent-0.10.3.gem +0 -0
- data/vendor/cache/rb-inotify-0.10.0.gem +0 -0
- data/vendor/cache/ruby_dep-1.5.0.gem +0 -0
- data/vendor/cache/shoulda-3.6.0.gem +0 -0
- data/vendor/cache/shoulda-context-1.2.2.gem +0 -0
- data/vendor/cache/shoulda-matchers-3.1.2.gem +0 -0
- data/vendor/cache/sorcerer-1.0.2.gem +0 -0
- data/vendor/cache/thor-0.20.3.gem +0 -0
- data/vendor/cache/tzinfo-1.2.5.gem +0 -0
data/lib/roro/cli/ruby_gem.rb
CHANGED
@@ -7,6 +7,12 @@ module Roro
|
|
7
7
|
desc "ruby_gem", "Generate files for containerized gem testing, CircleCI, and releasing to RubyGems."
|
8
8
|
method_option :rubies, type: :array, banner: "2.5.3 2.4.2"
|
9
9
|
|
10
|
+
no_commands do
|
11
|
+
def copy_ruby_gem_files
|
12
|
+
copy_file 'ruby_gem/config.yml', '.circleci/config.yml'
|
13
|
+
end
|
14
|
+
end
|
15
|
+
|
10
16
|
def ruby_gem
|
11
17
|
rubies = options["rubies"] || ["2.5.3", "2.6.0"]
|
12
18
|
copy_file 'ruby_gem/docker-compose.yml', 'docker-compose.yml'
|
@@ -0,0 +1,51 @@
|
|
1
|
+
.git
|
2
|
+
.gitignore
|
3
|
+
README.md
|
4
|
+
|
5
|
+
#
|
6
|
+
# OS X
|
7
|
+
#
|
8
|
+
.DS_Store
|
9
|
+
.AppleDouble
|
10
|
+
.LSOverride
|
11
|
+
# Icon must end with two \r
|
12
|
+
Icon
|
13
|
+
# Thumbnails
|
14
|
+
._*
|
15
|
+
# Files that might appear on external disk
|
16
|
+
.Spotlight-V100
|
17
|
+
.Trashes
|
18
|
+
# Directories potentially created on remote AFP share
|
19
|
+
.AppleDB
|
20
|
+
.AppleDesktop
|
21
|
+
Network Trash Folder
|
22
|
+
Temporary Items
|
23
|
+
.apdisk
|
24
|
+
|
25
|
+
#
|
26
|
+
# Rails
|
27
|
+
#
|
28
|
+
.env
|
29
|
+
.env.sample
|
30
|
+
*.rbc
|
31
|
+
capybara-*.html
|
32
|
+
log
|
33
|
+
tmp
|
34
|
+
db/*.sqlite3
|
35
|
+
db/*.sqlite3-journal
|
36
|
+
public/system
|
37
|
+
coverage/
|
38
|
+
spec/tmp
|
39
|
+
**.orig
|
40
|
+
|
41
|
+
.bundle
|
42
|
+
|
43
|
+
.ruby-version
|
44
|
+
.ruby-gemset
|
45
|
+
|
46
|
+
.rvmrc
|
47
|
+
|
48
|
+
# if using bower-rails ignore default bower_components path bower.json files
|
49
|
+
vendor/assets/bower_components
|
50
|
+
*.bowerrc
|
51
|
+
bower.json
|
File without changes
|
@@ -0,0 +1,15 @@
|
|
1
|
+
---
|
2
|
+
main_app_name: greenfield
|
3
|
+
database_host: database
|
4
|
+
ruby_version: '2.7'
|
5
|
+
frontend_service: frontend
|
6
|
+
webserver_service: nginx
|
7
|
+
database_service: database
|
8
|
+
database_vendor: mysql
|
9
|
+
mysql_env_vars:
|
10
|
+
MYSQL_ROOT_PASSWORD: root
|
11
|
+
MYSQL_PASSWORD: root
|
12
|
+
MYSQL_USERNAME: root
|
13
|
+
MYSQL_DATABASE_PORT: '3306'
|
14
|
+
thor_actions:
|
15
|
+
insert_hfci_gem_into_gemfile: y
|
@@ -0,0 +1,44 @@
|
|
1
|
+
FROM ruby:<%= config['ruby_version'] %>
|
2
|
+
LABEL maintainer="<%= config['dockerhub_email'] %>"
|
3
|
+
|
4
|
+
|
5
|
+
## Make sure we have yarn properly sourced:
|
6
|
+
RUN curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | apt-key add -
|
7
|
+
RUN echo "deb https://dl.yarnpkg.com/debian/ stable main" | tee /etc/apt/sources.list.d/yarn.list
|
8
|
+
|
9
|
+
## Update OS and download yarm from source specified above:
|
10
|
+
RUN apt-get update -qq && apt-get install -y build-essential git nodejs yarn
|
11
|
+
|
12
|
+
## Set up our workspace directories:
|
13
|
+
ENV APP_HOME /usr/src/app/
|
14
|
+
RUN mkdir ${APP_HOME}
|
15
|
+
|
16
|
+
## Tell bundler where to store downloaded gems:
|
17
|
+
ENV BUNDLE_PATH /gems
|
18
|
+
RUN mkdir ${BUNDLE_PATH}}
|
19
|
+
|
20
|
+
## Tell Docker to create volumes for our workspace and gems
|
21
|
+
## so other containers can access them.
|
22
|
+
VOLUME ${APP_HOME}
|
23
|
+
VOLUME /gems
|
24
|
+
|
25
|
+
## To speed up development, copy Gemfile and Gemfile.lock from host
|
26
|
+
## and then bundle so changing other parts of the app don't trigger
|
27
|
+
## a full gem install.
|
28
|
+
COPY Gemfile* ./
|
29
|
+
|
30
|
+
WORKDIR ${APP_HOME}
|
31
|
+
|
32
|
+
RUN bundle
|
33
|
+
|
34
|
+
COPY roro/docker-entrypoint.sh /usr/bin/docker-entrypoint.sh
|
35
|
+
RUN chmod +x /usr/bin/docker-entrypoint.sh
|
36
|
+
ENTRYPOINT ["docker-entrypoint.sh"]
|
37
|
+
|
38
|
+
COPY . /usr/src/app/
|
39
|
+
|
40
|
+
# RUN chmod +x /usr/src/app/roro/docker-entrypoint.sh
|
41
|
+
# ENTRYPOINT ["/usr/src/app/roro/docker-entrypoint.sh"]
|
42
|
+
|
43
|
+
|
44
|
+
|
@@ -0,0 +1,19 @@
|
|
1
|
+
default: &default
|
2
|
+
adapter: mysql2
|
3
|
+
encoding: utf8
|
4
|
+
pool: <%= ENV.fetch('RAILS_MAX_THREADS') { 5 } %>
|
5
|
+
host: <%= ENV.fetch('DATABASE_HOST') %>
|
6
|
+
username: <%= ENV.fetch('MYSQL_USERNAME') %>
|
7
|
+
password: <%= ENV.fetch('MYSQL_PASSWORD') %>
|
8
|
+
database: <%= ENV.fetch('MYSQL_DATABASE') %>
|
9
|
+
port: <%= ENV.fetch('MYSQL_DATABASE_PORT') %>
|
10
|
+
socket: /var/run/mysqld/mysqlx.sock
|
11
|
+
|
12
|
+
development:
|
13
|
+
<<: *default
|
14
|
+
|
15
|
+
test:
|
16
|
+
<<: *default
|
17
|
+
|
18
|
+
production:
|
19
|
+
<<: *default
|
File without changes
|
data/{test_apps/dummy_roro/.circleci/config.yml → lib/roro/cli/templates/circleci/config.yml.tt}
RENAMED
@@ -13,9 +13,9 @@ jobs:
|
|
13
13
|
- run: handsome_fencer-circle_c_i expose circleci
|
14
14
|
- run: handsome_fencer-circle_c_i expose development
|
15
15
|
- run: echo 'source docker/env_files/circleci.env' >> $BASH_ENV
|
16
|
-
- run: docker-compose up -d
|
17
|
-
- run: docker-compose exec
|
18
|
-
- run: docker-compose exec
|
16
|
+
- run: docker-compose up -d <%= config[:app_name] %> --build
|
17
|
+
- run: docker-compose exec <%= config[:app_name] %> bin/rails db:create db:migrate
|
18
|
+
- run: docker-compose exec <%= config[:app_name] %> bin/rails test
|
19
19
|
|
20
20
|
push:
|
21
21
|
machine: true
|
@@ -25,11 +25,12 @@ jobs:
|
|
25
25
|
- run: handsome_fencer-circle_c_i expose circleci
|
26
26
|
- run: handsome_fencer-circle_c_i expose development
|
27
27
|
- run: echo 'source docker/env_files/circleci.env' >> $BASH_ENV
|
28
|
-
- run: docker-compose build
|
28
|
+
- run: docker-compose build <%= config[:app_name] %> web
|
29
|
+
- run: docker login -u $DOCKERHUB_USER -p $DOCKERHUB_PASS
|
29
30
|
- run: docker login -u $DOCKERHUB_USER -p $DOCKERHUB_PASS
|
30
31
|
- run:
|
31
|
-
name: Tag
|
32
|
-
command: docker tag $(docker images | grep
|
32
|
+
name: Tag <%= config[:app_name] %> image
|
33
|
+
command: docker tag $(docker images | grep project_<%= config[:app_name] %> | awk '{ print $3 }') ${DOCKERHUB_ORG_NAME}/${APP_NAME}_app:$DEPLOY_TAG
|
33
34
|
- run:
|
34
35
|
name: Tag web image
|
35
36
|
command: docker tag $(docker images | grep project_web | awk '{ print $3 }') ${DOCKERHUB_ORG_NAME}/${APP_NAME}_web:$DEPLOY_TAG
|
File without changes
|
@@ -0,0 +1,23 @@
|
|
1
|
+
FROM ruby:<%= config[:ruby_version] %>
|
2
|
+
|
3
|
+
|
4
|
+
RUN curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | apt-key add -
|
5
|
+
RUN echo "deb https://dl.yarnpkg.com/debian/ stable main" | tee /etc/apt/sources.list.d/yarn.list
|
6
|
+
RUN apt-get update -qq && apt-get install -y build-essential git nodejs yarn
|
7
|
+
|
8
|
+
|
9
|
+
ENV APP_HOME /usr/src/app/
|
10
|
+
RUN mkdir $APP_HOME
|
11
|
+
WORKDIR $APP_HOME
|
12
|
+
|
13
|
+
COPY Gemfile* $APP_HOME
|
14
|
+
|
15
|
+
ENV BUNDLE_PATH /gems
|
16
|
+
|
17
|
+
RUN bundle install
|
18
|
+
RUN yarn
|
19
|
+
|
20
|
+
COPY . ./$APP_HOME
|
21
|
+
|
22
|
+
|
23
|
+
|
@@ -0,0 +1,60 @@
|
|
1
|
+
version: '3'
|
2
|
+
|
3
|
+
services:
|
4
|
+
|
5
|
+
web:
|
6
|
+
build: .
|
7
|
+
depends_on:
|
8
|
+
- database
|
9
|
+
- webpack_dev_server
|
10
|
+
- redis
|
11
|
+
# entrypoint: ./docker-entrypoint.sh
|
12
|
+
command: ["bin/rails", "s", "-b", "0.0.0.0"]
|
13
|
+
|
14
|
+
ports:
|
15
|
+
- "3000:3000"
|
16
|
+
- "4000:4000"
|
17
|
+
volumes:
|
18
|
+
- .:/usr/src/app
|
19
|
+
- gem_cache:/gems
|
20
|
+
env_file:
|
21
|
+
- .env/development/web
|
22
|
+
- .env/development/database
|
23
|
+
environment:
|
24
|
+
- WEBPACKER_DEV_SERVER_HOST=webpack_dev_server
|
25
|
+
|
26
|
+
webpack_dev_server:
|
27
|
+
build: .
|
28
|
+
command: ./bin/webpack-dev-server
|
29
|
+
ports:
|
30
|
+
- 3035:3035
|
31
|
+
volumes:
|
32
|
+
- .:/usr/src/app
|
33
|
+
- gem_cache:/gems
|
34
|
+
env_file:
|
35
|
+
- .env/development/database
|
36
|
+
- .env/development/web
|
37
|
+
environment:
|
38
|
+
- WEBPACKER_DEV_SERVER_HOST=0.0.0.0
|
39
|
+
|
40
|
+
redis:
|
41
|
+
image: redis
|
42
|
+
|
43
|
+
database:
|
44
|
+
image: postgres
|
45
|
+
env_file:
|
46
|
+
- .env/development/database
|
47
|
+
volumes:
|
48
|
+
- db_data:/var/lib/postgresql/data
|
49
|
+
|
50
|
+
system_tests:
|
51
|
+
image: selenium/standalone-chrome-debug
|
52
|
+
logging:
|
53
|
+
driver: none
|
54
|
+
ports:
|
55
|
+
- "35729:35729"
|
56
|
+
- "5900:5900"
|
57
|
+
|
58
|
+
volumes:
|
59
|
+
db_data:
|
60
|
+
gem_cache:
|
@@ -0,0 +1,43 @@
|
|
1
|
+
FROM ruby:<%= config['ruby_version'] %> AS builder
|
2
|
+
|
3
|
+
## Make sure we have yarn properly sourced:
|
4
|
+
RUN curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | apt-key add -
|
5
|
+
RUN echo "deb https://dl.yarnpkg.com/debian/ stable main" | tee /etc/apt/sources.list.d/yarn.list
|
6
|
+
|
7
|
+
## Update OS and download yarm from source specified above:
|
8
|
+
RUN apt-get update -qq && apt-get install -y build-essential git nodejs yarn
|
9
|
+
|
10
|
+
## Set up our workspace directories:
|
11
|
+
ENV APP_HOME /usr/src/app/
|
12
|
+
RUN mkdir ${APP_HOME}
|
13
|
+
|
14
|
+
## Tell bundler where to store downloaded gems:
|
15
|
+
ENV BUNDLE_PATH /gems
|
16
|
+
RUN mkdir ${BUNDLE_PATH}}
|
17
|
+
|
18
|
+
## Tell Docker to create volumes for our workspace and gems
|
19
|
+
## so other containers can access them.
|
20
|
+
VOLUME ${APP_HOME}
|
21
|
+
VOLUME /gems
|
22
|
+
|
23
|
+
## Create a Gemfile with just the Rails gem inside:
|
24
|
+
RUN echo "source 'https://rubygems.org'\ngem 'rails'" > Gemfile
|
25
|
+
|
26
|
+
## Bundle to install rails:
|
27
|
+
RUN bundle install
|
28
|
+
|
29
|
+
## Switch to the the work directory from container root:
|
30
|
+
WORKDIR ${APP_HOME}
|
31
|
+
|
32
|
+
## Use Rails to generate a new app. We'll configure it later.
|
33
|
+
RUN bundle exec rails new . --skip-webpack-install --skip-bundle
|
34
|
+
|
35
|
+
## Tell docker not to create a layer:
|
36
|
+
FROM scratch AS export-stage
|
37
|
+
|
38
|
+
## Copy the generated files onto the host. Note that because we are in a
|
39
|
+
## new container, we don't have access to the previous ${APP_HOME}
|
40
|
+
## variable and so we must hard code it as our source:
|
41
|
+
COPY --from=builder /usr/src/app/ .
|
42
|
+
|
43
|
+
|
File without changes
|
@@ -0,0 +1,30 @@
|
|
1
|
+
FROM ruby:<%= config[:ruby_version] %>
|
2
|
+
|
3
|
+
|
4
|
+
RUN curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | apt-key add -
|
5
|
+
RUN echo "deb https://dl.yarnpkg.com/debian/ stable main" | tee /etc/apt/sources.list.d/yarn.list
|
6
|
+
RUN apt-get update -qq && apt-get install -y build-essential git nodejs yarn
|
7
|
+
|
8
|
+
|
9
|
+
ENV APP_HOME /usr/src/app/
|
10
|
+
RUN mkdir $APP_HOME
|
11
|
+
WORKDIR $APP_HOME
|
12
|
+
|
13
|
+
|
14
|
+
COPY Gemfile* $APP_HOME
|
15
|
+
COPY lib/jumpstart $APP_HOME
|
16
|
+
|
17
|
+
ENV BUNDLE_PATH /gems
|
18
|
+
RUN bundle update --bundler
|
19
|
+
|
20
|
+
RUN bundle install
|
21
|
+
RUN yarn install --check-files
|
22
|
+
|
23
|
+
COPY . ./$APP_HOME
|
24
|
+
RUN bundle install
|
25
|
+
|
26
|
+
|
27
|
+
COPY ./hosts.example /etc/hosts
|
28
|
+
|
29
|
+
|
30
|
+
CMD ["bin/rails", "s", "-b", "0.0.0.0"]
|
@@ -0,0 +1,59 @@
|
|
1
|
+
version: '3'
|
2
|
+
|
3
|
+
services:
|
4
|
+
|
5
|
+
web:
|
6
|
+
build: .
|
7
|
+
depends_on:
|
8
|
+
- database
|
9
|
+
- redis
|
10
|
+
entrypoint: ./docker-entrypoint.sh
|
11
|
+
command: ["bin/rails", "s", "-b", "0.0.0.0"]
|
12
|
+
|
13
|
+
ports:
|
14
|
+
- "3000:3000"
|
15
|
+
- "4000:4000"
|
16
|
+
volumes:
|
17
|
+
- .:/usr/src/app
|
18
|
+
- gem_cache:/gems
|
19
|
+
env_file:
|
20
|
+
- .env/development/web
|
21
|
+
- .env/development/database
|
22
|
+
environment:
|
23
|
+
- WEBPACKER_DEV_SERVER_HOST=webpack_dev_server
|
24
|
+
|
25
|
+
webpack_dev_server:
|
26
|
+
build: .
|
27
|
+
command: ./bin/webpack-dev-server
|
28
|
+
ports:
|
29
|
+
- 3035:3035
|
30
|
+
volumes:
|
31
|
+
- .:/usr/src/app
|
32
|
+
- gem_cache:/gems
|
33
|
+
env_file:
|
34
|
+
- .env/development/database
|
35
|
+
- .env/development/web
|
36
|
+
environment:
|
37
|
+
- WEBPACKER_DEV_SERVER_HOST=0.0.0.0
|
38
|
+
|
39
|
+
redis:
|
40
|
+
image: redis
|
41
|
+
|
42
|
+
database:
|
43
|
+
image: postgres
|
44
|
+
env_file:
|
45
|
+
- .env/development/database
|
46
|
+
volumes:
|
47
|
+
- db_data:/var/lib/postgresql/data
|
48
|
+
|
49
|
+
system_tests:
|
50
|
+
image: selenium/standalone-chrome-debug
|
51
|
+
logging:
|
52
|
+
driver: none
|
53
|
+
ports:
|
54
|
+
- "35729:35729"
|
55
|
+
- "5900:5900"
|
56
|
+
|
57
|
+
volumes:
|
58
|
+
db_data:
|
59
|
+
gem_cache:
|
@@ -0,0 +1,16 @@
|
|
1
|
+
#!/bin/sh
|
2
|
+
#---
|
3
|
+
# Excerpted from "Docker for Rails Developers",
|
4
|
+
# published by The Pragmatic Bookshelf.
|
5
|
+
# Copyrights apply to this code. It may not be used to create training material,
|
6
|
+
# courses, books, articles, and the like. Contact us if you are in doubt.
|
7
|
+
# We make no guarantees that this code is fit for any purpose.
|
8
|
+
# Visit http://www.pragmaticprogrammer.com/titles/ridocker for more book information.
|
9
|
+
#---
|
10
|
+
set -e
|
11
|
+
|
12
|
+
if [ -f tmp/pids/server.pid ]; then
|
13
|
+
rm tmp/pids/server.pid
|
14
|
+
fi
|
15
|
+
|
16
|
+
exec "$@"
|
@@ -0,0 +1,20 @@
|
|
1
|
+
FROM ruby:<%= config[:ruby_version] %>
|
2
|
+
|
3
|
+
RUN apt-get update -qq && apt-get install -y nodejs postgresql-client
|
4
|
+
RUN mkdir /myapp
|
5
|
+
WORKDIR /myapp
|
6
|
+
COPY Gemfile /myapp/Gemfile
|
7
|
+
COPY Gemfile.lock /myapp/Gemfile.lock
|
8
|
+
|
9
|
+
RUN gem install bundler
|
10
|
+
RUN bundle install
|
11
|
+
COPY . /myapp
|
12
|
+
|
13
|
+
# Add a script to be executed every time the container starts.
|
14
|
+
COPY entrypoint.sh /usr/bin/
|
15
|
+
RUN chmod +x /usr/bin/entrypoint.sh
|
16
|
+
ENTRYPOINT ["entrypoint.sh"]
|
17
|
+
EXPOSE 3000
|
18
|
+
|
19
|
+
# Start the main process.
|
20
|
+
CMD ["rails", "server", "-b", "0.0.0.0"]
|