From 90f0b79d451e1a894364c1af9b13f63f7de7abff Mon Sep 17 00:00:00 2001 From: Massimiliano Adamo <maxadamo@gmail.com> Date: Thu, 1 Sep 2022 13:56:28 +0200 Subject: [PATCH] fix tokens --- main.go | 23 +++++++---------------- 1 file changed, 7 insertions(+), 16 deletions(-) diff --git a/main.go b/main.go index 5074a0f..f8c941c 100644 --- a/main.go +++ b/main.go @@ -31,17 +31,6 @@ func init() { ErrorLogger = log.New(os.Stdout, "ERROR: ", log.Ldate|log.Ltime) } -// write file -/* -func writeFile(fileContent string, filePath string) { - content := []byte(fileContent) - err := os.WriteFile(filePath, content, 0644) - if err != nil { - WarningLogger.Println(err) - } -} -*/ - // serve certificates JSON func renderJSON(w http.ResponseWriter, req *http.Request) { provider := strings.Split(req.URL.Path, "/")[2] @@ -80,27 +69,29 @@ func renderPage(w http.ResponseWriter, req *http.Request) { // trigger puppet func triggerPuppet(w http.ResponseWriter, req *http.Request) { - cmd := exec.Command("/usr/bin/pkill", "-f", "/opt/puppetlabs/puppet/bin/puppet", "-s", "SIGUSR1") + cmd := exec.Command("/usr/bin/pkill", "-f", "/opt/puppetlabs/puppet/bin/puppet", "--signal", "SIGUSR1") authToken := "BOFH" _, ok := req.Header["Authorization"] if ok { authToken = strings.Split(req.Header.Get("Authorization"), "Bearer ")[1] } okMsg := fmt.Sprintln("{\n \"status\": \"OK\",\n \"response\": 200\n}") - koMsg := fmt.Sprintln("{\n \"status\": \"OK\",\n \"response\": 401\n}") + unauthorizedMsg := fmt.Sprintln("{\n \"status\": \"OK\",\n \"response\": 401\n}") + unavailableMsg := fmt.Sprintln("{\n \"status\": \"OK\",\n \"response\": 503\n}") + w.Header().Set("Content-Type", "application/json") if authToken != bearerToken { - http.Error(w, koMsg, http.StatusUnauthorized) + http.Error(w, unauthorizedMsg, http.StatusUnauthorized) } else { err := cmd.Run() if err != nil { WarningLogger.Println(err) - w.WriteHeader(http.StatusServiceUnavailable) + http.Error(w, unavailableMsg, http.StatusServiceUnavailable) } else { if verboseBool { InfoLogger.Printf("HTTP Status %v", http.StatusOK) } - http.Error(w, okMsg, http.StatusAccepted) + http.Error(w, okMsg, http.StatusOK) } } } -- GitLab