blob: f4be8cd3a7b14638cfd5f3b86f79ab9068671975 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
|
#!/usr/bin/env bash
playbook_add() {
info "$BASHTARD_PLAYBOOK" "Installing packages"
pkg install dnsmasq
playbook_sync
info "$BASHTARD_PLAYBOOK" "Enabling services"
svc enable dnsmasq
svc start dnsmasq
}
playbook_sync() {
mkdir -pv -- "$(config "fs.etcdir")/dnsmasq.d"
info "$BASHTARD_PLAYBOOK" "Writing config"
file_template "dnsmasq.conf" \
"host=$(config "dns.host")" \
"port=$(config "dns.port")" \
"domain=$(config "dns.domain")" \
"confd=$(config "fs.etcdir")/dnsmasq.d" \
> "$(config "fs.etcdir")/dnsmasq.conf"
while read -r key
do
printf "server=%s\n" "$(config "dns.upstream.$key")"
done < <(config_subkeys "dns.upstream") > "$(config "fs.etcdir")/dnsmasq.d/servers.conf"
while read -r key
do
printf "address=/$(config "dns.address.$key" | sed s@:@/@)\n"
done < <(config_subkeys "dns.address") > "$(config "fs.etcdir")/dnsmasq.d/addresses.conf"
[[ "$BASHTARD_COMMAND" == "add" ]] && return
info "$BASHTARD_PLAYBOOK" "Restarting services"
svc restart dnsmasq
}
playbook_del() {
info "$BASHTARD_PLAYBOOK" "Disabling services"
svc stop dnsmasq
svc disable dnsmasq
info "$BASHTARD_PLAYBOOK" "Uninstalling packages"
pkg uninstall dnsmasq
}
|