#!/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 }