Salah satu cara untuk membuat daemon coredns yang universal (bisa di linux dan mac os) adalah menggunakan pm2. Pertama kita generate ecosystem.config.js
pm2 init simple
edit ecosystem.config.js menjadi:
module.exports = {
apps : [{
name : "CoreDNS",
script : "/Users/sumar/opt/coredns",
args: "-conf /Users/sumar/etc/coredns/Corefile",
max_memory_restart: "100M",
instances: "1"
}]
}
isi dari /Users/sumar/etc/coredns/Corefile
.:53 {
any
errors
log
forward . tls://8.8.8.8 tls://8.8.4.4 {
tls_servername dns.google
health_check 60s
}
}
internal-site.localdomain:53 {
file /Users/sumar/etc/coredns/internal-site.localdomain.db
log
errors
}
untuk start:
pm2 start ecosystem.config.js
Outputnya:
[PM2] Applying action restartProcessId on app [CoreDNS](ids: [ 0 ])
[PM2] [CoreDNS](0) ✓
┌─────┬────────────┬─────────────┬─────────┬─────────┬──────────┬────────┬──────┬───────────┬──────────┬──────────┬──────────┬──────────┐
│ id │ name │ namespace │ version │ mode │ pid │ uptime │ ↺ │ status │ cpu │ mem │ user │ watching │
├─────┼────────────┼─────────────┼─────────┼─────────┼──────────┼────────┼──────┼───────────┼──────────┼──────────┼──────────┼──────────┤
│ 0 │ CoreDNS │ default │ N/A │ fork │ 4604 │ 0s │ 1 │ online │ 0% │ 5.4mb │ sumar │ disabled │
└─────┴────────────┴─────────────┴─────────┴─────────┴──────────┴────────┴──────┴───────────┴──────────┴──────────┴──────────┴──────────┘