events: move to core/events
diff --git a/core/events/cmd/main.go b/core/events/cmd/main.go
new file mode 100644
index 0000000..a3944e7
--- /dev/null
+++ b/core/events/cmd/main.go
@@ -0,0 +1,42 @@
+package main
+
+import (
+ "flag"
+
+ "k8s.io/client-go/kubernetes"
+ "k8s.io/client-go/rest"
+ "k8s.io/client-go/tools/clientcmd"
+
+ "github.com/giolekva/pcloud/core/events"
+
+ "github.com/golang/glog"
+)
+
+var kubeconfig = flag.String("kubeconfig", "", "Absolute path to the kubeconfig file.")
+var apiAddr = flag.String("api_addr", "", "PCloud API server address.")
+var appManagerAddr = flag.String("app_manager_addr", "", "PCloud AppManager address.")
+var objectStoreAddr = flag.String("object_store_addr", "", "S3 compatible object store address.")
+
+func getKubeConfig() (*rest.Config, error) {
+ if *kubeconfig != "" {
+ return clientcmd.BuildConfigFromFlags("", *kubeconfig)
+ } else {
+ return rest.InClusterConfig()
+ }
+}
+
+func main() {
+ flag.Parse()
+ kubeconfig, err := getKubeConfig()
+ if err != nil {
+ glog.Fatalf("Could not initialize Kubeconfig: %v", err)
+ }
+ kube, err := kubernetes.NewForConfig(kubeconfig)
+ if err != nil {
+ glog.Fatalf("Could not create Kubernetes API client: %v", err)
+ }
+ eventStore := events.NewGraphQLClient(*apiAddr)
+ appManager := events.NewAppManagerClient(*appManagerAddr)
+ events.NewSingleEventAtATimeProcessor(
+ eventStore, appManager, kube, *apiAddr, *objectStoreAddr).Start()
+}