roro 0.3.5 → 0.3.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (60) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +3 -0
  3. data/Guardfile +9 -5
  4. data/lib/roro.rb +1 -1
  5. data/lib/roro/cli.rb +5 -1
  6. data/lib/roro/cli/base/base.rb +2 -1
  7. data/lib/roro/cli/base/base_files.rb +1 -7
  8. data/lib/roro/cli/base/check_dependencies.rb +98 -0
  9. data/lib/roro/cli/base/insert_gems.rb +15 -7
  10. data/lib/roro/cli/base/insertions.rb +3 -1
  11. data/lib/roro/cli/configuration.rb +68 -0
  12. data/lib/roro/cli/generate/config.rb +13 -0
  13. data/lib/roro/cli/generate/config/rails.rb +17 -0
  14. data/lib/roro/cli/generate/generate.rb +1 -0
  15. data/lib/roro/cli/generate/generate_keys.rb +79 -0
  16. data/lib/roro/cli/greenfield.rb +15 -16
  17. data/lib/roro/cli/rollon.rb +66 -20
  18. data/lib/roro/cli/rollon/database/database.rb +31 -0
  19. data/lib/roro/cli/rollon/database/with_mysql.rb +22 -0
  20. data/lib/roro/cli/rollon/database/with_postgres.rb +21 -0
  21. data/lib/roro/cli/rollon/stories.rb +3 -3
  22. data/lib/roro/cli/roro_configurator.yml +157 -0
  23. data/{.keep → lib/roro/cli/templates/base/.env/.keep} +0 -0
  24. data/lib/roro/cli/templates/base/.env/database.mysql.env.tt +4 -0
  25. data/lib/roro/cli/templates/base/.env/database.pg.env.tt +5 -0
  26. data/lib/roro/cli/templates/base/.env/web.env.tt +1 -0
  27. data/lib/roro/cli/templates/base/.roro_config.yml +15 -0
  28. data/lib/roro/cli/templates/base/Dockerfile.tt +44 -0
  29. data/lib/roro/cli/templates/base/config/database.mysql.yml +19 -0
  30. data/lib/roro/cli/templates/base/config/{database.yml.pg.tt → database.pg.yml} +0 -0
  31. data/lib/roro/cli/templates/{base/circleci → circleci}/config.yml.tt +0 -0
  32. data/lib/roro/cli/templates/greenfield/Dockerfile.tt +29 -7
  33. data/lib/roro/cli/templates/{base/livereload → livereload}/hosts.example +0 -0
  34. data/lib/roro/cli/templates/{base/roro → roro}/.keep +0 -0
  35. data/lib/roro/cli/templates/{greenfield → roro}/docker-compose.yml.tt +18 -13
  36. data/lib/roro/cli/templates/{base/roro/containers → roro/roro}/.keep +0 -0
  37. data/lib/roro/cli/templates/{base/roro/containers/app → roro/roro/containers}/.keep +0 -0
  38. data/lib/roro/cli/templates/{base/roro/containers/frontend → roro/roro/containers/app}/.keep +0 -0
  39. data/lib/roro/cli/templates/roro/roro/containers/frontend/.keep +0 -0
  40. data/lib/roro/cli/templates/roro/roro/docker-entrypoint.sh.tt +8 -0
  41. data/lib/roro/cli/templates/stories/.keep +0 -0
  42. data/lib/roro/cli/templates/stories/with_mysql/_service.yml +10 -0
  43. data/lib/roro/cli/templates/stories/with_postgresql/.keep +0 -0
  44. data/lib/roro/cli/templates/stories/with_postgresql/_service.yml +7 -0
  45. data/lib/roro/version.rb +1 -1
  46. metadata +33 -25
  47. data/lib/roro/cli/base/configuration.rb +0 -118
  48. data/lib/roro/cli/rollon/rollon_as_dockerize.rb +0 -42
  49. data/lib/roro/cli/rollon/rollon_as_quickstart.rb +0 -17
  50. data/lib/roro/cli/rollon/rollon_as_roro.rb +0 -30
  51. data/lib/roro/cli/templates/base/docker-compose.yml.tt +0 -53
  52. data/lib/roro/cli/templates/base/pg/config/database.yml.pg.tt +0 -20
  53. data/lib/roro/cli/templates/base/pg/database.yml.pg.tt +0 -20
  54. data/lib/roro/cli/templates/base/roro/containers/app/Dockerfile.tt +0 -32
  55. data/lib/roro/cli/templates/base/roro/containers/app/development.env.tt +0 -1
  56. data/lib/roro/cli/templates/base/roro/containers/app/docker-entrypoint.sh +0 -8
  57. data/lib/roro/cli/templates/base/roro/containers/app/test.env.tt +0 -1
  58. data/lib/roro/cli/templates/base/roro/containers/database/development.env.tt +0 -4
  59. data/lib/roro/cli/templates/base/roro/containers/database/test.env.tt +0 -4
  60. data/roro-0.3.4.gem +0 -0
