outpost: remove analytics
Signed-off-by: Jens Langhammer <jens.langhammer@beryju.org>
This commit is contained in:
parent
9ca15983a2
commit
e6963c543d
|
@ -1,84 +0,0 @@
|
||||||
package ak
|
|
||||||
|
|
||||||
import (
|
|
||||||
"bytes"
|
|
||||||
"crypto/sha512"
|
|
||||||
"encoding/hex"
|
|
||||||
"encoding/json"
|
|
||||||
"errors"
|
|
||||||
"fmt"
|
|
||||||
"io/ioutil"
|
|
||||||
"net/http"
|
|
||||||
"net/url"
|
|
||||||
"os"
|
|
||||||
|
|
||||||
log "github.com/sirupsen/logrus"
|
|
||||||
"goauthentik.io/internal/constants"
|
|
||||||
)
|
|
||||||
|
|
||||||
func exists(name string) bool {
|
|
||||||
_, err := os.Stat(name)
|
|
||||||
if err == nil {
|
|
||||||
return true
|
|
||||||
}
|
|
||||||
if errors.Is(err, os.ErrNotExist) {
|
|
||||||
return false
|
|
||||||
}
|
|
||||||
return false
|
|
||||||
}
|
|
||||||
|
|
||||||
func getEnv() string {
|
|
||||||
if _, o := os.LookupEnv("KUBERNETES_SERVICE_HOST"); o {
|
|
||||||
return "kubernetes"
|
|
||||||
}
|
|
||||||
if _, o := os.LookupEnv("CI"); o {
|
|
||||||
return "ci"
|
|
||||||
}
|
|
||||||
if exists("/tmp/authentik-mode") {
|
|
||||||
return "embedded"
|
|
||||||
}
|
|
||||||
return "custom"
|
|
||||||
}
|
|
||||||
|
|
||||||
func analytics(akURL url.URL, on string, t string) {
|
|
||||||
if _, s := os.LookupEnv("AUTHENTIK_DISABLE_ANALYTICS"); s {
|
|
||||||
return
|
|
||||||
}
|
|
||||||
e := getEnv()
|
|
||||||
if e == "ci" {
|
|
||||||
return
|
|
||||||
}
|
|
||||||
body := struct {
|
|
||||||
Domain string `json:"domain"`
|
|
||||||
Name string `json:"name"`
|
|
||||||
URL string `json:"url"`
|
|
||||||
Referrer string `json:"referrer"`
|
|
||||||
}{
|
|
||||||
Domain: "authentik",
|
|
||||||
Name: "pageview",
|
|
||||||
URL: fmt.Sprintf("http://localhost/outpost/%s/%s", e, t),
|
|
||||||
Referrer: fmt.Sprintf("%s (%s)", constants.VERSION, constants.BUILD()),
|
|
||||||
}
|
|
||||||
b, err := json.Marshal(body)
|
|
||||||
if err != nil {
|
|
||||||
log.WithError(err).Debug("test")
|
|
||||||
}
|
|
||||||
ua := fmt.Sprintf("%s-%s", akURL.Host, on)
|
|
||||||
h := sha512.New()
|
|
||||||
h.Write([]byte(ua))
|
|
||||||
|
|
||||||
req, err := http.NewRequest("POST", "https://goauthentik.io/api/event", bytes.NewReader(b))
|
|
||||||
if err != nil {
|
|
||||||
log.WithError(err).Debug("test")
|
|
||||||
}
|
|
||||||
req.Header.Set("Content-Type", "text/plain")
|
|
||||||
req.Header.Set("User-Agent", hex.EncodeToString(h.Sum(nil)))
|
|
||||||
r, err := http.DefaultClient.Do(req)
|
|
||||||
if err != nil {
|
|
||||||
log.WithError(err).Debug("test")
|
|
||||||
}
|
|
||||||
if r.StatusCode >= 400 {
|
|
||||||
b, _ := ioutil.ReadAll(r.Body)
|
|
||||||
log.WithField("status", r.StatusCode).WithField("body", string(b)).Debug("failed")
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -67,7 +67,6 @@ func NewAPIController(akURL url.URL, token string) *APIController {
|
||||||
}
|
}
|
||||||
outpost := outposts.Results[0]
|
outpost := outposts.Results[0]
|
||||||
doGlobalSetup(outpost.Config)
|
doGlobalSetup(outpost.Config)
|
||||||
go analytics(akURL, outpost.Name, string(outpost.Type))
|
|
||||||
|
|
||||||
log.WithField("name", outpost.Name).Debug("Fetched outpost configuration")
|
log.WithField("name", outpost.Name).Debug("Fetched outpost configuration")
|
||||||
|
|
||||||
|
|
Reference in New Issue