Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
View Source
var RootCmd = &cobra.Command{ Version: "v0.3.1-alpha", Use: "procjon", Short: "procjon monitoring server", Long: `Procjon is simple monitoring tool that will report change in availability or status of registered services. Please refer to https://github.com/PiotrKozimor/procjon for details.`, Run: func(cmd *cobra.Command, args []string) { l, err := log.ParseLevel(logLevel) if err != nil { log.Fatalln(err) } log.SetLevel(l) logger.SetLevel(l) db, err := badger.Open(badger.DefaultOptions("services").WithLogger(logger)) if err != nil { log.Fatal(err) } slackWebhook := os.Getenv("PROCJON_SLACK_WEBHOOK") if len(slackWebhook) == 0 { log.Fatal("Please set PROCJON_SLACK_WEBHOOK env variable.") } var s = procjon.Server{ Sender: &sender.Slack{Webhook: slackWebhook}, DB: db, } b, err := ioutil.ReadFile(opts.RootCertPath) if err != nil { log.Fatalln(err) } cp := x509.NewCertPool() if !cp.AppendCertsFromPEM(b) { log.Fatalln("credentials: failed to append certificates") } cert, err := tls.LoadX509KeyPair(opts.CertPath, opts.KeyCertPath) if err != nil { log.Fatalln(err) } config := tls.Config{ Certificates: []tls.Certificate{cert}, ClientAuth: tls.RequireAndVerifyClientCert, ClientCAs: cp, } creds := credentials.NewTLS(&config) grpcServer := grpc.NewServer(grpc.Creds(creds)) pb.RegisterProcjonServer(grpcServer, &s) lis, err := net.Listen("tcp4", opts.Endpoint) if err != nil { log.Fatalf("failed to listen: %v", err) } defer lis.Close() err = grpcServer.Serve(lis) if err != nil { log.Fatalf("failed to listen: %v", err) } }, }
Functions ¶
This section is empty.
Types ¶
This section is empty.
Click to show internal directories.
Click to hide internal directories.