roro 0.3.2 → 0.3.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.gitignore +15 -8
- data/Guardfile +4 -7
- data/lib/roro.rb +1 -1
- data/lib/roro/cli.rb +74 -6
- 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/cli.rb +99 -0
- data/lib/roro/cli/configuration.rb +69 -0
- data/lib/roro/cli/expose.rb +8 -7
- 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/generate_keys.rb +47 -0
- data/lib/roro/cli/greenfield.rb +22 -87
- data/lib/roro/cli/obfuscate.rb +10 -11
- data/lib/roro/cli/rollon.rb +74 -11
- data/lib/roro/cli/rollon/stories.rb +3 -0
- data/{docker/env_files/.keep → lib/roro/cli/rollon/stories/database.rb} +0 -0
- data/lib/roro/cli/rollon/stories/rails.rb +1 -0
- data/lib/roro/cli/rollon/stories/rails/database/database.rb +31 -0
- data/lib/roro/cli/rollon/stories/rails/database/with_mysql.rb +22 -0
- data/lib/roro/cli/rollon/stories/rails/database/with_postgres.rb +21 -0
- data/lib/roro/cli/rollon/stories/ruby_gem.rb +77 -0
- data/lib/roro/cli/rollon/stories/ruby_gem/with_ci_cd.rb +60 -0
- data/lib/roro/cli/rollon/stories/stories.rb +7 -0
- data/lib/roro/cli/roro_configurator.yml +157 -0
- data/lib/roro/cli/ruby_gem.rb +61 -42
- data/lib/roro/cli/templates/base/.dockerignore +51 -0
- data/{docker/keys → 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 +82 -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/lib/roro/cli/templates/{docker/containers/database → 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/env_files → 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/{docker/keys → roro}/.keep +0 -0
- data/lib/roro/cli/templates/roro/docker-compose.yml.tt +60 -0
- data/lib/roro/cli/templates/{ruby_gem/docker/env_files → roro/roro}/.keep +0 -0
- data/lib/roro/cli/templates/{ruby_gem/docker/keys → roro/roro/containers}/.keep +0 -0
- data/{test_apps/dummy/app/assets/images → lib/roro/cli/templates/roro/roro/containers/app}/.keep +0 -0
- data/{test_apps/dummy/app/assets/javascripts/channels → 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/{config.yml → .circleci/config.yml} +0 -0
- data/lib/roro/cli/templates/ruby_gem/docker-compose.yml +3 -3
- data/lib/roro/cli/templates/ruby_gem/roro/containers/gem/Dockerfile.tt +9 -0
- data/{test_apps/dummy/app/controllers/concerns → lib/roro/cli/templates/ruby_gem/roro/env_files}/.keep +0 -0
- data/{test_apps/dummy/app/models/concerns → lib/roro/cli/templates/ruby_gem/roro/keys}/.keep +0 -0
- data/{test_apps/dummy/lib/assets → 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/tasks → 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 +7 -4
- data/{test_apps/dummy/log → sandbox}/.keep +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/gem-release-2.1.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 +163 -281
- 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/generate_keys.rb +0 -79
- 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/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/greenfield/docker-compose.yml +0 -15
- data/lib/roro/cli/templates/lib/tasks/deploy.rake +0 -126
- data/lib/roro/cli/templates/ruby_gem/docker/containers/app/Dockerfile.tt +0 -10
- 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/database.yml +0 -85
- 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
@@ -0,0 +1,22 @@
|
|
1
|
+
module Roro
|
2
|
+
|
3
|
+
class CLI < Thor
|
4
|
+
|
5
|
+
no_commands do
|
6
|
+
|
7
|
+
def configure_for_mysql
|
8
|
+
insert_db_gem('mysql2')
|
9
|
+
copy_file 'base/config/database.mysql.yml', 'config/database.yml', force: true
|
10
|
+
config = @config.app.clone
|
11
|
+
|
12
|
+
%w(development production test staging ci).each do |environment|
|
13
|
+
config['rails_env'] = environment
|
14
|
+
|
15
|
+
source = 'base/.env/database.mysql.env.tt'
|
16
|
+
target = "roro/containers/database/#{environment}.env"
|
17
|
+
template( source, target, config )
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
@@ -0,0 +1,21 @@
|
|
1
|
+
module Roro
|
2
|
+
|
3
|
+
class CLI < Thor
|
4
|
+
|
5
|
+
no_commands do
|
6
|
+
|
7
|
+
def configure_for_pg
|
8
|
+
insert_db_gem('pg')
|
9
|
+
copy_file 'base/config/database.pg.yml', 'config/database.yml', force: true
|
10
|
+
config = @config.app.clone
|
11
|
+
%w(development production test staging ci).each do |environment|
|
12
|
+
config['rails_env'] = environment
|
13
|
+
|
14
|
+
source = 'base/.env/database.pg.env.tt'
|
15
|
+
target = "roro/containers/database/#{environment}.env"
|
16
|
+
template( source, target, config )
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
@@ -0,0 +1,77 @@
|
|
1
|
+
require 'roro/cli/rollon/stories/ruby_gem/with_ci_cd.rb'
|
2
|
+
# class RubyGem
|
3
|
+
# attr_reader :getsome
|
4
|
+
|
5
|
+
# def initialize
|
6
|
+
# @getsome = 'getsome'
|
7
|
+
# end
|
8
|
+
# end
|
9
|
+
|
10
|
+
# include Stories::RubyGem
|
11
|
+
# module Rollon
|
12
|
+
# module Story
|
13
|
+
|
14
|
+
# end
|
15
|
+
# end
|
16
|
+
# class Rollon::Story::RubyGem < Roro::CLI
|
17
|
+
# attr_reader :getsome
|
18
|
+
# def initialize
|
19
|
+
# @getsome = 'getsome'
|
20
|
+
# end
|
21
|
+
# end
|
22
|
+
|
23
|
+
# # module Roro
|
24
|
+
|
25
|
+
# # class CLI < Thor
|
26
|
+
|
27
|
+
|
28
|
+
# # no_commands do
|
29
|
+
|
30
|
+
# # def ruby_gem(*args)
|
31
|
+
|
32
|
+
|
33
|
+
# # end
|
34
|
+
# # def copy_ruby_gem_files
|
35
|
+
# # copy_file 'ruby_gem/config.yml', '.circleci/config.yml'
|
36
|
+
# # end
|
37
|
+
# # end
|
38
|
+
|
39
|
+
# # def ruby_gem
|
40
|
+
# # rubies = options["rubies"] || ["2.5.3", "2.6.0"]
|
41
|
+
# # copy_file 'ruby_gem/docker-compose.yml', 'docker-compose.yml'
|
42
|
+
# # copy_file 'ruby_gem/config.yml', '.circleci/config.yml'
|
43
|
+
# # copy_file 'ruby_gem/setup-gem-credentials.sh', '.circleci/setup-gem-credentials.sh'
|
44
|
+
# # directory 'ruby_gem/docker', 'docker', { ruby_version: "2.5"}
|
45
|
+
|
46
|
+
# # rubies.each do |ruby|
|
47
|
+
# # rubydash = ruby.gsub('.', '-')
|
48
|
+
# # rubyunderscore = ruby.gsub('.', '_')
|
49
|
+
# # doc_loc = "docker/containers/#{rubyunderscore}/Dockerfile"
|
50
|
+
# # content = <<-EOM
|
51
|
+
|
52
|
+
# # app-#{rubydash}:
|
53
|
+
# # build:
|
54
|
+
# # context: .
|
55
|
+
# # dockerfile: #{doc_loc}
|
56
|
+
# # command: rake test
|
57
|
+
# # EOM
|
58
|
+
# # append_to_file 'docker-compose.yml', content
|
59
|
+
# # template 'ruby_gem/docker/containers/app/Dockerfile.tt', doc_loc, {ruby_version: ruby}
|
60
|
+
# # # append_to_file 'docker-compose.yml', "\n app-#{ruby}:\n build:\n\s\s\s\s\s\scontext:"
|
61
|
+
# # end
|
62
|
+
|
63
|
+
# # # end
|
64
|
+
# # # <<EOF
|
65
|
+
# # # This is the first way of creating
|
66
|
+
# # # here document ie. multiple line string.
|
67
|
+
# # # EOF
|
68
|
+
# # # %w[app web].each do |container|
|
69
|
+
# # # options = {
|
70
|
+
# # # email: @env_hash['DOCKERHUB_EMAIL'],
|
71
|
+
# # # app_name: @env_hash['APP_NAME'] }
|
72
|
+
# # #
|
73
|
+
# # # template("docker/containers/#{container}/Dockerfile.tt", "docker/containers/#{container}/Dockerfile", options)
|
74
|
+
# # # end
|
75
|
+
# # end
|
76
|
+
# # end
|
77
|
+
# # end
|
@@ -0,0 +1,60 @@
|
|
1
|
+
module Roro
|
2
|
+
class CLI < Thor
|
3
|
+
|
4
|
+
desc "rollon::ruby_gem::with_ci_cd", "Generate files for containerized gem testing, CircleCI, and releasing to RubyGems."
|
5
|
+
method_option :rubies, type: :array, banner: "2.5.3 2.4.2"
|
6
|
+
map "rollon::ruby_gem::with_ci_cd" => "rollon_ruby_gem_with_ci_cd"
|
7
|
+
|
8
|
+
def rollon_ruby_gem_with_ci_cd(*args)
|
9
|
+
ruby_gem_with_ci_cd(*args)
|
10
|
+
end
|
11
|
+
|
12
|
+
no_commands do
|
13
|
+
def ruby_gem_with_ci_cd(*args)
|
14
|
+
configure_for_rollon
|
15
|
+
directory 'ruby_gem', './', @config.app
|
16
|
+
gitignore_sensitive_files
|
17
|
+
append_to_file ".gitignore", "Gemfile.lock\n"
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
22
|
+
# # def ruby_gem
|
23
|
+
# # rubies = options["rubies"] || ["2.5.3", "2.6.0"]
|
24
|
+
# # copy_file 'ruby_gem/docker-compose.yml', 'docker-compose.yml'
|
25
|
+
# # copy_file 'ruby_gem/config.yml', '.circleci/config.yml'
|
26
|
+
# # copy_file 'ruby_gem/setup-gem-credentials.sh', '.circleci/setup-gem-credentials.sh'
|
27
|
+
# # directory 'ruby_gem/docker', 'docker', { ruby_version: "2.5"}
|
28
|
+
|
29
|
+
# # rubies.each do |ruby|
|
30
|
+
# # rubydash = ruby.gsub('.', '-')
|
31
|
+
# # rubyunderscore = ruby.gsub('.', '_')
|
32
|
+
# # doc_loc = "docker/containers/#{rubyunderscore}/Dockerfile"
|
33
|
+
# # content = <<-EOM
|
34
|
+
|
35
|
+
# # app-#{rubydash}:
|
36
|
+
# # build:
|
37
|
+
# # context: .
|
38
|
+
# # dockerfile: #{doc_loc}
|
39
|
+
# # command: rake test
|
40
|
+
# # EOM
|
41
|
+
# # append_to_file 'docker-compose.yml', content
|
42
|
+
# # template 'ruby_gem/docker/containers/app/Dockerfile.tt', doc_loc, {ruby_version: ruby}
|
43
|
+
# # # append_to_file 'docker-compose.yml', "\n app-#{ruby}:\n build:\n\s\s\s\s\s\scontext:"
|
44
|
+
# # end
|
45
|
+
|
46
|
+
# # # end
|
47
|
+
# # # <<EOF
|
48
|
+
# # # This is the first way of creating
|
49
|
+
# # # here document ie. multiple line string.
|
50
|
+
# # # EOF
|
51
|
+
# # # %w[app web].each do |container|
|
52
|
+
# # # options = {
|
53
|
+
# # # email: @env_hash['DOCKERHUB_EMAIL'],
|
54
|
+
# # # app_name: @env_hash['APP_NAME'] }
|
55
|
+
# # #
|
56
|
+
# # # template("docker/containers/#{container}/Dockerfile.tt", "docker/containers/#{container}/Dockerfile", options)
|
57
|
+
# # # end
|
58
|
+
# # end
|
59
|
+
# # end
|
60
|
+
# # end
|
@@ -0,0 +1,157 @@
|
|
1
|
+
---
|
2
|
+
main_app_name: <%= Dir.pwd.split('/').last %>
|
3
|
+
developer:
|
4
|
+
name: your-name
|
5
|
+
email: your.email@example.com
|
6
|
+
|
7
|
+
services:
|
8
|
+
server_app:
|
9
|
+
name: app
|
10
|
+
vendors:
|
11
|
+
rails:
|
12
|
+
version:
|
13
|
+
image:
|
14
|
+
official_name: ruby
|
15
|
+
variants:
|
16
|
+
- alpine
|
17
|
+
- buster
|
18
|
+
- slim
|
19
|
+
- slim-buster
|
20
|
+
- stretch
|
21
|
+
|
22
|
+
choices:
|
23
|
+
|
24
|
+
config_std_out_true:
|
25
|
+
question: |
|
26
|
+
The team at Heroku, among others, recommend logging to STDOUT
|
27
|
+
and treating your logs as streams. We'll set this to
|
28
|
+
true as an environment variable but it may also be helpful
|
29
|
+
to configure './config/boot.rb' with '$stdout.sync = true'
|
30
|
+
just in case that doesn't work.
|
31
|
+
Would you like to configure this?
|
32
|
+
choices:
|
33
|
+
y: 'Yes'
|
34
|
+
n: 'No'
|
35
|
+
default: y
|
36
|
+
|
37
|
+
insert_roro_gem_into_gemfile:
|
38
|
+
question: |
|
39
|
+
Many developers believe it's good idea to secure sensitive
|
40
|
+
environment files and variables. You can use RoRo to
|
41
|
+
generate secret keys known only to you for use in any
|
42
|
+
environment, and then use them to encrypt and decrypt
|
43
|
+
these files. Would you like to add RoRo to your Gemfile?
|
44
|
+
choices:
|
45
|
+
y: 'Yes'
|
46
|
+
n: 'No'
|
47
|
+
default: y
|
48
|
+
|
49
|
+
gitignore_sensitive_files:
|
50
|
+
question: |
|
51
|
+
If you plan to use the environment files RoRo generates for
|
52
|
+
your own environment variables, it's a good idea to keep
|
53
|
+
these files out of source control. Would you like RoRo to
|
54
|
+
modify your .gitignore file to accomplish this for you ?
|
55
|
+
choices:
|
56
|
+
y: 'Yes'
|
57
|
+
n: 'No'
|
58
|
+
default: y
|
59
|
+
|
60
|
+
insert_hfci_gem_into_gemfile:
|
61
|
+
question: |
|
62
|
+
Jim Weirich passed too soon and remains missed. In addition
|
63
|
+
to Rake, Jim wrote a beautiful gem called 'Given' that makes
|
64
|
+
Rspec and Minitest less ugly and thus your tests more easy to
|
65
|
+
write. Would you like to install a gem called
|
66
|
+
handsome_fencer-test that allows you to try it out?
|
67
|
+
choices:
|
68
|
+
y: 'Yes'
|
69
|
+
n: 'No'
|
70
|
+
default: n
|
71
|
+
|
72
|
+
backup_existing_files:
|
73
|
+
question: |
|
74
|
+
RoRo will be generating a number of files, some of which will
|
75
|
+
replace existing ones. Would you like to back them up?
|
76
|
+
choices:
|
77
|
+
y: 'Yes'
|
78
|
+
n: 'No'
|
79
|
+
default: n
|
80
|
+
|
81
|
+
copy_dockerignore:
|
82
|
+
question: |
|
83
|
+
Would you like to create a .dockerignore file?
|
84
|
+
choices:
|
85
|
+
y: 'Yes'
|
86
|
+
n: 'No'
|
87
|
+
default: y
|
88
|
+
|
89
|
+
configure_database:
|
90
|
+
question: |
|
91
|
+
RoRo can reliably dockerize your Rails app with either
|
92
|
+
MySQL or PostgreSQL stories. Which story would you prefer
|
93
|
+
to roll on?
|
94
|
+
choices:
|
95
|
+
p: PostgreSQL
|
96
|
+
m: MySQL
|
97
|
+
default: p
|
98
|
+
|
99
|
+
env_vars:
|
100
|
+
DATABASE_HOST: database
|
101
|
+
|
102
|
+
database:
|
103
|
+
name: database
|
104
|
+
vendor: postgresql
|
105
|
+
vendors:
|
106
|
+
postgresql:
|
107
|
+
images:
|
108
|
+
official_name:
|
109
|
+
versions:
|
110
|
+
- latest
|
111
|
+
env_vars:
|
112
|
+
POSTGRES_USER: postgres
|
113
|
+
POSTGRES_PASSWORD: your-postgres-password
|
114
|
+
|
115
|
+
mysql:
|
116
|
+
env_vars:
|
117
|
+
MYSQL_ROOT_PASSWORD: root
|
118
|
+
MYSQL_PASSWORD: root
|
119
|
+
MYSQL_USERNAME: root
|
120
|
+
MYSQL_DATABASE_PORT: '3306'
|
121
|
+
|
122
|
+
frontend:
|
123
|
+
name: frontend
|
124
|
+
vendors:
|
125
|
+
|
126
|
+
- frontend
|
127
|
+
- vuejs
|
128
|
+
- react
|
129
|
+
- angular
|
130
|
+
webserver:
|
131
|
+
default: nginx
|
132
|
+
vendors:
|
133
|
+
- nginx
|
134
|
+
application_server:
|
135
|
+
name: appserver
|
136
|
+
vendors:
|
137
|
+
- unicorn:
|
138
|
+
- puma:
|
139
|
+
registries:
|
140
|
+
dockerhub:
|
141
|
+
env_vars:
|
142
|
+
DOCKERHUB_EMAIL: your-docker-hub-email
|
143
|
+
DOCKERHUB_ORG: your-docker-hub-org-name
|
144
|
+
DOCKERHUB_PASSWORD: your-docker-hub-password
|
145
|
+
DOCKERHUB_USER: your-docker-hub-user-name
|
146
|
+
|
147
|
+
ci_cd:
|
148
|
+
semaphore:
|
149
|
+
circleci:
|
150
|
+
env_vars:
|
151
|
+
DEPLOY_TAG: "${CIRCLE_SHA1:0:7}"
|
152
|
+
|
153
|
+
deployment:
|
154
|
+
env_vars:
|
155
|
+
SERVER_HOST: "ip-address-of-your-server"
|
156
|
+
SERVER_PORT: '22'
|
157
|
+
SERVER_USER: root
|
data/lib/roro/cli/ruby_gem.rb
CHANGED
@@ -1,48 +1,67 @@
|
|
1
|
-
module
|
1
|
+
# module Rollon
|
2
|
+
# module Story
|
3
|
+
|
4
|
+
# end
|
5
|
+
# end
|
6
|
+
# class Rollon::Story::RubyGem < Roro::CLI
|
7
|
+
# attr_reader :getsome
|
8
|
+
# def initialize
|
9
|
+
# @getsome = 'getsome'
|
10
|
+
# end
|
11
|
+
# end
|
2
12
|
|
3
|
-
|
13
|
+
# # module Roro
|
4
14
|
|
5
|
-
|
15
|
+
# # class CLI < Thor
|
6
16
|
|
7
|
-
|
8
|
-
|
17
|
+
|
18
|
+
# # no_commands do
|
19
|
+
|
20
|
+
# # def ruby_gem(*args)
|
21
|
+
|
22
|
+
|
23
|
+
# # end
|
24
|
+
# # def copy_ruby_gem_files
|
25
|
+
# # copy_file 'ruby_gem/config.yml', '.circleci/config.yml'
|
26
|
+
# # end
|
27
|
+
# # end
|
28
|
+
|
29
|
+
# # def ruby_gem
|
30
|
+
# # rubies = options["rubies"] || ["2.5.3", "2.6.0"]
|
31
|
+
# # copy_file 'ruby_gem/docker-compose.yml', 'docker-compose.yml'
|
32
|
+
# # copy_file 'ruby_gem/config.yml', '.circleci/config.yml'
|
33
|
+
# # copy_file 'ruby_gem/setup-gem-credentials.sh', '.circleci/setup-gem-credentials.sh'
|
34
|
+
# # directory 'ruby_gem/docker', 'docker', { ruby_version: "2.5"}
|
9
35
|
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
directory 'ruby_gem/docker', 'docker', { ruby_version: "2.5"}
|
36
|
+
# # rubies.each do |ruby|
|
37
|
+
# # rubydash = ruby.gsub('.', '-')
|
38
|
+
# # rubyunderscore = ruby.gsub('.', '_')
|
39
|
+
# # doc_loc = "docker/containers/#{rubyunderscore}/Dockerfile"
|
40
|
+
# # content = <<-EOM
|
16
41
|
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
42
|
+
# # app-#{rubydash}:
|
43
|
+
# # build:
|
44
|
+
# # context: .
|
45
|
+
# # dockerfile: #{doc_loc}
|
46
|
+
# # command: rake test
|
47
|
+
# # EOM
|
48
|
+
# # append_to_file 'docker-compose.yml', content
|
49
|
+
# # template 'ruby_gem/docker/containers/app/Dockerfile.tt', doc_loc, {ruby_version: ruby}
|
50
|
+
# # # append_to_file 'docker-compose.yml', "\n app-#{ruby}:\n build:\n\s\s\s\s\s\scontext:"
|
51
|
+
# # end
|
22
52
|
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
#
|
36
|
-
#
|
37
|
-
#
|
38
|
-
# EOF
|
39
|
-
# %w[app web].each do |container|
|
40
|
-
# options = {
|
41
|
-
# email: @env_hash['DOCKERHUB_EMAIL'],
|
42
|
-
# app_name: @env_hash['APP_NAME'] }
|
43
|
-
#
|
44
|
-
# template("docker/containers/#{container}/Dockerfile.tt", "docker/containers/#{container}/Dockerfile", options)
|
45
|
-
# end
|
46
|
-
end
|
47
|
-
end
|
48
|
-
end
|
53
|
+
# # # end
|
54
|
+
# # # <<EOF
|
55
|
+
# # # This is the first way of creating
|
56
|
+
# # # here document ie. multiple line string.
|
57
|
+
# # # EOF
|
58
|
+
# # # %w[app web].each do |container|
|
59
|
+
# # # options = {
|
60
|
+
# # # email: @env_hash['DOCKERHUB_EMAIL'],
|
61
|
+
# # # app_name: @env_hash['APP_NAME'] }
|
62
|
+
# # #
|
63
|
+
# # # template("docker/containers/#{container}/Dockerfile.tt", "docker/containers/#{container}/Dockerfile", options)
|
64
|
+
# # # end
|
65
|
+
# # end
|
66
|
+
# # end
|
67
|
+
# # end
|