roro 0.3.5 → 0.3.6

Sign up to get free protection for your applications and to get access to all the features.
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