token-validator: Implement token collector
This commit is contained in:
parent
ae3b2e6f3b
commit
3e3a0e9e37
3 changed files with 60 additions and 3 deletions
|
@ -2,6 +2,7 @@ package main
|
|||
|
||||
import (
|
||||
"context"
|
||||
"encoding/base64"
|
||||
"flag"
|
||||
"fmt"
|
||||
"log"
|
||||
|
@ -16,7 +17,9 @@ import (
|
|||
"git.nemunai.re/lectures/adlin/libadlin"
|
||||
)
|
||||
|
||||
var baseURL string = "/"
|
||||
var (
|
||||
baseURL string = "/"
|
||||
)
|
||||
|
||||
type ResponseWriterPrefix struct {
|
||||
real http.ResponseWriter
|
||||
|
@ -59,6 +62,8 @@ func StripPrefix(prefix string, h http.Handler) http.Handler {
|
|||
}
|
||||
|
||||
func main() {
|
||||
var err error
|
||||
|
||||
if v, exists := os.LookupEnv("ADLIN_NS_HOST"); exists {
|
||||
ControlSocket = v
|
||||
}
|
||||
|
@ -68,6 +73,13 @@ func main() {
|
|||
if v, exists := os.LookupEnv("ADLIN_TSIG_SECRET"); exists {
|
||||
tsigSecret = v
|
||||
}
|
||||
if v, exists := os.LookupEnv("ADLIN_COLLECTOR_SECRET"); !exists {
|
||||
log.Fatal("Please define ADLIN_COLLECTOR_SECRET environment variable")
|
||||
} else if t, err := base64.StdEncoding.DecodeString(v); err != nil {
|
||||
log.Fatal("Error reading ADLIN_COLLECTOR_SECRET variable:", err)
|
||||
} else {
|
||||
adlin.SetCollectorSecret(t)
|
||||
}
|
||||
|
||||
var bind = flag.String("bind", ":8081", "Bind port/socket")
|
||||
var dsn = flag.String("dsn", adlin.DSNGenerator(), "DSN to connect to the MySQL server")
|
||||
|
@ -82,7 +94,6 @@ func main() {
|
|||
flag.Parse()
|
||||
|
||||
// Sanitize options
|
||||
var err error
|
||||
log.Println("Checking paths...")
|
||||
if err = sanitizeStaticOptions(); err != nil {
|
||||
log.Fatal(err)
|
||||
|
|
Reference in a new issue