|
14 | 14 | end
|
15 | 15 |
|
16 | 16 | has_command(:docker_compose, command(:dockercompose)) do
|
17 |
| - Dir.mkdir('/tmp_docker') unless Dir.exist?('/tmp_docker') |
18 |
| - ENV.store('TMPDIR', '/tmp_docker') |
| 17 | + environment(HOME: '/root') |
19 | 18 | end
|
20 | 19 |
|
21 | 20 | def exists?
|
@@ -76,33 +75,40 @@ def get_image(service_name, compose_services)
|
76 | 75 | def create
|
77 | 76 | Puppet.info("Running compose project #{name}")
|
78 | 77 | args = [compose_files, '-p', name, 'up', '-d', '--remove-orphans'].insert(3, resource[:options]).insert(5, resource[:up_args]).compact
|
79 |
| - dockercompose(args) |
| 78 | + exec_dockercompose(args) |
80 | 79 | return unless resource[:scale]
|
81 | 80 | instructions = resource[:scale].map { |k, v| "#{k}=#{v}" }
|
82 | 81 | Puppet.info("Scaling compose project #{name}: #{instructions.join(' ')}")
|
83 | 82 | args = [compose_files, '-p', name, 'scale'].insert(3, resource[:options]).compact + instructions
|
84 |
| - dockercompose(args) |
| 83 | + exec_dockercompose(args) |
85 | 84 | end
|
86 | 85 |
|
87 | 86 | def destroy
|
88 | 87 | Puppet.info("Removing all containers for compose project #{name}")
|
89 | 88 | kill_args = [compose_files, '-p', name, 'kill'].insert(3, resource[:options]).compact
|
90 |
| - dockercompose(kill_args) |
| 89 | + exec_dockercompose(kill_args) |
91 | 90 | rm_args = [compose_files, '-p', name, 'rm', '--force', '-v'].insert(3, resource[:options]).compact
|
92 |
| - dockercompose(rm_args) |
| 91 | + exec_dockercompose(rm_args) |
93 | 92 | end
|
94 | 93 |
|
95 | 94 | def restart
|
96 | 95 | return unless exists?
|
97 | 96 | Puppet.info("Rebuilding and Restarting all containers for compose project #{name}")
|
98 | 97 | kill_args = [compose_files, '-p', name, 'kill'].insert(3, resource[:options]).compact
|
99 |
| - dockercompose(kill_args) |
| 98 | + exec_dockercompose(kill_args) |
100 | 99 | build_args = [compose_files, '-p', name, 'build'].insert(3, resource[:options]).compact
|
101 |
| - dockercompose(build_args) |
| 100 | + exec_dockercompose(build_args) |
102 | 101 | create
|
103 | 102 | end
|
104 | 103 |
|
105 | 104 | def compose_files
|
106 | 105 | resource[:compose_files].map { |x| ['-f', x] }.flatten
|
107 | 106 | end
|
| 107 | + |
| 108 | + def exec_dockercompose(args) |
| 109 | + ENV.store('TMPDIR', resource[:tmpdir]) unless tmpdir.nil? |
| 110 | + dockercompose(args) |
| 111 | + end |
| 112 | + |
| 113 | + private :exec_dockercompose |
108 | 114 | end
|
0 commit comments