blob: 5a20c2686750af69ba800454bc3e96deef9e5f93 [file] [log] [blame]
giolekvaf89e0462020-05-02 17:47:06 +04001package main
2
3import (
4 "flag"
5
6 "k8s.io/client-go/kubernetes"
7 "k8s.io/client-go/rest"
8 "k8s.io/client-go/tools/clientcmd"
9
10 "github.com/giolekva/pcloud/events"
11
12 "github.com/golang/glog"
13)
14
15var kubeconfig = flag.String("kubeconfig", "", "Absolute path to the kubeconfig file.")
16var apiAddr = flag.String("api_addr", "", "PCloud API server address.")
17var objectStoreAddr = flag.String("object_store_addr", "", "S3 compatible object store address.")
18
19func getKubeConfig() (*rest.Config, error) {
20 if *kubeconfig != "" {
21 return clientcmd.BuildConfigFromFlags("", *kubeconfig)
22 } else {
23 return rest.InClusterConfig()
24 }
25}
26
27func main() {
28 flag.Parse()
29 config, err := getKubeConfig()
30 if err != nil {
31 glog.Fatalf("Could not initialize Kubeconfig: %v", err)
32 }
33 clientset, err := kubernetes.NewForConfig(config)
34 if err != nil {
35 glog.Fatalf("Could not create Kubernetes API client: %v", err)
36 }
37 pods := clientset.CoreV1().Pods("default")
38 eventStore := events.NewGraphQLClient(*apiAddr)
giolekvad2618252020-05-02 19:39:02 +040039 events.NewSingleEventAtATimeProcessor(
giolekvaf89e0462020-05-02 17:47:06 +040040 eventStore, pods, *apiAddr, *objectStoreAddr).Start()
41}