diff --git a/.gitignore b/.gitignore index 0c81346..a6c055e 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,3 @@ build .DS_Store -src/tsm/tsm +src/ntppm/ntppm diff --git a/.woodpecker.yml b/.woodpecker.yml index 08083e7..9e6f2e4 100644 --- a/.woodpecker.yml +++ b/.woodpecker.yml @@ -4,10 +4,10 @@ steps: commands: - GOPATH=/woodpecker/go - ls -l - - cd src/tsm + - cd src/ntppm - go mod tidy - - go build -a -installsuffix nocgo -o tsm tsm.go - - cp tsm ../.. + - go build -a -installsuffix nocgo -o ntppm ntppm.go + - cp ntppm ../.. when: - event: [push, tag] diff --git a/Dockerfile b/Dockerfile index 633e4e0..516a7f5 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,9 +1,9 @@ FROM scratch -ENV TSM_MQTT_CONF "" +ENV NTPPM_MQTT_CONF "" -COPY tsm ./ -ENTRYPOINT ["./tsm"] +COPY ntppm ./ +ENTRYPOINT ["./ntppm"] diff --git a/snippets/test01.go b/snippets/test01.go new file mode 100644 index 0000000..e3f442e --- /dev/null +++ b/snippets/test01.go @@ -0,0 +1,74 @@ +package main + +import ( + "encoding/json" + "fmt" + "io/ioutil" + "net/http" +) + +// Struktur für die JSON-Daten +type NTPResponse struct { + History []struct { + Timestamp int `json:"ts"` + Step int `json:"step"` + Score float64 `json:"score"` + MonitorID int `json:"monitor_id"` + } `json:"history"` + Monitors []struct { + ID int `json:"id"` + Name string `json:"name"` + Type string `json:"type"` + Ts string `json:"ts"` + Score float64 `json:"score"` + Status string `json:"status"` + } `json:"monitors"` + Server struct { + IP string `json:"ip"` + } `json:"server"` +} + +func main() { + // URL für die API-Abfrage + url := "https://www.ntppool.org/scores/93.241.86.156/json?limit=1&monitor=24" + + // HTTP-GET-Anfrage senden + resp, err := http.Get(url) + if err != nil { + fmt.Println("Fehler beim Abrufen der URL:", err) + return + } + defer resp.Body.Close() + + // Antwort lesen + body, err := ioutil.ReadAll(resp.Body) + if err != nil { + fmt.Println("Fehler beim Lesen der Antwort:", err) + return + } + + // JSON-Daten in Struct einlesen + var data NTPResponse + err = json.Unmarshal(body, &data) + if err != nil { + fmt.Println("Fehler beim Parsen des JSON:", err) + return + } + + // Ausgabe der eingelesenen Daten + fmt.Println("NTP Server IP:", data.Server.IP) + if len(data.History) > 0 { + fmt.Println("Letzte Messung:") + fmt.Printf(" Zeitstempel: %d\n", data.History[0].Timestamp) + fmt.Printf(" Score: %.2f\n", data.History[0].Score) + fmt.Printf(" Monitor ID: %d\n", data.History[0].MonitorID) + } + if len(data.Monitors) > 0 { + fmt.Println("Monitor Info:") + fmt.Printf(" Name: %s\n", data.Monitors[0].Name) + fmt.Printf(" Score: %.2f\n", data.Monitors[0].Score) + fmt.Printf(" Status: %s\n", data.Monitors[0].Status) + } +} + + diff --git a/src/tsm/config-test.json b/src/ntppm/config-test.json similarity index 100% rename from src/tsm/config-test.json rename to src/ntppm/config-test.json diff --git a/src/tsm/config/config.go b/src/ntppm/config/config.go similarity index 94% rename from src/tsm/config/config.go rename to src/ntppm/config/config.go index c0d8304..948c890 100644 --- a/src/tsm/config/config.go +++ b/src/ntppm/config/config.go @@ -28,7 +28,7 @@ type ConfigObject struct { var Config ConfigObject func LoadConfiguration() { - cfg := os.Getenv("TSM_MQTT_CONF") + cfg := os.Getenv("NTPPM_MQTT_CONF") log.Printf("cfg: %s", cfg) err := json.Unmarshal([]byte(cfg), &Config) if err != nil { diff --git a/src/tsm/go.mod b/src/ntppm/go.mod similarity index 87% rename from src/tsm/go.mod rename to src/ntppm/go.mod index b3f5bcb..a1dc176 100644 --- a/src/tsm/go.mod +++ b/src/ntppm/go.mod @@ -1,9 +1,8 @@ -module tsm +module ntppm go 1.22.5 require ( - github.com/beevik/ntp v1.4.3 github.com/eclipse/paho.mqtt.golang v1.4.3 github.com/google/uuid v1.6.0 ) diff --git a/src/tsm/go.sum b/src/ntppm/go.sum similarity index 100% rename from src/tsm/go.sum rename to src/ntppm/go.sum diff --git a/src/tsm/mqtt/mqtt.go b/src/ntppm/mqtt/mqtt.go similarity index 100% rename from src/tsm/mqtt/mqtt.go rename to src/ntppm/mqtt/mqtt.go diff --git a/src/tsm/tsm.go b/src/ntppm/ntppm.go similarity index 75% rename from src/tsm/tsm.go rename to src/ntppm/ntppm.go index 17ef26d..8b97fde 100644 --- a/src/tsm/tsm.go +++ b/src/ntppm/ntppm.go @@ -5,14 +5,14 @@ import ( "os" "os/signal" - "tsm/config" - "tsm/mqtt" - "tsm/tsmq" + "ntppm/config" + "ntppm/mqtt" + "ntppm/ntppq" ) func main() { - log.SetPrefix("TSM: ") + log.SetPrefix("NTPPM: ") log.SetFlags(log.Ldate | log.Ltime | log.Lshortfile) log.Println("starting") @@ -22,8 +22,8 @@ func main() { mqtt.Start() defer mqtt.Stop() - tsmq.Start() - defer tsmq.Stop() + ntppq.Start() + defer ntppq.Stop() c := make(chan os.Signal, 1) signal.Notify(c, os.Interrupt, os.Kill) diff --git a/src/tsm/tsmq/tsmq.go b/src/ntppm/ntppq/ntppq.go similarity index 96% rename from src/tsm/tsmq/tsmq.go rename to src/ntppm/ntppq/ntppq.go index 70707c0..2d5a5b6 100644 --- a/src/tsm/tsmq/tsmq.go +++ b/src/ntppm/ntppq/ntppq.go @@ -1,4 +1,4 @@ -package tsmq +package ntppq import ( "log" @@ -6,10 +6,8 @@ import ( "strconv" "encoding/json" - "tsm/config" - "tsm/mqtt" - - "github.com/beevik/ntp" + "ntppm/config" + "ntppm/mqtt" ) type variable_t struct {