|
1 | 1 | Env.dump(self, ['ip', cookbook_name], repo: cookbook_name) |
2 | 2 |
|
3 | | -Common.directories(self, [node['proxy']['dir']['app'], node['proxy']['dir']['logs']]) |
| 3 | +Common.directories(self, [node['proxy']['dir']['app'], node['proxy']['dir']['config'], node['proxy']['dir']['logs']]) |
4 | 4 |
|
5 | 5 | package 'caddy' |
6 | 6 |
|
|
9 | 9 | node.run_state['proxy_hosts'] = Utils.proxmox(node, 'nodes/pve/lxc').map do |state| |
10 | 10 | config = Utils.proxmox(node, "nodes/pve/lxc/#{state['vmid']}/config") |
11 | 11 | ip = config['net0'] ? config['net0'].match(/ip=([\d\.]+)/)&.[](1) : "404" |
12 | | - "#{state['name']}.#{node['proxy']['config']['domain']} #{ip}" |
| 12 | + "#{state['name']}.#{node['proxy']['config']['domain']} #{ip} #{state['name']}" |
13 | 13 | end |
14 | 14 | Logs.info(node.run_state['proxy_hosts']) |
15 | 15 | end |
16 | 16 | end |
17 | 17 |
|
18 | 18 | template "#{node['proxy']['dir']['app']}/Caddyfile" do |
19 | 19 | source 'Caddyfile.erb' |
20 | | - owner 'root' |
21 | | - group 'root' |
| 20 | + owner node['app']['user'] |
| 21 | + group node['app']['group'] |
22 | 22 | mode '0644' |
23 | | - variables( |
24 | | - log_dir: node['proxy']['dir']['logs'], hosts: lazy { node.run_state['proxy_hosts'] || [] } ) |
| 23 | + variables( hosts: lazy { node.run_state['proxy_hosts'] || [] }, config_dir: node['proxy']['dir']['config'], |
| 24 | + log_dir: node['proxy']['dir']['logs'], logs_roll_size: node['proxy']['logs']['roll_size'], |
| 25 | + logs_roll_keep: node['proxy']['logs']['roll_keep'], logs_roll_for: node['proxy']['logs']['roll_for'] ) |
| 26 | +end |
| 27 | + |
| 28 | +remote_directory node['proxy']['dir']['config'] do |
| 29 | + source 'config' |
| 30 | + owner node['app']['user'] |
| 31 | + group node['app']['group'] |
| 32 | + mode '0664' |
25 | 33 | end |
26 | 34 |
|
27 | 35 | Common.application(self, cookbook_name, |
28 | | - exec: "/bin/caddy run --config #{node['proxy']['dir']['app']}/Caddyfile", |
29 | | - subscribe: "template[#{node['proxy']['dir']['app']}/Caddyfile]", |
| 36 | + exec: "/bin/caddy run --config #{node['proxy']['dir']['app']}/Caddyfile --adapter caddyfile", |
| 37 | + subscribe: ["template[#{node['proxy']['dir']['app']}/Caddyfile]", "remote_directory[#{node['proxy']['dir']['config']}]"], |
30 | 38 | unit: { 'Service' => { 'AmbientCapabilities' => 'CAP_NET_BIND_SERVICE' } } ) |
0 commit comments