wellcar 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (58) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +5 -0
  3. data/.rspec +1 -0
  4. data/Gemfile +2 -0
  5. data/Gemfile.lock +38 -0
  6. data/README.markdown +17 -0
  7. data/README.rdoc +6 -0
  8. data/Rakefile +44 -0
  9. data/bin/wellcar +442 -0
  10. data/command_history_example.txt +39 -0
  11. data/lib/wellcar.rb +18 -0
  12. data/lib/wellcar/templates/base.rb +61 -0
  13. data/lib/wellcar/templates/build-production-image.yml.erb +34 -0
  14. data/lib/wellcar/templates/build_production_image.rb +18 -0
  15. data/lib/wellcar/templates/database.yml.erb +20 -0
  16. data/lib/wellcar/templates/database_yaml.rb +20 -0
  17. data/lib/wellcar/templates/docker-compose-init.yml.erb +34 -0
  18. data/lib/wellcar/templates/docker-compose.yml.erb +70 -0
  19. data/lib/wellcar/templates/docker-entrypoint.sh.erb +20 -0
  20. data/lib/wellcar/templates/docker-stack.yml.erb +35 -0
  21. data/lib/wellcar/templates/docker_compose.rb +22 -0
  22. data/lib/wellcar/templates/docker_entrypoint.rb +13 -0
  23. data/lib/wellcar/templates/docker_stack.rb +23 -0
  24. data/lib/wellcar/templates/dockerfile.erb +48 -0
  25. data/lib/wellcar/templates/dockerfile.rb +13 -0
  26. data/lib/wellcar/templates/dockerfile_init.erb +38 -0
  27. data/lib/wellcar/templates/dockerfile_init.rb +18 -0
  28. data/lib/wellcar/templates/dockerignore.erb +10 -0
  29. data/lib/wellcar/templates/dockerignore.rb +12 -0
  30. data/lib/wellcar/templates/env_development_database.erb +3 -0
  31. data/lib/wellcar/templates/env_development_database.rb +13 -0
  32. data/lib/wellcar/templates/env_development_web.erb +1 -0
  33. data/lib/wellcar/templates/env_development_web.rb +14 -0
  34. data/lib/wellcar/templates/env_production_database.erb +3 -0
  35. data/lib/wellcar/templates/env_production_database.rb +14 -0
  36. data/lib/wellcar/templates/env_production_web.erb +5 -0
  37. data/lib/wellcar/templates/env_production_web.rb +14 -0
  38. data/lib/wellcar/templates/reverse_proxy.conf.erb +12 -0
  39. data/lib/wellcar/templates/reverse_proxy_conf.rb +14 -0
  40. data/lib/wellcar/version.rb +3 -0
  41. data/spec/.keep +0 -0
  42. data/spec/spec_helper.rb +101 -0
  43. data/spec/wellcar/templates/build_production_image_spec.rb +55 -0
  44. data/spec/wellcar/templates/database_yaml_spec.rb +27 -0
  45. data/spec/wellcar/templates/docker_compose_spec.rb +34 -0
  46. data/spec/wellcar/templates/docker_entrypoint_spec.rb +32 -0
  47. data/spec/wellcar/templates/docker_stack_spec.rb +37 -0
  48. data/spec/wellcar/templates/dockerfile_init_spec.rb +28 -0
  49. data/spec/wellcar/templates/dockerfile_spec.rb +44 -0
  50. data/spec/wellcar/templates/dockerignore_spec.rb +28 -0
  51. data/spec/wellcar/templates/env_development_database_spec.rb +25 -0
  52. data/spec/wellcar/templates/env_development_web_spec.rb +13 -0
  53. data/spec/wellcar/templates/env_production_database_spec.rb +25 -0
  54. data/spec/wellcar/templates/env_production_web_spec.rb +29 -0
  55. data/spec/wellcar/templates/reverse_proxy_conf_spec.rb +17 -0
  56. data/wellcar.gemspec +22 -0
  57. data/wellcar.rdoc +5 -0
  58. metadata +163 -0
