TBR

v: renaming the v directory to go

Change-Id: I4fd9f6ee2895d8034c23b65927eb118980b3c17a
diff --git a/services/mgmt/profile/profiled/main.go b/services/mgmt/profile/profiled/main.go
new file mode 100644
index 0000000..0162f5f
--- /dev/null
+++ b/services/mgmt/profile/profiled/main.go
@@ -0,0 +1,48 @@
+package main
+
+import (
+	"flag"
+
+	"veyron/lib/signals"
+	"veyron/services/mgmt/profile/impl"
+
+	"veyron2/rt"
+	"veyron2/vlog"
+)
+
+func main() {
+	var storeName string
+	flag.StringVar(&storeName, "store", "", "veyron name of the profile manager store")
+	flag.Parse()
+	if storeName == "" {
+		vlog.Fatalf("Specify a store using --store=<name>")
+	}
+	runtime := rt.Init()
+	defer runtime.Shutdown()
+	server, err := runtime.NewServer()
+	if err != nil {
+		vlog.Fatalf("NewServer() failed: %v", err)
+	}
+	defer server.Stop()
+	dispatcher, err := impl.NewDispatcher(storeName)
+	if err != nil {
+		vlog.Fatalf("NewDispatcher() failed: %v", err)
+	}
+	suffix := ""
+	if err := server.Register(suffix, dispatcher); err != nil {
+		vlog.Fatalf("Register(%v, %v) failed: %v", suffix, dispatcher, err)
+	}
+	protocol, hostname := "tcp", "localhost:0"
+	endpoint, err := server.Listen(protocol, hostname)
+	if err != nil {
+		vlog.Fatalf("Listen(%v, %v) failed: %v", protocol, hostname, err)
+	}
+	name := ""
+	if err := server.Publish(name); err != nil {
+		vlog.Fatalf("Publish(%v) failed: %v", name, err)
+	}
+	vlog.VI(0).Infof("Profile manager published at %v/%v", endpoint, name)
+
+	// Wait until shutdown.
+	<-signals.ShutdownOnSignals()
+}