diff --git a/Gopkg.lock b/Gopkg.lock
index 9058ae0..e565ddc 100644
--- a/Gopkg.lock
+++ b/Gopkg.lock
@@ -10,6 +10,14 @@
   revision = "624295da664fea57a1e3bd8cee639ae04f4c0ccf"
 
 [[projects]]
+  branch = "master"
+  digest = "1:48353f64f7cc9626e4396b286552812a40a9c1d3e653d51ecbe6cedf2c4f4778"
+  name = "code.hackerspace.pl/q3k/mirko"
+  packages = ["."]
+  pruneopts = "UT"
+  revision = "b21f9b9a2ec6ada755aac41595acdf1961d3c48d"
+
+[[projects]]
   digest = "1:d1665c44bd5db19aaee18d1b6233c99b0b9a986e8bccb24ef54747547a48027f"
   name = "github.com/PuerkitoBio/purell"
   packages = ["."]
@@ -180,10 +188,11 @@
   revision = "23def4e6c14b4da8ac2ed8007337bc5eb5007998"
 
 [[projects]]
-  digest = "1:4c0989ca0bcd10799064318923b9bc2db6b4d6338dd75f3f2d86c3511aaaf5cf"
+  digest = "1:5d1b5a25486fc7d4e133646d834f6fca7ba1cef9903d40e7aa786c41b89e9e91"
   name = "github.com/golang/protobuf"
   packages = [
     "proto",
+    "protoc-gen-go/descriptor",
     "ptypes",
     "ptypes/any",
     "ptypes/duration",
@@ -301,7 +310,7 @@
   revision = "af9cb2a35e7f169ec875002c1829c9b315cddc04"
 
 [[projects]]
-  digest = "1:ab8e92d746fb5c4c18846b0879842ac8e53b3d352449423d0924a11f1020ae1b"
+  digest = "1:dc0c170b110c22d9a4eccf08ab58490608053eac450bf456f3aaf9b30a668781"
   name = "google.golang.org/grpc"
   packages = [
     ".",
@@ -324,6 +333,8 @@
     "metadata",
     "naming",
     "peer",
+    "reflection",
+    "reflection/grpc_reflection_v1alpha",
     "resolver",
     "resolver/dns",
     "resolver/passthrough",
@@ -367,6 +378,7 @@
   analyzer-version = 1
   input-imports = [
     "code.hackerspace.pl/q3k/hspki",
+    "code.hackerspace.pl/q3k/mirko",
     "github.com/digitalocean/go-netbox/netbox",
     "github.com/digitalocean/go-netbox/netbox/client",
     "github.com/digitalocean/go-netbox/netbox/client/dcim",
diff --git a/graph/.graph.go.swp b/graph/.graph.go.swp
deleted file mode 100644
index 14109d8..0000000
--- a/graph/.graph.go.swp
+++ /dev/null
Binary files differ
diff --git a/main.go b/main.go
index 87675bc..bbaba70 100644
--- a/main.go
+++ b/main.go
@@ -7,6 +7,7 @@
 	"flag"
 	"io/ioutil"
 
+	"code.hackerspace.pl/q3k/mirko"
 	"github.com/digitalocean/go-netbox/netbox"
 	"github.com/digitalocean/go-netbox/netbox/client"
 	"github.com/golang/glog"
@@ -22,7 +23,6 @@
 	flagConfigPath   string
 	flagNetboxHost   string
 	flagNetboxAPIKey string
-	flagDebugListen  string
 )
 
 func init() {
@@ -33,9 +33,13 @@
 	flag.StringVar(&flagConfigPath, "config_path", "./topo.pb.text", "Text proto configuration of Topo (per config.proto)")
 	flag.StringVar(&flagNetboxHost, "netbox_host", "netbox.bgp.wtf", "Netbox host")
 	flag.StringVar(&flagNetboxAPIKey, "netbox_api_key", "", "Netbox API key")
-	flag.StringVar(&flagDebugListen, "debug_listen", "127.0.0.1:42001", "Debug HTTP listen address")
 	flag.Parse()
 
+	m := mirko.New()
+	if err := m.Listen(); err != nil {
+		glog.Exitf("Listen(): %v", err)
+	}
+
 	ctx := context.Background()
 
 	data, err := ioutil.ReadFile(flagConfigPath)
@@ -65,9 +69,12 @@
 		glog.Exitf("Initial netbox feed failed: %v", err)
 	}
 
-	sconf := ServiceConfig{
-		DebugListen: flagDebugListen,
+	s := NewService(gr, stm)
+	s.Setup(m)
+
+	if err := m.Serve(); err != nil {
+		glog.Exitf("Serve(): %v", err)
 	}
-	srv := NewService(gr, stm, sconf)
-	srv.Run()
+
+	select {}
 }
diff --git a/service.go b/service.go
index 03fd218..ec75153 100644
--- a/service.go
+++ b/service.go
@@ -7,8 +7,8 @@
 	"sort"
 	"strings"
 
+	"code.hackerspace.pl/q3k/mirko"
 	"github.com/gobuffalo/packr"
-	"github.com/golang/glog"
 	"github.com/q3k/statusz"
 	"vbom.ml/util/sortorder"
 
@@ -18,21 +18,15 @@
 	pb "code.hackerspace.pl/q3k/topo/proto/control"
 )
 
-type ServiceConfig struct {
-	DebugListen string
-}
-
 type Service struct {
-	gr     *graph.Graph
-	stm    *state.StateManager
-	config ServiceConfig
+	gr  *graph.Graph
+	stm *state.StateManager
 }
 
-func NewService(gr *graph.Graph, stm *state.StateManager, c ServiceConfig) *Service {
+func NewService(gr *graph.Graph, stm *state.StateManager) *Service {
 	return &Service{
-		gr:     gr,
-		stm:    stm,
-		config: c,
+		gr:  gr,
+		stm: stm,
 	}
 }
 
@@ -110,20 +104,14 @@
 	</div>
 `
 
-func (s *Service) Run() {
+func (s *Service) Setup(m *mirko.Mirko) {
 	assets := packr.NewBox("./assets")
-	http.Handle("/assets/", http.StripPrefix("/assets/", http.FileServer(assets)))
-	http.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) {
-		http.Redirect(w, r, "/debug/status", http.StatusSeeOther)
-	})
-	http.HandleFunc("/debug/graphviz", s.httpHandleGraphviz)
-
+	m.HTTPMux().Handle("/assets/", http.StripPrefix("/assets/", http.FileServer(assets)))
+	m.HTTPMux().HandleFunc("/debug/graphviz", s.httpHandleGraphviz)
 	statusz.AddStatusPart("Switch Ports", switchportsFragment, s.statusHandleSwitchports)
 	statusz.AddStatusPart("Topology", topologyFragment, func(ctx context.Context) interface{} {
 		return nil
 	})
-	glog.Infof("Debug listening on %s....", s.config.DebugListen)
-	http.ListenAndServe(s.config.DebugListen, nil)
 }
 
 func (s *Service) statusHandleSwitchports(ctx context.Context) interface{} {
