marionetta 0.4.7.1 → 0.4.8
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/README.md
CHANGED
@@ -177,7 +177,6 @@ staging.manipulate_each_server(:deployer, :rollback)
|
|
177
177
|
- Add ability to define permissions with Manipulators::Deployer
|
178
178
|
- Change :before_script and :after_script to :before_scripts and :after_scripts
|
179
179
|
that take an array
|
180
|
-
- Use same technique for transfering puppet files as used by deployer
|
181
180
|
|
182
181
|
## Author
|
183
182
|
|
data/lib/marionetta.rb
CHANGED
@@ -4,7 +4,7 @@ module Marionetta
|
|
4
4
|
class DirectorySync
|
5
5
|
include Commandable
|
6
6
|
|
7
|
-
def self.sync(server, from, to, options)
|
7
|
+
def self.sync(server, from, to, options = {})
|
8
8
|
new(server).sync(from, to, options)
|
9
9
|
end
|
10
10
|
|
@@ -12,9 +12,16 @@ module Marionetta
|
|
12
12
|
@server = server
|
13
13
|
end
|
14
14
|
|
15
|
-
def sync(from, to, options)
|
15
|
+
def sync(from, to, options = {})
|
16
16
|
create_dir(to)
|
17
|
-
|
17
|
+
|
18
|
+
if options.has_key?(:exclude)
|
19
|
+
excludes = options[:exclude]
|
20
|
+
else
|
21
|
+
excludes = []
|
22
|
+
end
|
23
|
+
|
24
|
+
sync_dir(from, to, excludes)
|
18
25
|
end
|
19
26
|
|
20
27
|
private
|
@@ -8,6 +8,7 @@
|
|
8
8
|
# nodes them this class maybe what you're looking for.
|
9
9
|
#
|
10
10
|
require 'marionetta/commandable'
|
11
|
+
require 'marionetta/directory_sync'
|
11
12
|
|
12
13
|
module Marionetta
|
13
14
|
module Manipulators
|
@@ -71,9 +72,8 @@ module Marionetta
|
|
71
72
|
#
|
72
73
|
def update()
|
73
74
|
install unless installed?
|
74
|
-
|
75
|
-
|
76
|
-
apply_archive
|
75
|
+
send_puppet_files
|
76
|
+
apply_puppet_files
|
77
77
|
end
|
78
78
|
|
79
79
|
private
|
@@ -109,36 +109,27 @@ module Marionetta
|
|
109
109
|
"/tmp/puppet_#{server[:hostname]}"
|
110
110
|
end
|
111
111
|
|
112
|
-
def
|
113
|
-
|
114
|
-
"rm -rf #{puppet_tmp}",
|
115
|
-
"mkdir #{puppet_tmp}",
|
116
|
-
"cp #{server[:puppet][:manifest]} #{puppet_tmp}/manifest.pp",
|
117
|
-
]
|
112
|
+
def send_puppet_files()
|
113
|
+
from = [server[:puppet][:manifest]]
|
118
114
|
|
119
115
|
if server[:puppet].has_key?(:modules)
|
120
|
-
|
116
|
+
from << server[:puppet][:modules]
|
121
117
|
end
|
122
118
|
|
123
|
-
cmd.
|
124
|
-
cmd.archive(puppet_tmp)
|
119
|
+
cmd.put(from, puppet_tmp)
|
125
120
|
end
|
126
121
|
|
127
|
-
def
|
128
|
-
cmd.put("#{puppet_tmp}.tar.gz")
|
129
|
-
end
|
130
|
-
|
131
|
-
def apply_archive()
|
132
|
-
cmd.ssh_extract("#{puppet_tmp}.tar.gz")
|
122
|
+
def apply_puppet_files()
|
133
123
|
cmds = ["cd #{puppet_tmp}"]
|
134
124
|
|
135
125
|
puppet_cmd = ['sudo puppet apply']
|
136
126
|
|
137
127
|
if server[:puppet].has_key?(:modules)
|
138
|
-
|
128
|
+
module_basename = File.basename(server[:puppet][:modules])
|
129
|
+
puppet_cmd << "--modulepath=#{puppet_tmp}/#{module_basename}"
|
139
130
|
end
|
140
131
|
|
141
|
-
puppet_cmd <<
|
132
|
+
puppet_cmd << File.basename(server[:puppet][:manifest])
|
142
133
|
|
143
134
|
if server[:puppet].has_key?(:flags)
|
144
135
|
puppet_cmd << server[:puppet][:flags]
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: marionetta
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.4.
|
4
|
+
version: 0.4.8
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -146,7 +146,7 @@ files:
|
|
146
146
|
- lib/marionetta/manipulators.rb
|
147
147
|
- lib/marionetta/manipulators/debloyer.rb
|
148
148
|
- lib/marionetta/manipulators/deployer.rb
|
149
|
-
- lib/marionetta/manipulators/
|
149
|
+
- lib/marionetta/manipulators/puppet.rb
|
150
150
|
- lib/marionetta/rake_helper.rb
|
151
151
|
- marionetta.gemspec
|
152
152
|
- spec/app/after
|
@@ -179,7 +179,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
179
179
|
version: '0'
|
180
180
|
segments:
|
181
181
|
- 0
|
182
|
-
hash:
|
182
|
+
hash: 3588169205023904270
|
183
183
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
184
184
|
none: false
|
185
185
|
requirements:
|
@@ -188,7 +188,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
188
188
|
version: '0'
|
189
189
|
segments:
|
190
190
|
- 0
|
191
|
-
hash:
|
191
|
+
hash: 3588169205023904270
|
192
192
|
requirements: []
|
193
193
|
rubyforge_project:
|
194
194
|
rubygems_version: 1.8.24
|