sumarsono.com
Take it with a grain of salt


Coredns Pm2 Ecosystem

Posted on

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