dust-deploy 0.13.11 → 0.13.12
Sign up to get free protection for your applications and to get access to all the features.
- data/changelog.md +14 -0
- data/lib/dust/recipes/duplicity.rb +3 -0
- data/lib/dust/recipes/iptables.rb +7 -0
- data/lib/dust/recipes/nginx.rb +11 -7
- data/lib/dust/version.rb +1 -1
- metadata +2 -2
data/changelog.md
CHANGED
@@ -1,6 +1,20 @@
|
|
1
1
|
Changelog
|
2
2
|
=============
|
3
3
|
|
4
|
+
0.13.12
|
5
|
+
------------
|
6
|
+
|
7
|
+
- nginx recipe displays error message when configtest fails
|
8
|
+
- nginx recipe supports specifying package to install
|
9
|
+
- nginx recipe now uses binding for deploying nginx.conf (so you can call node.functions)
|
10
|
+
|
11
|
+
recipes:
|
12
|
+
nginx:
|
13
|
+
package: nginx-extras
|
14
|
+
sites:
|
15
|
+
enabled: reverse-proxy
|
16
|
+
|
17
|
+
|
4
18
|
0.13.11
|
5
19
|
------------
|
6
20
|
|
@@ -30,6 +30,9 @@ class Duplicity < Recipe
|
|
30
30
|
# check whether we need ncftp
|
31
31
|
@node.install_package 'ncftp' if config['backend'].include? 'ftp://'
|
32
32
|
|
33
|
+
# scp backend on centos needs python-paramiko
|
34
|
+
@node.install_package 'python-paramiko' if @node.uses_rpm? and config['backend'].include? 'scp://'
|
35
|
+
|
33
36
|
# scp backend on centos needs python-pexpect (not needed anymore for newer systems)
|
34
37
|
# @node.install_package 'python-pexpect' if config['backend'].include? 'scp://' and @node.uses_rpm?
|
35
38
|
|
@@ -49,6 +49,7 @@ class Iptables < Recipe
|
|
49
49
|
# install iptables
|
50
50
|
def install
|
51
51
|
return false unless @node.install_package 'iptables'
|
52
|
+
return false unless @node.install_package 'ip6tables' if @node.uses_opkg?
|
52
53
|
return false unless @node.install_package 'iptables-persistent' if @node.uses_apt?
|
53
54
|
return false unless @node.install_package 'iptables-ipv6' if @node.uses_rpm? and not @node.is_fedora?
|
54
55
|
true
|
@@ -285,6 +286,12 @@ class Iptables < Recipe
|
|
285
286
|
@node.autostart_service('iptables-persistent') if @node.uses_apt?
|
286
287
|
end
|
287
288
|
|
289
|
+
# disable firewall hotplug scripts on openwrt
|
290
|
+
if @node.uses_opkg?
|
291
|
+
msg = @node.messages.add('disabling firewall hotplug scripts in /etc/hotplug.d/firewall')
|
292
|
+
msg.parse_result(@node.exec('chmod -x /etc/hotplug.d/firewall/*')[:exit_code])
|
293
|
+
end
|
294
|
+
|
288
295
|
@node.write(target, @script, :quiet => true)
|
289
296
|
@node.chmod('0600', target)
|
290
297
|
end
|
data/lib/dust/recipes/nginx.rb
CHANGED
@@ -1,22 +1,25 @@
|
|
1
1
|
class Nginx < Recipe
|
2
2
|
desc 'nginx:deploy', 'installs and configures nginx web server'
|
3
3
|
def deploy
|
4
|
+
# default package to install
|
5
|
+
@config['package'] ||= 'nginx'
|
6
|
+
|
4
7
|
# abort if nginx cannot be installed
|
5
|
-
return unless @node.install_package
|
8
|
+
return unless @node.install_package(@config['package'])
|
6
9
|
|
7
|
-
@node.deploy_file
|
10
|
+
@node.deploy_file("#{@template_path}/nginx.conf", '/etc/nginx/nginx.conf', :binding => binding)
|
8
11
|
|
9
12
|
# remove old sites that may be present
|
10
13
|
msg = @node.messages.add('deleting old sites in /etc/nginx/sites-*')
|
11
14
|
@node.rm '/etc/nginx/sites-*/*', :quiet => true
|
12
15
|
msg.ok
|
13
16
|
|
14
|
-
@config.each do |state, sites|
|
17
|
+
@config['sites'].each do |state, sites|
|
15
18
|
sites.to_array.each do |site|
|
16
|
-
@node.deploy_file
|
19
|
+
@node.deploy_file("#{@template_path}/sites/#{site}", "/etc/nginx/sites-available/#{site}", :binding => binding)
|
17
20
|
|
18
21
|
# symlink to sites-enabled if this is listed as an enabled site
|
19
|
-
if state == '
|
22
|
+
if state == 'enabled'
|
20
23
|
msg = @node.messages.add("enabling #{site}", :indent => 2)
|
21
24
|
msg.parse_result(@node.exec("cd /etc/nginx/sites-enabled && ln -s ../sites-available/#{site} #{site}")[:exit_code])
|
22
25
|
end
|
@@ -25,11 +28,12 @@ class Nginx < Recipe
|
|
25
28
|
|
26
29
|
# check configuration and restart nginx
|
27
30
|
msg = @node.messages.add('checking nginx configuration')
|
28
|
-
|
31
|
+
ret = @node.exec('/etc/init.d/nginx configtest')
|
32
|
+
if ret[:exit_code] == 0
|
29
33
|
msg.ok
|
30
34
|
@node.restart_service('nginx') if options.restart?
|
31
35
|
else
|
32
|
-
msg.failed
|
36
|
+
msg.failed("\n" + ret[:stderr])
|
33
37
|
end
|
34
38
|
end
|
35
39
|
|
data/lib/dust/version.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: dust-deploy
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.13.
|
4
|
+
version: 0.13.12
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2012-06-
|
12
|
+
date: 2012-06-29 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: json
|