outpost: remove analytics
Signed-off-by: Jens Langhammer <jens.langhammer@beryju.org>
This commit is contained in:
		| @ -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
	
	Block a user
	 Jens Langhammer
					Jens Langhammer