@@ -0,0 +1,34 @@
1
+ require File.join(File.dirname(__FILE__), "..", "..", "spec_helper.rb")
2
+ require "yaml"
3
+ require "wellcar/templates/docker_compose"
4
+
5
+ RSpec.describe Wellcar::Templates::DockerCompose do
6
+ describe "#render" do
7
+ subject { YAML::load(template.render) }
8
+
9
+ context "with a first set of inputs" do
10
+ let(:template) { described_class.new("test_app", "github_user") }
11
+
12
+ it { expect(subject.dig("services", "reverseproxy", "ports")).to include "127.0.0.1:3001:3001" }
13
+ it { expect(subject.dig("services", "production", "image")).to eq "docker.pkg.github.com/github_user/test_app/web" }
14
+ it { expect(subject.dig("services", "webpack-dev-server", "volumes")).to include(".:/app/test_app", "node_modules:/app/test_app/node_modules") }
15
+ it { expect(subject["services"]["web"]["volumes"]).to include(".:/app/test_app", "node_modules:/app/test_app/node_modules") }
16
+ end
17
+
18
+ context "with another set of inputs" do
19
+ let(:template) { described_class.new("old_app", "github_user") }
20
+
21
+ it { expect(subject.dig("services", "webpack-dev-server", "volumes")).to include(".:/app/old_app", "node_modules:/app/old_app/node_modules") }
22
+ it { expect(subject.dig("services", "web", "volumes")).to include(".:/app/old_app", "node_modules:/app/old_app/node_modules") }
23
+ end
24
+
25
+ context "with an explicit template name" do
26
+ let(:template) { described_class.new("init_app", "github_user", described_class::INIT_TEMPLATE) }
27
+
28
+ it { expect(subject.dig("services", "new_rails", "volumes")).to include(".:/app/init_app") }
29
+ it { expect(subject.dig("services", "bundle", "volumes")).to include(".:/app/init_app") }
30
+ it { expect(subject.dig("services", "install_webpacker", "volumes")).to include(".:/app/init_app", "node_modules:/app/init_app/node_modules") }
31
+ end
32
+ end
33
+ end
34
+
@@ -0,0 +1,32 @@
1
+ require File.join(File.dirname(__FILE__), "..", "..", "spec_helper.rb")
2
+ require "yaml"
3
+ require "wellcar/templates/docker_entrypoint"
4
+
5
+ RSpec.describe Wellcar::Templates::DockerEntrypoint do
6
+ describe "#render" do
7
+ subject { template.render }
8
+
9
+ let(:template) { described_class.new }
10
+
11
+ let(:pid_script) do
12
+ <<SCRIPT
13
+ if [ -f tmp/pids/server.pid ]; then
14
+ echo "Removing server.pid file"
15
+ rm tmp/pids/server.pid
16
+ fi
17
+ SCRIPT
18
+ end
19
+
20
+ let(:launch_script) do
21
+ <<SCRIPT
22
+ bundle install
23
+ yarn install --check-files
24
+
25
+ exec "$@"
26
+ SCRIPT
27
+ end
28
+
29
+ it { is_expected.to include pid_script }
30
+ it { is_expected.to include launch_script }
31
+ end
32
+ end
@@ -0,0 +1,37 @@
1
+ require File.join(File.dirname(__FILE__), "..", "..", "spec_helper.rb")
2
+ require "yaml"
3
+ require "wellcar/templates/docker_stack"
4
+
5
+ RSpec.describe Wellcar::Templates::DockerStack do
6
+ describe "#render" do
7
+ subject { YAML::load(template.render) }
8
+
9
+ context "with an app and a GitHub account" do
10
+ let(:template) { described_class.new("test_app", "github_user") }
11
+
12
+ it { expect(subject.dig("services", "reverseproxy", "ports")).to include "127.0.0.1:3001:3001" }
13
+ it { expect(subject.dig("services", "reverseproxy", "image")).to eq "docker.pkg.github.com/github_user/test_app/nginx" }
14
+ it { expect(subject.dig("services", "web", "image")).to eq("docker.pkg.github.com/github_user/test_app/web") }
15
+ it { expect(subject.dig("services", "web", "env_file")).to include ".env/production/database" }
16
+ it { expect(subject.dig("services", "web", "env_file")).to include ".env/production/web" }
17
+ it { expect(subject.dig("services", "database", "env_file")).to include ".env/production/database" }
18
+ it { expect(subject.dig("services", "db-migrator", "env_file")).to include ".env/production/database" }
19
+ it { expect(subject.dig("services", "db-migrator", "env_file")).to include ".env/production/web" }
20
+ it { expect(subject.dig("services", "db-migrator", "image")).to eq("docker.pkg.github.com/github_user/test_app/web") }
21
+ end
22
+
23
+ context "with another app and a different GitHub account" do
24
+ let(:template) { described_class.new("funky_app", "github_person") }
25
+
26
+ it { expect(subject.dig("services", "reverseproxy", "ports")).to include "127.0.0.1:3001:3001" }
27
+ it { expect(subject.dig("services", "reverseproxy", "image")).to eq "docker.pkg.github.com/github_person/funky_app/nginx" }
28
+ it { expect(subject.dig("services", "web", "image")).to eq("docker.pkg.github.com/github_person/funky_app/web") }
29
+ it { expect(subject.dig("services", "web", "env_file")).to include ".env/production/database" }
30
+ it { expect(subject.dig("services", "web", "env_file")).to include ".env/production/web" }
31
+ it { expect(subject.dig("services", "database", "env_file")).to include ".env/production/database" }
32
+ it { expect(subject.dig("services", "db-migrator", "env_file")).to include ".env/production/database" }
33
+ it { expect(subject.dig("services", "db-migrator", "env_file")).to include ".env/production/web" }
34
+ it { expect(subject.dig("services", "db-migrator", "image")).to eq("docker.pkg.github.com/github_person/funky_app/web") }
35
+ end
36
+ end
37
+ end
@@ -0,0 +1,28 @@
1
+ require File.join(File.dirname(__FILE__), "..", "..", "spec_helper.rb")
2
+ require "wellcar/templates/dockerfile_init"
3
+
4
+ RSpec.describe Wellcar::Templates::DockerfileInit do
5
+ describe "#render" do
6
+ subject { template.render }
7
+
8
+ context "with a first set of inputs" do
9
+ let(:template) { Wellcar::Templates::DockerfileInit.new("2.6.6", "test_app") }
10
+
11
+ it { is_expected.to include "FROM ruby:2.6.6 AS base_for_new" }
12
+ it { is_expected.to include "WORKDIR /app/test_app" }
13
+ it { is_expected.to include 'CMD ["rails", "new", "--database", "postgresql", "--skip-bundle", "--skip-webpack-install", "--skip-test", "."]' }
14
+ it { is_expected.to include "COPY --from=new_rails /app/test_app/ ." }
15
+ it { is_expected.to include "COPY --from=bundle_for_lockfile /app/test_app/ ." }
16
+ end
17
+
18
+ context "with another set of inputs" do
19
+ let(:template) { Wellcar::Templates::DockerfileInit.new("1.0.0", "old_app") }
20
+
21
+ it { is_expected.to include "ruby:1.0.0" }
22
+ it { is_expected.to include "WORKDIR /app/old_app" }
23
+ it { is_expected.to include 'CMD ["rails", "new", "--database", "postgresql", "--skip-bundle", "--skip-webpack-install", "--skip-test", "."]' }
24
+ it { is_expected.to include "COPY --from=new_rails /app/old_app/ ." }
25
+ it { is_expected.to include "COPY --from=bundle_for_lockfile /app/old_app/ ." }
26
+ end
27
+ end
28
+ end
@@ -0,0 +1,44 @@
1
+ require File.join(File.dirname(__FILE__), "..", "..", "spec_helper.rb")
2
+ require "wellcar/templates/dockerfile"
3
+
4
+ RSpec.describe Wellcar::Templates::Dockerfile do
5
+ describe "#render" do
6
+ subject { template.render }
7
+
8
+ context "with a first set of inputs" do
9
+ let(:template) { described_class.new("2.6.6", "test_app") }
10
+
11
+ it { is_expected.to include "FROM nginx:alpine AS reverse_proxy" }
12
+ it { is_expected.to include "COPY config/nginx/reverse-proxy.conf /etc/nginx/conf.d/reverse-proxy.conf" }
13
+ it { is_expected.to include "FROM ruby:2.6.6 AS core_dependencies" }
14
+ it { is_expected.to include "WORKDIR /app/test_app" }
15
+ it { is_expected.to include "COPY Gemfile* yarn.lock package.json /app/test_app/" }
16
+ it { is_expected.to include "COPY . /app/test_app/" }
17
+ it { is_expected.to_not include "RUN gem install bundler" }
18
+ end
19
+
20
+ context "with another set of inputs" do
21
+ let(:template) { described_class.new("1.0.0", "old_app") }
22
+
23
+ it { is_expected.to include "FROM nginx:alpine AS reverse_proxy" }
24
+ it { is_expected.to include "COPY config/nginx/reverse-proxy.conf /etc/nginx/conf.d/reverse-proxy.conf" }
25
+ it { is_expected.to include "FROM ruby:1.0.0 AS core_dependencies" }
26
+ it { is_expected.to include "WORKDIR /app/old_app" }
27
+ it { is_expected.to include "COPY Gemfile* yarn.lock package.json /app/old_app/" }
28
+ it { is_expected.to include "COPY . /app/old_app/" }
29
+ it { is_expected.to_not include "RUN gem install bundler" }
30
+ end
31
+
32
+ context "using bundler" do
33
+ let(:template) { described_class.new("2.6.6", "modern_app", true) }
34
+
35
+ it { is_expected.to include "FROM nginx:alpine AS reverse_proxy" }
36
+ it { is_expected.to include "COPY config/nginx/reverse-proxy.conf /etc/nginx/conf.d/reverse-proxy.conf" }
37
+ it { is_expected.to include "FROM ruby:2.6.6 AS core_dependencies" }
38
+ it { is_expected.to include "WORKDIR /app/modern_app" }
39
+ it { is_expected.to include "COPY Gemfile* yarn.lock package.json /app/modern_app/" }
40
+ it { is_expected.to include "COPY . /app/modern_app/" }
41
+ it { is_expected.to include "RUN gem install bundler" }
42
+ end
43
+ end
44
+ end
@@ -0,0 +1,28 @@
1
+ require File.join(File.dirname(__FILE__), "..", "..", "spec_helper.rb")
2
+ require "yaml"
3
+ require "wellcar/templates/dockerignore"
4
+
5
+ RSpec.describe Wellcar::Templates::Dockerignore do
6
+ describe "#render" do
7
+ subject { template.render }
8
+
9
+ let(:template) { described_class.new }
10
+
11
+ let(:ignores) do
12
+ <<IGNORES
13
+ Dockerfile
14
+ docker-compose.yml
15
+ .env
16
+ *.swp
17
+ *.swo
18
+ .git
19
+ .gitignore
20
+ .wellcar/*
21
+ logs/*
22
+ tmp/*
23
+ IGNORES
24
+ end
25
+
26
+ it { is_expected.to match ignores }
27
+ end
28
+ end
@@ -0,0 +1,25 @@
1
+ require File.join(File.dirname(__FILE__), "..", "..", "spec_helper.rb")
2
+ require "yaml"
3
+ require "wellcar/templates/env_development_database"
4
+
5
+ RSpec.describe Wellcar::Templates::EnvDevelopmentDatabase do
6
+ describe "#render" do
7
+ subject { template.render }
8
+
9
+ context "with a first set of inputs" do
10
+ let(:template) { described_class.new("test_app") }
11
+
12
+ it { is_expected.to include("POSTGRES_DB=test_app_development") }
13
+ it { is_expected.to include("POSTGRES_USER=postgres") }
14
+ it { is_expected.to include("POSTGRES_PASSWORD=a-development-password") }
15
+ end
16
+
17
+ context "with another set of inputs" do
18
+ let(:template) { described_class.new("old_app") }
19
+
20
+ it { is_expected.to include("POSTGRES_DB=old_app_development") }
21
+ it { is_expected.to include("POSTGRES_USER=postgres") }
22
+ it { is_expected.to include("POSTGRES_PASSWORD=a-development-password") }
23
+ end
24
+ end
25
+ end
@@ -0,0 +1,13 @@
1
+ require File.join(File.dirname(__FILE__), "..", "..", "spec_helper.rb")
2
+ require "yaml"
3
+ require "wellcar/templates/env_development_web"
4
+
5
+ RSpec.describe Wellcar::Templates::EnvDevelopmentWeb do
6
+ describe "#render" do
7
+ subject { template.render }
8
+
9
+ let(:template) { described_class.new }
10
+
11
+ it { is_expected.to include("DATABASE_HOST=database") }
12
+ end
13
+ end
@@ -0,0 +1,25 @@
1
+ require File.join(File.dirname(__FILE__), "..", "..", "spec_helper.rb")
2
+ require "yaml"
3
+ require "wellcar/templates/env_production_database"
4
+
5
+ RSpec.describe Wellcar::Templates::EnvProductionDatabase do
6
+ describe "#render" do
7
+ subject { template.render }
8
+
9
+ context "with a first set of inputs" do
10
+ let(:template) { described_class.new("test_app") }
11
+
12
+ it { is_expected.to include("POSTGRES_DB=test_app_production") }
13
+ it { is_expected.to include("POSTGRES_USER=postgres") }
14
+ it { is_expected.to include("POSTGRES_PASSWORD=replace-me") }
15
+ end
16
+
17
+ context "with another set of inputs" do
18
+ let(:template) { described_class.new("old_app") }
19
+
20
+ it { is_expected.to include("POSTGRES_DB=old_app_production") }
21
+ it { is_expected.to include("POSTGRES_USER=postgres") }
22
+ it { is_expected.to include("POSTGRES_PASSWORD=replace-me") }
23
+ end
24
+ end
25
+ end
@@ -0,0 +1,29 @@
1
+ require File.join(File.dirname(__FILE__), "..", "..", "spec_helper.rb")
2
+ require "yaml"
3
+ require "wellcar/templates/env_production_web"
4
+
5
+ RSpec.describe Wellcar::Templates::EnvProductionWeb do
6
+ describe "#render" do
7
+ subject { template.render }
8
+
9
+ context "with a key" do
10
+ let(:template) { described_class.new("thekey") }
11
+
12
+ it { is_expected.to include("RAILS_MASTER_KEY=thekey") }
13
+ it { is_expected.to include("DATABASE_HOST=database") }
14
+ it { is_expected.to include("RAILS_ENV=production") }
15
+ it { is_expected.to include("RAILS_LOG_TO_STDOUT=true") }
16
+ it { is_expected.to include("RAILS_SERVE_STATIC_FILES=true") }
17
+ end
18
+
19
+ context "with another key" do
20
+ let(:template) { described_class.new("anotherkey") }
21
+
22
+ it { is_expected.to include("RAILS_MASTER_KEY=anotherkey") }
23
+ it { is_expected.to include("DATABASE_HOST=database") }
24
+ it { is_expected.to include("RAILS_ENV=production") }
25
+ it { is_expected.to include("RAILS_LOG_TO_STDOUT=true") }
26
+ it { is_expected.to include("RAILS_SERVE_STATIC_FILES=true") }
27
+ end
28
+ end
29
+ end
@@ -0,0 +1,17 @@
1
+ require File.join(File.dirname(__FILE__), "..", "..", "spec_helper.rb")
2
+ require "yaml"
3
+ require "wellcar/templates/reverse_proxy_conf"
4
+
5
+ RSpec.describe Wellcar::Templates::ReverseProxyConf do
6
+ describe "#render" do
7
+ subject { template.render }
8
+
9
+ context "with a first set of inputs" do
10
+ let(:template) { described_class.new("www.shinyshiny.com") }
11
+
12
+ it { is_expected.to include "server_name www.shinyshiny.com localhost" }
13
+ it { is_expected.to include "allow 172.0.0.0/8;" }
14
+ it { is_expected.to include "deny all;" }
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,22 @@
1
+ # Ensure we require the local version and not one we might have installed already
2
+ require File.join([File.dirname(__FILE__),'lib','wellcar','version.rb'])
3
+ spec = Gem::Specification.new do |s|
4
+ s.name = 'wellcar'
5
+ s.version = Wellcar::VERSION
6
+ s.author = 'NJ Pearman'
7
+ s.email = 'n.pearman@gmail.com'
8
+ s.homepage = 'http://github.com/njpearman/wellcar'
9
+ s.platform = Gem::Platform::RUBY
10
+ s.summary = 'A command line suite to ease conventional use of a Docker-based dev env for Ruby on Rails'
11
+ s.files = `git ls-files`.split("
12
+ ")
13
+ s.require_paths << 'lib'
14
+ s.extra_rdoc_files = ['README.rdoc','wellcar.rdoc']
15
+ s.rdoc_options << '--title' << 'wellcar' << '--main' << 'README.rdoc' << '-ri'
16
+ s.bindir = 'bin'
17
+ s.executables << 'wellcar'
18
+ s.add_development_dependency('rake')
19
+ s.add_development_dependency('rdoc')
20
+ s.add_development_dependency('rspec')
21
+ s.add_runtime_dependency('gli','2.19.0')
22
+ end
@@ -0,0 +1,5 @@
1
+ = wellcar
2
+
3
+ Generate this with
4
+ wellcar _doc
5
+ After you have described your command line interface
metadata ADDED
@@ -0,0 +1,163 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: wellcar
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.1
5
+ platform: ruby
6
+ authors:
7
+ - NJ Pearman
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2020-08-06 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: rake
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - ">="
18
+ - !ruby/object:Gem::Version
19
+ version: '0'
20
+ type: :development
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - ">="
25
+ - !ruby/object:Gem::Version
26
+ version: '0'
27
+ - !ruby/object:Gem::Dependency
28
+ name: rdoc
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ">="
32
+ - !ruby/object:Gem::Version
33
+ version: '0'
34
+ type: :development
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - ">="
39
+ - !ruby/object:Gem::Version
40
+ version: '0'
41
+ - !ruby/object:Gem::Dependency
42
+ name: rspec
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - ">="
46
+ - !ruby/object:Gem::Version
47
+ version: '0'
48
+ type: :development
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - ">="
53
+ - !ruby/object:Gem::Version
54
+ version: '0'
55
+ - !ruby/object:Gem::Dependency
56
+ name: gli
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - '='
60
+ - !ruby/object:Gem::Version
61
+ version: 2.19.0
62
+ type: :runtime
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - '='
67
+ - !ruby/object:Gem::Version
68
+ version: 2.19.0
69
+ description:
70
+ email: n.pearman@gmail.com
71
+ executables:
72
+ - wellcar
73
+ extensions: []
74
+ extra_rdoc_files:
75
+ - README.rdoc
76
+ - wellcar.rdoc
77
+ files:
78
+ - ".gitignore"
79
+ - ".rspec"
80
+ - Gemfile
81
+ - Gemfile.lock
82
+ - README.markdown
83
+ - README.rdoc
84
+ - Rakefile
85
+ - bin/wellcar
86
+ - command_history_example.txt
87
+ - lib/wellcar.rb
88
+ - lib/wellcar/templates/base.rb
89
+ - lib/wellcar/templates/build-production-image.yml.erb
90
+ - lib/wellcar/templates/build_production_image.rb
91
+ - lib/wellcar/templates/database.yml.erb
92
+ - lib/wellcar/templates/database_yaml.rb
93
+ - lib/wellcar/templates/docker-compose-init.yml.erb
94
+ - lib/wellcar/templates/docker-compose.yml.erb
95
+ - lib/wellcar/templates/docker-entrypoint.sh.erb
96
+ - lib/wellcar/templates/docker-stack.yml.erb
97
+ - lib/wellcar/templates/docker_compose.rb
98
+ - lib/wellcar/templates/docker_entrypoint.rb
99
+ - lib/wellcar/templates/docker_stack.rb
100
+ - lib/wellcar/templates/dockerfile.erb
101
+ - lib/wellcar/templates/dockerfile.rb
102
+ - lib/wellcar/templates/dockerfile_init.erb
103
+ - lib/wellcar/templates/dockerfile_init.rb
104
+ - lib/wellcar/templates/dockerignore.erb
105
+ - lib/wellcar/templates/dockerignore.rb
106
+ - lib/wellcar/templates/env_development_database.erb
107
+ - lib/wellcar/templates/env_development_database.rb
108
+ - lib/wellcar/templates/env_development_web.erb
109
+ - lib/wellcar/templates/env_development_web.rb
110
+ - lib/wellcar/templates/env_production_database.erb
111
+ - lib/wellcar/templates/env_production_database.rb
112
+ - lib/wellcar/templates/env_production_web.erb
113
+ - lib/wellcar/templates/env_production_web.rb
114
+ - lib/wellcar/templates/reverse_proxy.conf.erb
115
+ - lib/wellcar/templates/reverse_proxy_conf.rb
116
+ - lib/wellcar/version.rb
117
+ - spec/.keep
118
+ - spec/spec_helper.rb
119
+ - spec/wellcar/templates/build_production_image_spec.rb
120
+ - spec/wellcar/templates/database_yaml_spec.rb
121
+ - spec/wellcar/templates/docker_compose_spec.rb
122
+ - spec/wellcar/templates/docker_entrypoint_spec.rb
123
+ - spec/wellcar/templates/docker_stack_spec.rb
124
+ - spec/wellcar/templates/dockerfile_init_spec.rb
125
+ - spec/wellcar/templates/dockerfile_spec.rb
126
+ - spec/wellcar/templates/dockerignore_spec.rb
127
+ - spec/wellcar/templates/env_development_database_spec.rb
128
+ - spec/wellcar/templates/env_development_web_spec.rb
129
+ - spec/wellcar/templates/env_production_database_spec.rb
130
+ - spec/wellcar/templates/env_production_web_spec.rb
131
+ - spec/wellcar/templates/reverse_proxy_conf_spec.rb
132
+ - wellcar.gemspec
133
+ - wellcar.rdoc
134
+ homepage: http://github.com/njpearman/wellcar
135
+ licenses: []
136
+ metadata: {}
137
+ post_install_message:
138
+ rdoc_options:
139
+ - "--title"
140
+ - wellcar
141
+ - "--main"
142
+ - README.rdoc
143
+ - "-ri"
144
+ require_paths:
145
+ - lib
146
+ - lib
147
+ required_ruby_version: !ruby/object:Gem::Requirement
148
+ requirements:
149
+ - - ">="
150
+ - !ruby/object:Gem::Version
151
+ version: '0'
152
+ required_rubygems_version: !ruby/object:Gem::Requirement
153
+ requirements:
154
+ - - ">="
155
+ - !ruby/object:Gem::Version
156
+ version: '0'
157
+ requirements: []
158
+ rubygems_version: 3.0.3
159
+ signing_key:
160
+ specification_version: 4
161
+ summary: A command line suite to ease conventional use of a Docker-based dev env for
162
+ Ruby on Rails
163
+ test_files: []