etcd/main.go
Blake Mizerany 22c8ec0a80 ...
2014-09-03 09:20:18 -07:00

37 lines
758 B
Go

package main
import (
"flag"
"log"
"net/http"
etcdserver "github.com/coreos/etcd/etcdserver2"
"github.com/coreos/etcd/etcdserver2/etcdhttp"
"github.com/coreos/etcd/raft"
"github.com/coreos/etcd/raft/raftpb"
)
var (
id = flag.String("id", "default", "The id of this server")
)
func main() {
const V2Prefix = "/v2"
peers := etcdhttp.Discover(V2Prefix, peerips)
n := raft.Start(*id, peers.Ids())
s := &etcdserver.Server{
Node: n,
Save: func(st raftpb.State, ents []raftpb.Entry) {}, // TODO: use wal
Send: etcdhttp.Sender(V2Prefix),
}
etcdserver.Start(s)
h := &etcdhttp.Handler{
Timeout: timeout,
Server: s,
Peers: peers,
}
http.Handle(V2Prefix, http.StripPrefix(V2Prefix, h))
log.Fatal(http.ListenAndServe(*laddr, nil))
}