rumination 0.11.5 → 0.12.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: d5a017151fbe1f808354b7c926ba9ab6b1b2e5e7
4
- data.tar.gz: 733f72c88adc92b382b19b2cb07b6df49a80c8b0
3
+ metadata.gz: 4db8607f09b3ee1aad402996f7f7d5b3e593fdf4
4
+ data.tar.gz: f10beea4befeb1b90ce0d5e52e57ff575a9cccdf
5
5
  SHA512:
6
- metadata.gz: 42453f3eea7838e24553af0415086ac13925c341e9c64bb3839630d9eaee15dad976b707bc81f507770928f1c9354d3d0b44db481518e8dc400dd897a6669b62
7
- data.tar.gz: 9426aaa257878f86feec7cf70b243991b64b3f27b98295d2da4a4bb0ffca231f01b8d0fbde58b2a36f74bc902b86bf87fe71416871b45a17bc40623cb78bf49a
6
+ metadata.gz: d0465ac699012527ca0cb92e0e6165cb63353d81c74281f7b42136095154379d50ebe6c5697ce00fbd72dfbe5e182cbe827169bed62d697c5b31f8f1606fa4ee
7
+ data.tar.gz: f497f85837a48dee0c8dd20c797bb8152f959d194c60a7f0b5a53bc6e7a63c428d1de08d04c2c0f0133f142f3863d55a4753e35f5bef9458887614685c61b825
@@ -1,5 +1,6 @@
1
1
  require "active_support/configurable"
2
2
  require_relative "deploy/class_methods"
3
+ require "dotenv/parser"
3
4
 
4
5
  module Rumination
5
6
  module Deploy
@@ -10,5 +11,20 @@ module Rumination
10
11
  BootstrapError = Class.new(DeployError)
11
12
  BootstrappedAlready = Class.new(BootstrapError)
12
13
  DatabaseInitError = Class.new(BootstrapError)
14
+
15
+ def docker_env
16
+ env = {}
17
+ if config.docker_machine
18
+ dm_env_str = `docker-machine env #{config.docker_machine}`
19
+ env = env.merge(Dotenv::Parser.call(dm_env_str))
20
+ end
21
+ env["COMPOSE_FILE"] = config.compose_file if config.compose_file
22
+ env["VIRTUAL_HOST"] = config.virtual_host
23
+ if config.letsencrypt_email.present?
24
+ env["LETSENCRYPT_HOST"] = config.virtual_host
25
+ env["LETSENCRYPT_EMAIL"] = config.letsencrypt_email
26
+ end
27
+ env
28
+ end
13
29
  end
14
30
  end
@@ -1,5 +1,39 @@
1
- task :deploy, [:target] do |t, args|
2
- require "rumination/deploy"
3
- args.with_defaults target: :development
4
- Rumination::Deploy.app(target: args.target)
1
+ task :deploy, [:target] => "deploy:default"
2
+
3
+ namespace :deploy do
4
+ task :env, [:target] => :load_target_config do |t, args|
5
+ Rumination::Deploy.docker_env.each do |var, val|
6
+ puts %Q[export #{var}="#{val}"]
7
+ end
8
+ end
9
+
10
+ task :default, [:target] => :setup_docker_env do |t, args|
11
+ end
12
+
13
+ task :bootstrap, [:target] => :setup_docker_env do |t, args|
14
+ end
15
+
16
+ task :setup_docker_env, [:target] => :load_target_config do |t, args|
17
+ ENV.update Rumination::Deploy.docker_env
18
+ end
19
+
20
+ task :load_target_config, [:target] do |t, args|
21
+ args.with_defaults target: :development
22
+ begin
23
+ load target_config_path
24
+ rescue LoadError => e
25
+ raise RuntimeError, e.message
26
+ end
27
+ end
28
+
29
+ namespace :bootstrap do
30
+ task :undo, [:target] => %w[confirm_undo] do |t, args|
31
+ end
32
+
33
+ task :confirm_undo do |t, args|
34
+ require "highline/import"
35
+ question = "Do you really want to undo the bootstrap (database will be dropped)?"
36
+ abort("Bootstrap undo canceled, you didn't mean it") unless agree(question)
37
+ end
38
+ end
5
39
  end
@@ -1,3 +1,3 @@
1
1
  module Rumination
2
- VERSION = "0.11.5"
2
+ VERSION = "0.12.0"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rumination
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.11.5
4
+ version: 0.12.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Artem Baguinski
@@ -157,8 +157,6 @@ files:
157
157
  - lib/rumination/tasks/db/dump.rake
158
158
  - lib/rumination/tasks/db/setup.rake
159
159
  - lib/rumination/tasks/deploy.rake
160
- - lib/rumination/tasks/deploy/bootstrap.rake
161
- - lib/rumination/tasks/deploy/env.rake
162
160
  - lib/rumination/tasks/deploy/inside.rake
163
161
  - lib/rumination/version.rb
164
162
  - rumination.gemspec
@@ -1,27 +0,0 @@
1
- namespace :deploy do
2
- task :bootstrap, [:target] do |t, args|
3
- require "rumination/deploy"
4
- args.with_defaults target: :development
5
- begin
6
- Rumination::Deploy.bootstrap(target: args.target)
7
- rescue Rumination::Deploy::BootstrappedAlready
8
- abort "'#{args.target}' has already been bootstrapped"
9
- end
10
- end
11
-
12
- namespace :bootstrap do
13
- task :undo, [:target] => %w[confirm_undo start_undo] do |t, args|
14
- require "rumination/deploy"
15
- args.with_defaults target: :development
16
- Rumination::Deploy.bootstrap_undo(target: args.target)
17
- end
18
-
19
- task :confirm_undo do |t, args|
20
- require "highline/import"
21
- question = "Do you really want to undo the bootstrap (database will be dropped)?"
22
- abort("Bootstrap undo canceled, you didn't mean it") unless agree(question)
23
- end
24
-
25
- task :start_undo, [:target]
26
- end
27
- end
@@ -1,9 +0,0 @@
1
- namespace :deploy do
2
- task :env, [:target] do |t, args|
3
- require "rumination/deploy"
4
- args.with_defaults target: :development
5
- Rumination::Deploy.env(target: args.target).each do |var, val|
6
- puts %Q[export #{var}="#{val}"]
7
- end
8
- end
9
- end