From 651f15d9b8bde1b024f97a42e92634afdc1eeda7 Mon Sep 17 00:00:00 2001 From: Emile Date: Mon, 27 Jan 2020 20:13:15 +0100 Subject: moved the source into an own folder --- src/main.go | 49 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 49 insertions(+) create mode 100644 src/main.go (limited to 'src/main.go') diff --git a/src/main.go b/src/main.go new file mode 100644 index 0000000..74f8f51 --- /dev/null +++ b/src/main.go @@ -0,0 +1,49 @@ +package main + +import ( + "log" + "net/http" + + "github.com/gliderlabs/ssh" + "github.com/gorilla/mux" +) + +var ( + metrics_num_passwords int + metrics_city_num map[string]int + cities map[string]location +) + +func main() { + + // create a map mapping a city to an amount of hits + metrics_city_num = make(map[string]int) + + // create a cities map mapping a city to a location + cities = make(map[string]location) + + // start the ssh server + log.Println("Starting SSH listener") + go func() { + listenErr := ssh.ListenAndServe(":2222", nil, ssh.PasswordAuth(handlePass)) + if listenErr != nil { + log.Fatalln(listenErr.Error()) + } + }() + + // start the http server logging the metrics + log.Println("Starting HTTP metrics listener") + + r := mux.NewRouter() + r.HandleFunc("/", indexHandler) + r.HandleFunc("/metrics", metricsHandler) + r.HandleFunc("/locations", locationHandlerEndpoint) + + // start the http server exposing the metrics and the locations + listenErr := http.ListenAndServe(":8084", r) + + // handle potential errors + if listenErr != nil { + log.Fatalln(listenErr.Error()) + } +} -- cgit 1.4.1