svg

Coredns Pm2 Ecosystem

linux macos pm2 coredns

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
└─────┴────────────┴─────────────┴─────────┴─────────┴──────────┴────────┴──────┴───────────┴──────────┴──────────┴──────────┴──────────┘