outpost: remove analytics

Signed-off-by: Jens Langhammer <jens.langhammer@beryju.org>
This commit is contained in:
Jens Langhammer 2021-11-08 19:35:53 +01:00
parent 9ca15983a2
commit e6963c543d
2 changed files with 0 additions and 85 deletions

View File

@ -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")
}
}

View File

@ -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")