webhooks/alloydb-nodeselector-mwh/main.go (37 lines of code) (raw):

package main import ( "crypto/tls" "log" "net/http" "os" "path/filepath" "github.com/rmishgoog/alloydb-nodelselector-mwh/handlers" ) func main() { handlers.BuildSelectors() handlers.Routes() tlsCertRoot := os.Getenv("TLS_CERT_ROOT_DIR") if tlsCertRoot == "" { log.Fatalf("main()::TLS_CERT_ROOT_DIR environment variables must be set, could not load the certifcates, exiting") } certFile := filepath.Join(tlsCertRoot, "tls.crt") keyFile := filepath.Join(tlsCertRoot, "tls.key") cert, err := tls.LoadX509KeyPair(certFile, keyFile) if err != nil { log.Fatalf("main()::Could not load TLS certificates, exiting with error %v", err) } tlsConfig := &tls.Config{ Certificates: []tls.Certificate{cert}, } port := os.Getenv("CONTAINER_PORT") if port == "" { port = "8443" } tlsServer := &http.Server{ Addr: "" + ":" + port, TLSConfig: tlsConfig, } if err := tlsServer.ListenAndServeTLS("", ""); err != nil && err != http.ErrServerClosed { log.Fatalf("main()::Could not start the webhook server at port %s, exiting with error %v", port, err) } }