hostinfo: add an environment type for Replit

Signed-off-by: Anton Tolchanov <anton@tailscale.com>
This commit is contained in:
Anton Tolchanov 2023-01-24 12:14:01 +00:00 committed by Anton Tolchanov
parent e8b695626e
commit 586a88c710

View File

@ -139,6 +139,7 @@ func packageTypeCached() string {
FlyDotIo = EnvType("fly") FlyDotIo = EnvType("fly")
Kubernetes = EnvType("k8s") Kubernetes = EnvType("k8s")
DockerDesktop = EnvType("dde") DockerDesktop = EnvType("dde")
Replit = EnvType("repl")
) )
var envType atomic.Value // of EnvType var envType atomic.Value // of EnvType
@ -226,6 +227,9 @@ func getEnvType() EnvType {
if inDockerDesktop() { if inDockerDesktop() {
return DockerDesktop return DockerDesktop
} }
if inReplit() {
return Replit
}
return "" return ""
} }
@ -313,6 +317,14 @@ func inFlyDotIo() bool {
return false return false
} }
func inReplit() bool {
// https://docs.replit.com/programming-ide/getting-repl-metadata
if os.Getenv("REPL_OWNER") != "" && os.Getenv("REPL_SLUG") != "" {
return true
}
return false
}
func inKubernetes() bool { func inKubernetes() bool {
if os.Getenv("KUBERNETES_SERVICE_HOST") != "" && os.Getenv("KUBERNETES_SERVICE_PORT") != "" { if os.Getenv("KUBERNETES_SERVICE_HOST") != "" && os.Getenv("KUBERNETES_SERVICE_PORT") != "" {
return true return true