Murakumo

Description

Murakumo is the internal DNS server which manages name information using a gossip protocol.

Source Code

github.com/cookpad/murakumo

Dependency

  • RubyDNS

  • SQLite

  • Ruby1.9 (murakumo version is 0.6.0 or more)

Install

shell> gem install murakumo
shell> murakumo-install-init-script
shell> /etc/init.d/murakumo configure
shell> /etc/init.d/murakumo start
shell> dig @127.0.0.1 <hostname>

Example

display of a list of a record

shell> mrkmctl -L
IP address       TTL     Priority  Weight  Activity  Hostname
---------------  ------  --------  ------  --------  ----------
10.11.12.13          60  Origin         -  Active    my-host

addition of a record

shell> mrkmctl -A foo.bar,300,master,100
shell> mrkmctl -L
IP address       TTL     Priority  Weight  Activity  Hostname
---------------  ------  --------  ------  --------  ----------
10.11.12.13          60  Origin         -  Active    my-host
10.11.12.13         300  Master       100  Active    foo.bar

deletion of a record

shell> mrkmctl -D foo.bar
shell> mrkmctl -L
IP address       TTL     Priority  Weight  Activity  Hostname
---------------  ------  --------  ------  --------  ----------
10.11.12.13          60  Origin         -  Active    my-host

addition of a node

shell> mrkmctl -a 10.11.12.14
shell> mrkmctl -L
IP address       TTL     Priority  Weight  Activity  Hostname
---------------  ------  --------  ------  --------  ----------
10.11.12.13          60  Origin         -  Active    my-host
10.11.12.14          60  Origin         -  Active    other-host