roro 0.3.2 → 0.3.4
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.gitignore +3 -9
- data/{docker/env_files/.keep → .keep} +0 -0
- data/Guardfile +2 -2
- data/lib/roro/cli.rb +2 -3
- data/lib/roro/cli/base/base.rb +7 -0
- data/lib/roro/cli/base/base_files.rb +38 -0
- data/lib/roro/cli/base/configuration.rb +63 -0
- data/lib/roro/cli/base/continuous_integration.rb +13 -0
- data/lib/roro/cli/base/insert_gems.rb +23 -0
- data/lib/roro/cli/base/insertions.rb +17 -0
- data/lib/roro/cli/base/utilities.rb +17 -0
- data/lib/roro/cli/generate_keys.rb +1 -1
- data/lib/roro/cli/greenfield.rb +15 -11
- data/lib/roro/cli/rollon.rb +19 -12
- data/lib/roro/cli/rollon/as_dockerize.rb +28 -0
- data/lib/roro/cli/rollon/as_quickstart.rb +17 -0
- data/lib/roro/cli/rollon/as_roro.rb +30 -0
- data/lib/roro/cli/rollon/use_cases.rb +3 -0
- data/lib/roro/cli/ruby_gem.rb +6 -0
- data/lib/roro/cli/templates/base/.dockerignore +13 -0
- data/{docker/keys → lib/roro/cli/templates/base}/.keep +0 -0
- data/{test_apps/dummy_roro/.circleci/config.yml → lib/roro/cli/templates/base/circleci/config.yml.tt} +7 -6
- data/lib/roro/cli/templates/{config → base/config}/database.yml +0 -0
- data/lib/roro/cli/templates/base/docker-compose.yml.tt +53 -0
- data/lib/roro/cli/templates/base/livereload/hosts.example +7 -0
- data/lib/roro/cli/templates/{docker/containers/database → base/roro}/.keep +0 -0
- data/lib/roro/cli/templates/{docker/env_files → base/roro/containers}/.keep +0 -0
- data/lib/roro/cli/templates/{docker/keys → base/roro/containers/app}/.keep +0 -0
- data/lib/roro/cli/templates/base/roro/containers/app/Dockerfile.tt +32 -0
- data/lib/roro/cli/templates/base/roro/containers/app/development.env.tt +1 -0
- data/lib/roro/cli/templates/base/roro/containers/app/docker-entrypoint.sh +8 -0
- data/lib/roro/cli/templates/base/roro/containers/app/test.env.tt +1 -0
- data/lib/roro/cli/templates/base/roro/containers/database/development.env.tt +4 -0
- data/lib/roro/cli/templates/base/roro/containers/database/test.env.tt +4 -0
- data/{test_apps/dummy/app/assets/images → lib/roro/cli/templates/base/roro/containers/frontend}/.keep +0 -0
- data/{test_apps/dummy/app/assets/javascripts/channels → lib/roro/cli/templates/dockerize/.env}/.keep +0 -0
- data/{test_apps/dummy/app/controllers/concerns → lib/roro/cli/templates/dockerize/.env/development}/.keep +0 -0
- data/lib/roro/cli/templates/dockerize/.env/development/database +3 -0
- data/lib/roro/cli/templates/dockerize/.env/development/web +1 -0
- data/{test_apps/dummy/app/models/concerns → 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 +60 -0
- data/lib/roro/cli/templates/dockerize/docker-entrypoint.sh +9 -0
- data/lib/roro/cli/templates/greenfield/Dockerfile.tt +21 -0
- data/lib/roro/cli/templates/greenfield/Gemfile +1 -1
- data/lib/roro/cli/templates/greenfield/docker-compose.yml +12 -10
- data/lib/roro/cli/templates/greenfield/docker-entrypoint.sh +8 -0
- data/{test_apps/dummy/lib/assets → lib/roro/cli/templates/jumpstart/.env}/.keep +0 -0
- data/{test_apps/dummy/lib/tasks → lib/roro/cli/templates/jumpstart/.env/development}/.keep +0 -0
- data/lib/roro/cli/templates/jumpstart/.env/development/database +3 -0
- data/lib/roro/cli/templates/jumpstart/.env/development/web +1 -0
- data/{test_apps/dummy/log → lib/roro/cli/templates/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/quickstart/Dockerfile.tt +20 -0
- data/{test_apps/dummy/config → lib/roro/cli/templates/quickstart}/database.yml +12 -12
- data/lib/roro/cli/templates/quickstart/docker-compose.yml +17 -0
- data/lib/roro/cli/templates/quickstart/entrypoint.sh +8 -0
- data/lib/roro/cli/templates/ruby_gem/.gitignore +8 -0
- data/lib/roro/version.rb +1 -1
- data/roro.gemspec +5 -3
- 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.6.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/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 +116 -272
- 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/Gemfile.lock +0 -0
- 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/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/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
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 6ae59fe35a7653d9c15191a99184ad9f850a50eb49ae6cde1da06ddf29b420a9
|
4
|
+
data.tar.gz: 00c864acbcf2155ad14ee0ab6d1b01bb0194352d80fa8191c950691863feb2df
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 9c181460cfb92d19799ad53801f690fcc02335153985a849685a4e4472d935502b25e65387c3a9124b19453498b9f6d575ea128ac73dffe68b556b0c99391beb
|
7
|
+
data.tar.gz: a8051fd9f5d70b54dc490c5735396e7bca783554ce42cae6ecab90490d870c77b2b0aa41ce1ed46f00cf7c0c9195b7b5153b9a966ce1028c6f2c5fa53325e887
|
data/.gitignore
CHANGED
File without changes
|
data/Guardfile
CHANGED
data/lib/roro/cli.rb
CHANGED
@@ -1,5 +1,6 @@
|
|
1
|
+
require 'byebug'
|
1
2
|
require 'thor'
|
2
|
-
require 'roro/cli/base'
|
3
|
+
require 'roro/cli/base/base'
|
3
4
|
require 'roro/cli/rollon'
|
4
5
|
require 'roro/cli/greenfield'
|
5
6
|
require 'roro/cli/generate_keys'
|
@@ -15,7 +16,5 @@ module Roro
|
|
15
16
|
def self.source_root
|
16
17
|
File.dirname(__FILE__) + '/cli/templates'
|
17
18
|
end
|
18
|
-
|
19
|
-
|
20
19
|
end
|
21
20
|
end
|
@@ -0,0 +1,38 @@
|
|
1
|
+
module Roro
|
2
|
+
|
3
|
+
class CLI < Thor
|
4
|
+
|
5
|
+
no_commands do
|
6
|
+
|
7
|
+
def copy_dockerignore
|
8
|
+
copy_file 'base/.dockerignore', '.dockerignore', @env_hash[:use_force]
|
9
|
+
|
10
|
+
end
|
11
|
+
|
12
|
+
def copy_host_example
|
13
|
+
copy_file 'base/livereload/hosts.example', 'hosts.example'
|
14
|
+
end
|
15
|
+
|
16
|
+
def copy_docker_compose
|
17
|
+
template "base/docker-compose.yml", 'docker-compose.yml', @env_hash[:force]
|
18
|
+
end
|
19
|
+
|
20
|
+
def copy_roro
|
21
|
+
directory 'base/roro/containers/app', "roro/containers/#{@env_hash[:app_name]}", @env_hash
|
22
|
+
directory 'base/roro/containers/database', "roro/containers/#{@env_hash[:database_container]}", @env_hash
|
23
|
+
directory 'base/roro/containers/frontend', "roro/containers/#{@env_hash[:frontend_container]}", @env_hash
|
24
|
+
end
|
25
|
+
|
26
|
+
def copy_config_database_yml
|
27
|
+
copy_file "base/config/database.yml", 'config/database.yml', @env_hash[:use_force]
|
28
|
+
end
|
29
|
+
|
30
|
+
def copy_base_files
|
31
|
+
copy_circleci
|
32
|
+
copy_roro
|
33
|
+
copy_docker_compose
|
34
|
+
copy_config_database_yml
|
35
|
+
end
|
36
|
+
end
|
37
|
+
end
|
38
|
+
end
|
@@ -0,0 +1,63 @@
|
|
1
|
+
|
2
|
+
module Roro
|
3
|
+
|
4
|
+
class CLI < Thor
|
5
|
+
|
6
|
+
no_commands do
|
7
|
+
|
8
|
+
def get_configuration_variables
|
9
|
+
options["interactive"] ? set_interactively : set_from_defaults
|
10
|
+
@env_hash[:deploy_tag] = "${CIRCLE_SHA1:0:7}"
|
11
|
+
@env_hash[:server_port] = "22"
|
12
|
+
@env_hash[:server_user] = "root"
|
13
|
+
@env_hash
|
14
|
+
end
|
15
|
+
|
16
|
+
def set_from_defaults
|
17
|
+
@env_hash = configuration_hash
|
18
|
+
@env_hash.map do |key, hash|
|
19
|
+
@env_hash[key] = hash.values.last
|
20
|
+
end
|
21
|
+
@env_hash
|
22
|
+
end
|
23
|
+
|
24
|
+
def set_interactively
|
25
|
+
@env_hash = configuration_hash
|
26
|
+
@env_hash.map do |key, prompt|
|
27
|
+
answer = ask("Please provide #{prompt.keys.first} or hit enter to accept: \[ #{prompt.values.first} \]")
|
28
|
+
@env_hash[key] = (answer == "") ? prompt.values.first : answer
|
29
|
+
end
|
30
|
+
end
|
31
|
+
|
32
|
+
private
|
33
|
+
|
34
|
+
def configuration_hash
|
35
|
+
{
|
36
|
+
app_name: {
|
37
|
+
"the name of your app" => `pwd`.split('/').last.strip! },
|
38
|
+
ruby_version: {
|
39
|
+
"the version of ruby you'd like" => `ruby -v`.scan(/\d.\d/).first },
|
40
|
+
server_host: {
|
41
|
+
"the ip address of your server" => "ip-address-of-your-server"},
|
42
|
+
database_container: {
|
43
|
+
"the name of your database container" => "database"},
|
44
|
+
frontend_container: {
|
45
|
+
"the name of your frontend container" => "frontend"},
|
46
|
+
server_container: {
|
47
|
+
"the name of your server container" => "nginx"},
|
48
|
+
dockerhub_email: {
|
49
|
+
"your Docker Hub email" => "your-docker-hub-email"},
|
50
|
+
dockerhub_user: {
|
51
|
+
"your Docker Hub username" => "your-docker-hub-user-name" },
|
52
|
+
dockerhub_org: {
|
53
|
+
"your Docker Hub organization name" => "your-docker-hub-org-name"},
|
54
|
+
dockerhub_password: {
|
55
|
+
"your Docker Hub password" => "your-docker-hub-password"},
|
56
|
+
postgres_user: {
|
57
|
+
"your Postgres username" => "postgres"},
|
58
|
+
postgres_password: {
|
59
|
+
"your Postgres password" => "your-postgres-password"} }
|
60
|
+
end
|
61
|
+
end
|
62
|
+
end
|
63
|
+
end
|
@@ -0,0 +1,23 @@
|
|
1
|
+
|
2
|
+
module Roro
|
3
|
+
|
4
|
+
class CLI < Thor
|
5
|
+
|
6
|
+
no_commands do
|
7
|
+
|
8
|
+
def insert_roro_gem_into_gemfile
|
9
|
+
insert_into_file 'Gemfile', "gem 'roro'", before: "group :development, :test do"
|
10
|
+
end
|
11
|
+
|
12
|
+
def insert_pg_gem_into_gemfile
|
13
|
+
comment_lines 'Gemfile', /sqlite/
|
14
|
+
comment_lines 'Gemfile', /mysql/
|
15
|
+
insert_into_file 'Gemfile', "gem 'pg'\n", before: "group :development, :test do"
|
16
|
+
end
|
17
|
+
|
18
|
+
def insert_hfci_gem_into_gemfile
|
19
|
+
insert_into_file 'Gemfile', "gem 'handsome_fencer-test'", after: "group :development, :test do"
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
@@ -0,0 +1,17 @@
|
|
1
|
+
|
2
|
+
module Roro
|
3
|
+
|
4
|
+
class CLI < Thor
|
5
|
+
|
6
|
+
no_commands do
|
7
|
+
|
8
|
+
def config_std_out_true
|
9
|
+
prepend_to_file('config/boot.rb', "$stdout.sync = true\n\n", @env_hash[:use_force])
|
10
|
+
end
|
11
|
+
|
12
|
+
def gitignore_sensitive_files
|
13
|
+
append_to_file ".gitignore", "\nroro/**/*.env\nroro/**/*.key"
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
@@ -16,7 +16,7 @@ module Roro
|
|
16
16
|
end
|
17
17
|
|
18
18
|
desc "generate_key", "Generate a key for each environment"
|
19
|
-
method_option :environment, type: :
|
19
|
+
method_option :environment, type: :hash, default: {}, desc: "Pass a list of environment variables like so: env:var", banner: "development, staging"
|
20
20
|
|
21
21
|
def generate_key(*args)
|
22
22
|
environments = args.first ? [args.first] : gather_environments
|
data/lib/roro/cli/greenfield.rb
CHANGED
@@ -11,20 +11,24 @@ module Roro
|
|
11
11
|
method_option :env_vars, type: :hash, default: {}, desc: "Pass a list of environment variables like so: env:var", banner: "key1:value1 key2:value2"
|
12
12
|
method_option :interactive, desc: "Set up your environment variables as you go."
|
13
13
|
method_option :force, desc: "force over-write of existing files"
|
14
|
-
|
14
|
+
|
15
|
+
|
15
16
|
def greenfield
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
as_system('sudo docker-compose build')
|
22
|
-
as_system('mv -f config/database.yml.example config/database.yml')
|
23
|
-
as_system('docker-compose up --build --force-recreate -d ')
|
24
|
-
as_system 'docker-compose run web bin/rails db:create'
|
17
|
+
get_configuration_variables
|
18
|
+
@env_hash[:use_force] = { force: true }
|
19
|
+
template 'greenfield/Dockerfile.tt', 'Dockerfile', @env_hash
|
20
|
+
system "DOCKER_BUILDKIT=1 docker build --file Dockerfile --output . ."
|
21
|
+
rollon_as_dockerized
|
25
22
|
end
|
26
|
-
|
23
|
+
|
27
24
|
no_commands do
|
25
|
+
|
26
|
+
def copy_greenfield_files
|
27
|
+
template 'greenfield/Dockerfile.tt', 'Dockerfile', @env_hash
|
28
|
+
template 'greenfield/docker-compose.yml', 'docker-compose.yml'
|
29
|
+
copy_file 'greenfield/Gemfile', 'Gemfile'
|
30
|
+
copy_file 'greenfield/Gemfile.lock', 'Gemfile.lock'
|
31
|
+
end
|
28
32
|
|
29
33
|
def as_system(command)
|
30
34
|
command = OS.linux? ? "sudo #{command}" : command
|
data/lib/roro/cli/rollon.rb
CHANGED
@@ -1,21 +1,28 @@
|
|
1
|
+
require_relative 'rollon/use_cases'
|
2
|
+
|
1
3
|
module Roro
|
2
4
|
|
3
5
|
class CLI < Thor
|
4
6
|
|
5
|
-
|
6
|
-
|
7
|
+
desc "rollon", "Generates files and makes changes to your rails app necessary
|
8
|
+
to run it using Docker containers."
|
7
9
|
method_option :interactive, desc: "Set up your environment variables as you go."
|
8
10
|
|
9
11
|
def rollon
|
10
|
-
|
11
|
-
if
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
12
|
+
# if Dir['./*'].empty?
|
13
|
+
# raise Roro::Error.new("Oops -- Roro can't roll itself onto a Rails app if it
|
14
|
+
# doesn't exist. Please either change into a directory with a Rails app or
|
15
|
+
# generate a new one using '$ roro greenfield'.")
|
16
|
+
# end
|
17
|
+
get_configuration_variables
|
18
|
+
# case ask("Configure using the Quickstart, Curated, or HandsomeFencer way?\n\n(1) Quikstart\n\n(2) Curated\n\n(3) HandsomeFencer\n\n", { default: '2', limited_to: %w(1 2 3) })
|
19
|
+
# when '1'
|
20
|
+
# rollon_as_quickstart
|
21
|
+
# when '2'
|
22
|
+
# rollon_as_dockerized
|
23
|
+
# when '3'
|
24
|
+
# end
|
25
|
+
rollon_as_dockerized
|
19
26
|
end
|
20
27
|
end
|
21
|
-
end
|
28
|
+
end
|
@@ -0,0 +1,28 @@
|
|
1
|
+
module Roro
|
2
|
+
|
3
|
+
class CLI < Thor
|
4
|
+
|
5
|
+
no_commands do
|
6
|
+
|
7
|
+
def rollon_as_dockerized
|
8
|
+
copy_dockerignore
|
9
|
+
if @env_hash[:use_force][:force]
|
10
|
+
config_std_out_true
|
11
|
+
else
|
12
|
+
if ask('Configure $stdout.sync for docker?', choices).eql?('y')
|
13
|
+
end
|
14
|
+
end
|
15
|
+
copy_config_database_yml
|
16
|
+
insert_pg_gem_into_gemfile
|
17
|
+
copy_file 'dockerize/docker-compose.yml', 'docker-compose.yml'
|
18
|
+
template "dockerize/Dockerfile", 'Dockerfile', @env_hash
|
19
|
+
copy_file 'dockerize/docker-entrypoint.sh', 'docker-entrypoint.sh'
|
20
|
+
directory 'dockerize/.env', '.env'
|
21
|
+
system 'docker-compose build'
|
22
|
+
system 'docker-compose run --no-deps web bin/rails webpacker:install'
|
23
|
+
system 'docker-compose up'
|
24
|
+
copy_host_example
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
28
|
+
end
|
@@ -0,0 +1,17 @@
|
|
1
|
+
module Roro
|
2
|
+
class CLI < Thor
|
3
|
+
|
4
|
+
no_commands do
|
5
|
+
|
6
|
+
def rollon_as_quickstart
|
7
|
+
copy_file "quickstart/docker-compose.yml", 'docker-compose.yml'
|
8
|
+
copy_file "quickstart/entrypoint.sh", 'entrypoint.sh'
|
9
|
+
copy_file "quickstart/database.yml", "config/database.yml"
|
10
|
+
template "quickstart/Dockerfile", 'Dockerfile', @env_hash
|
11
|
+
|
12
|
+
insert_pg_gem_into_gemfile
|
13
|
+
system 'sudo chown -R $USER .'
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
@@ -0,0 +1,30 @@
|
|
1
|
+
module Roro
|
2
|
+
|
3
|
+
class CLI < Thor
|
4
|
+
|
5
|
+
no_commands do
|
6
|
+
|
7
|
+
def rollon_as_roro
|
8
|
+
if Dir['./*'].empty?
|
9
|
+
raise Roro::Error.new("Oops -- Roro can't roll itself onto a Rails app if it doesn't exist. Please either change into a directory with a Rails app or generate a new one using '$ roro greenfield'.")
|
10
|
+
end
|
11
|
+
if ask('Configure $stdout.sync for docker?', choices).eql?('y')
|
12
|
+
config_std_out_true
|
13
|
+
end
|
14
|
+
if ask('Configure .gitignore for roro?', choices).eql?('y')
|
15
|
+
gitignore_sensitive_files
|
16
|
+
end
|
17
|
+
if ask('Add RoRo to your Gemfile?', choices).eql?('y')
|
18
|
+
insert_roro_gem_into_gemfile
|
19
|
+
end
|
20
|
+
if ask('Add handsome_fencer-test to your Gemfile?', choices).eql?('y')
|
21
|
+
insert_hfci_gem_into_gemfile
|
22
|
+
end
|
23
|
+
if ask("Backup 'config/database.yml'?").eql?('y')
|
24
|
+
FileUtils.mv 'config/database.yml', "config/database.yml.backup"
|
25
|
+
end
|
26
|
+
copy_base_files
|
27
|
+
end
|
28
|
+
end
|
29
|
+
end
|
30
|
+
end
|
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,13 @@
|
|
1
|
+
# Git
|
2
|
+
.git # <label id="chapter.fine-tuning-our-rails-image.dockerignore.git-history" />
|
3
|
+
.gitignore # <label id="chapter.fine-tuning-our-rails-image.dockerignore.gitignore" />
|
4
|
+
|
5
|
+
# Logs
|
6
|
+
log/* # <label id="chapter.fine-tuning-our-rails-image.dockerignore.log_dir" />
|
7
|
+
|
8
|
+
# Temp files
|
9
|
+
tmp/* # <label id="chapter.fine-tuning-our-rails-image.dockerignore.tmp_dir" />
|
10
|
+
|
11
|
+
# Editor temp files
|
12
|
+
*.swp # <label id="chapter.fine-tuning-our-rails-image.dockerignore.vim_swp_files" />
|
13
|
+
*.swo # <label id="chapter.fine-tuning-our-rails-image.dockerignore.vim_swo_files" />
|