borg-rb 0.1.0 → 0.1.4
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.
- data/lib/borg/cli.rb +1 -1
- data/lib/borg/configuration.rb +51 -0
- data/lib/borg/version.rb +2 -2
- metadata +19 -5
- checksums.yaml +0 -15
data/lib/borg/cli.rb
CHANGED
data/lib/borg/configuration.rb
CHANGED
@@ -3,6 +3,57 @@ require 'borg/configuration/applications'
|
|
3
3
|
require 'borg/configuration/assimilator'
|
4
4
|
require 'borg/configuration/stages'
|
5
5
|
|
6
|
+
# TODO This is major ugliness here...
|
7
|
+
module Capistrano
|
8
|
+
class Configuration
|
9
|
+
module Namespaces
|
10
|
+
def filter_task(name, options={}, &block)
|
11
|
+
task(name, options) do
|
12
|
+
filter_hosts find_servers_for_task(current_task).join(','), &block
|
13
|
+
end
|
14
|
+
end
|
15
|
+
|
16
|
+
def filter_hosts(hosts, &block)
|
17
|
+
original_hostfilter = ENV['HOSTFILTER']
|
18
|
+
ENV['HOSTFILTER'] = hosts
|
19
|
+
logger.info "changing HOSTFILTER from #{original_hostfilter} to #{hosts}".cyan
|
20
|
+
block.call
|
21
|
+
logger.info "resetting HOSTFILTER to #{original_hostfilter}".cyan
|
22
|
+
ENV['HOSTFILTER'] = original_hostfilter
|
23
|
+
end
|
24
|
+
|
25
|
+
def remote_condition(bash_cmd)
|
26
|
+
run bash_cmd
|
27
|
+
true
|
28
|
+
rescue
|
29
|
+
false
|
30
|
+
end
|
31
|
+
|
32
|
+
def hosts_failing_remote_condition(bash_cmd)
|
33
|
+
failing_hosts = []
|
34
|
+
begin
|
35
|
+
run bash_cmd
|
36
|
+
rescue NoMethodError => e
|
37
|
+
raise e
|
38
|
+
rescue Exception => e
|
39
|
+
failing_hosts = e.hosts
|
40
|
+
end
|
41
|
+
failing_hosts
|
42
|
+
end
|
43
|
+
|
44
|
+
def on_hosts_passing_remote_condition(bash_cmd, &block)
|
45
|
+
failing_hosts = hosts_failing_remote_condition bash_cmd
|
46
|
+
filter_hosts find_servers_for_task(current_task).reject{|h| failing_hosts.include?(h)}.join(','), &block
|
47
|
+
end
|
48
|
+
|
49
|
+
def on_hosts_failing_remote_condition(bash_cmd, &block)
|
50
|
+
failing_hosts = hosts_failing_remote_condition bash_cmd
|
51
|
+
filter_hosts failing_hosts.join(','), &block
|
52
|
+
end
|
53
|
+
end
|
54
|
+
end
|
55
|
+
end
|
56
|
+
|
6
57
|
module Borg
|
7
58
|
class Configuration < Capistrano::Configuration
|
8
59
|
# Mix-in our own behavior
|
data/lib/borg/version.rb
CHANGED
@@ -1,3 +1,3 @@
|
|
1
1
|
module Borg
|
2
|
-
VERSION = '0.1.
|
3
|
-
end
|
2
|
+
VERSION = '0.1.4'
|
3
|
+
end
|
metadata
CHANGED
@@ -1,18 +1,20 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: borg-rb
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.4
|
5
|
+
prerelease:
|
5
6
|
platform: ruby
|
6
7
|
authors:
|
7
8
|
- Identified
|
8
9
|
autorequire:
|
9
10
|
bindir: bin
|
10
11
|
cert_chain: []
|
11
|
-
date: 2013-04-
|
12
|
+
date: 2013-04-16 00:00:00.000000000 Z
|
12
13
|
dependencies:
|
13
14
|
- !ruby/object:Gem::Dependency
|
14
15
|
name: capistrano
|
15
16
|
requirement: !ruby/object:Gem::Requirement
|
17
|
+
none: false
|
16
18
|
requirements:
|
17
19
|
- - ~>
|
18
20
|
- !ruby/object:Gem::Version
|
@@ -20,6 +22,7 @@ dependencies:
|
|
20
22
|
type: :runtime
|
21
23
|
prerelease: false
|
22
24
|
version_requirements: !ruby/object:Gem::Requirement
|
25
|
+
none: false
|
23
26
|
requirements:
|
24
27
|
- - ~>
|
25
28
|
- !ruby/object:Gem::Version
|
@@ -27,6 +30,7 @@ dependencies:
|
|
27
30
|
- !ruby/object:Gem::Dependency
|
28
31
|
name: capistrano_colors
|
29
32
|
requirement: !ruby/object:Gem::Requirement
|
33
|
+
none: false
|
30
34
|
requirements:
|
31
35
|
- - ! '>='
|
32
36
|
- !ruby/object:Gem::Version
|
@@ -34,6 +38,7 @@ dependencies:
|
|
34
38
|
type: :runtime
|
35
39
|
prerelease: false
|
36
40
|
version_requirements: !ruby/object:Gem::Requirement
|
41
|
+
none: false
|
37
42
|
requirements:
|
38
43
|
- - ! '>='
|
39
44
|
- !ruby/object:Gem::Version
|
@@ -41,6 +46,7 @@ dependencies:
|
|
41
46
|
- !ruby/object:Gem::Dependency
|
42
47
|
name: colored
|
43
48
|
requirement: !ruby/object:Gem::Requirement
|
49
|
+
none: false
|
44
50
|
requirements:
|
45
51
|
- - ! '>='
|
46
52
|
- !ruby/object:Gem::Version
|
@@ -48,6 +54,7 @@ dependencies:
|
|
48
54
|
type: :runtime
|
49
55
|
prerelease: false
|
50
56
|
version_requirements: !ruby/object:Gem::Requirement
|
57
|
+
none: false
|
51
58
|
requirements:
|
52
59
|
- - ! '>='
|
53
60
|
- !ruby/object:Gem::Version
|
@@ -55,6 +62,7 @@ dependencies:
|
|
55
62
|
- !ruby/object:Gem::Dependency
|
56
63
|
name: term-ansicolor
|
57
64
|
requirement: !ruby/object:Gem::Requirement
|
65
|
+
none: false
|
58
66
|
requirements:
|
59
67
|
- - ! '>='
|
60
68
|
- !ruby/object:Gem::Version
|
@@ -62,6 +70,7 @@ dependencies:
|
|
62
70
|
type: :runtime
|
63
71
|
prerelease: false
|
64
72
|
version_requirements: !ruby/object:Gem::Requirement
|
73
|
+
none: false
|
65
74
|
requirements:
|
66
75
|
- - ! '>='
|
67
76
|
- !ruby/object:Gem::Version
|
@@ -69,6 +78,7 @@ dependencies:
|
|
69
78
|
- !ruby/object:Gem::Dependency
|
70
79
|
name: rspec
|
71
80
|
requirement: !ruby/object:Gem::Requirement
|
81
|
+
none: false
|
72
82
|
requirements:
|
73
83
|
- - ! '>='
|
74
84
|
- !ruby/object:Gem::Version
|
@@ -76,6 +86,7 @@ dependencies:
|
|
76
86
|
type: :development
|
77
87
|
prerelease: false
|
78
88
|
version_requirements: !ruby/object:Gem::Requirement
|
89
|
+
none: false
|
79
90
|
requirements:
|
80
91
|
- - ! '>='
|
81
92
|
- !ruby/object:Gem::Version
|
@@ -83,6 +94,7 @@ dependencies:
|
|
83
94
|
- !ruby/object:Gem::Dependency
|
84
95
|
name: childprocess
|
85
96
|
requirement: !ruby/object:Gem::Requirement
|
97
|
+
none: false
|
86
98
|
requirements:
|
87
99
|
- - ! '>='
|
88
100
|
- !ruby/object:Gem::Version
|
@@ -90,6 +102,7 @@ dependencies:
|
|
90
102
|
type: :development
|
91
103
|
prerelease: false
|
92
104
|
version_requirements: !ruby/object:Gem::Requirement
|
105
|
+
none: false
|
93
106
|
requirements:
|
94
107
|
- - ! '>='
|
95
108
|
- !ruby/object:Gem::Version
|
@@ -157,26 +170,27 @@ files:
|
|
157
170
|
homepage: https://github.com/B0RG/borg
|
158
171
|
licenses:
|
159
172
|
- MIT
|
160
|
-
metadata: {}
|
161
173
|
post_install_message:
|
162
174
|
rdoc_options: []
|
163
175
|
require_paths:
|
164
176
|
- lib
|
165
177
|
required_ruby_version: !ruby/object:Gem::Requirement
|
178
|
+
none: false
|
166
179
|
requirements:
|
167
180
|
- - ! '>='
|
168
181
|
- !ruby/object:Gem::Version
|
169
182
|
version: 1.9.2
|
170
183
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
184
|
+
none: false
|
171
185
|
requirements:
|
172
186
|
- - ! '>='
|
173
187
|
- !ruby/object:Gem::Version
|
174
188
|
version: '0'
|
175
189
|
requirements: []
|
176
190
|
rubyforge_project:
|
177
|
-
rubygems_version:
|
191
|
+
rubygems_version: 1.8.23
|
178
192
|
signing_key:
|
179
|
-
specification_version:
|
193
|
+
specification_version: 3
|
180
194
|
summary: Ruby-based software provisioning and deployment framework
|
181
195
|
test_files:
|
182
196
|
- spec/acceptance/application_spec.rb
|
checksums.yaml
DELETED
@@ -1,15 +0,0 @@
|
|
1
|
-
---
|
2
|
-
!binary "U0hBMQ==":
|
3
|
-
metadata.gz: !binary |-
|
4
|
-
YjQ4NTU4YjI0N2JiZDRlZjdlYTAwOTY5NDU3MGQxOGM3YjE2OGNjNA==
|
5
|
-
data.tar.gz: !binary |-
|
6
|
-
MmYzNTQ1N2FkYjViYzNlZjAyM2Q2ODY5MzYyNzI0OTk5NWFjMWI5Mg==
|
7
|
-
!binary "U0hBNTEy":
|
8
|
-
metadata.gz: !binary |-
|
9
|
-
NGJjOWIwNWE3ZGJlM2NiMTM5MTE2N2QxYzgyNTAxZTQ5MGRmZTc5ZjVkMWYz
|
10
|
-
MGY0NjE4NmE0MTM2MDAyZTYyN2Y2MjZkYjEwZWVkODE2N2M4Yjk2YzA5NTli
|
11
|
-
NzAxNjJkMGQzY2RkOWYxYmIwODc4YTQwNmJjNmRiMzU4NGUwMjE=
|
12
|
-
data.tar.gz: !binary |-
|
13
|
-
MDcxNmIxMTE4ODBiNDYyYzQ2YTQ3YTI4MmJmMzY1YjJkZDE5MzZmZmFiNDg2
|
14
|
-
ZDU3YTkzN2FmNzZkODY2YjQxZmY4OTJhOWU5ODIwYjM0NTcyMTI2YTQyMDYw
|
15
|
-
ZTQwOGU5MGIxNjc3YTE4ZDdiYTZmNTczMzNjNjYxMjEwMDM1MmQ=
|