@@ -1,17 +0,0 @@
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
@@ -1,30 +0,0 @@
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
@@ -1,53 +0,0 @@
1
- version: '3.2'
2
-
3
- services:
4
- chrome:
5
- image: selenium/standalone-chrome-debug
6
- volumes:
7
- - /dev/shm:/dev/shm
8
- <%= config[:app_name] %>:
9
- build:
10
- context: .
11
- dockerfile: roro/containers/<%= config[:app_name] %>/Dockerfile
12
-
13
- depends_on:
14
- - <%= config[:database_container] %>
15
- ports:
16
- - "35729:35729"
17
- - "3000:3000"
18
- volumes:
19
- - <%= config[:app_name] %>-data:/usr/src/<%= config[:app_name] %>
20
- - gem_cache:/gems
21
- env_file:
22
- - roro/containers/<%= config[:database_container] %>/development.env
23
- - roro/containers/<%= config[:app_name] %>/development.env
24
- command: [ "bin/rails", "s" ]
25
-
26
- stdin_open: true
27
- tty: true
28
- secrets:
29
- - host_ssh_key
30
-
31
- <%= config[:database_container] %>:
32
- image: postgres
33
-
34
- env_file:
35
- - roro/containers/<%= config[:database_container] %>/development.env
36
-
37
- volumes:
38
- - <%= config[:database_container] %>-data:/var/lib/postgresql/data
39
-
40
- web:
41
- depends_on:
42
- - <%= config[:app_name] %>
43
- build:
44
- context: .
45
- dockerfile: roro/containers/web/Dockerfile
46
- volumes:
47
- <%= config[:database_container] %>-data:
48
- gem_cache:
49
- <%= config[:app_name] %>-data:
50
-
51
- secrets:
52
- host_ssh_key:
53
- file: ~/.ssh/id_rsa
@@ -1,20 +0,0 @@
1
- default: &default
2
- adapter: postgresql
3
- encoding: unicode
4
- host: <%= ENV.fetch('DATABASE_HOST') %>
5
- username: <%= ENV.fetch('POSTGRES_USER') %>
6
- password: <%= ENV.fetch('POSTGRES_PASSWORD') %>
7
- database: <%= ENV.fetch('POSTGRES_DB') %>
8
- pool: 5
9
- variables:
10
- statement_timeout: 5000
11
-
12
- development:
13
- <<: *default
14
-
15
- test:
16
- <<: *default
17
-
18
-
19
- production:
20
- <<: *default
@@ -1,20 +0,0 @@
1
- default: &default
2
- adapter: postgresql
3
- encoding: unicode
4
- host: <%= ENV.fetch('DATABASE_HOST') %>
5
- username: <%= ENV.fetch('POSTGRES_USER') %>
6
- password: <%= ENV.fetch('POSTGRES_PASSWORD') %>
7
- database: <%= ENV.fetch('POSTGRES_DB') %>
8
- pool: 5
9
- variables:
10
- statement_timeout: 5000
11
-
12
- development:
13
- <<: *default
14
-
15
- test:
16
- <<: *default
17
-
18
-
19
- production:
20
- <<: *default
@@ -1,32 +0,0 @@
1
- FROM ruby:<%= config[:ruby_version] %>
2
- LABEL maintainer="<%= config[:dockerhub_email] %>"
3
- # COPY docker/containers/web/app.conf /tmp/<%= config[:app_name] %>.nginx
4
-
5
- # Allow apt to work with https-based sources
6
- RUN apt-get update -yqq && apt-get install -yqq --no-install-recommends \
7
- apt-transport-https
8
-
9
- # Ensure we install an up-to-date version of Node
10
- # See https://github.com/yarnpkg/yarn/issues/2888
11
- RUN curl -sL https://deb.nodesource.com/setup_8.x | bash -
12
-
13
- # Ensure latest packages for Yarn
14
- RUN curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | apt-key add -
15
- RUN echo "deb https://dl.yarnpkg.com/debian/ stable main" | \
16
- tee /etc/apt/sources.list.d/yarn.list
17
-
18
- # Install packages
19
- RUN apt-get update -yqq && apt-get install -yqq --no-install-recommends \
20
- nodejs \
21
- yarn
22
-
23
- COPY Gemfile* /usr/src/<%= config[:app_name] %>/
24
- WORKDIR /usr/src/<%= config[:app_name] %>
25
-
26
- ENV BUNDLE_PATH /gems
27
-
28
- RUN bundle install
29
-
30
- COPY . /usr/src/<%= config[:app_name] %>/
31
-
32
- ENTRYPOINT ["roro/containers/web/docker-entrypoint.sh"]
@@ -1 +0,0 @@
1
- DATABASE_HOST=<%= config[:database_container] %>
@@ -1,8 +0,0 @@
1
- #!/bin/sh
2
- set -e
3
-
4
- if [ -f tmp/pids/server.pid ]; then
5
- rm tmp/pids/server.pid
6
- fi
7
-
8
- exec "$@"
@@ -1 +0,0 @@
1
- DATABASE_HOST=<%= config[:database_container] %>
@@ -1,4 +0,0 @@
1
- POSTGRES_USER=<%= config[:postgres_user] %>
2
- POSTGRES_PASSWORD=<%= config[:postgres_password] %>
3
- POSTGRES_DB=<%= config[:app_name] + '_development' %>
4
- RAILS_ENV=development
@@ -1,4 +0,0 @@
1
- POSTGRES_USER=<%= config[:postgres_user] %>
2
- POSTGRES_PASSWORD=<%= config[:postgres_password] %>
3
- POSTGRES_DB=<%= config[:app_name] + '_test' %>
4
- RAILS_ENV=test
Binary file