package depenv import ( "fmt" "strings" ) var monitorApiServers = map[DeploymentEnvironment]string{ DeployDevel: "https://api.devel.mon.ntppool.dev", DeployTest: "https://api.test.mon.ntppool.dev", DeployProd: "https://api.mon.ntppool.dev", } func (d DeploymentEnvironment) MonitorAPIHost() string { return monitorApiServers[d] } func GetDeploymentEnvironmentFromName(clientName string) (DeploymentEnvironment, error) { clientName = strings.ToLower(clientName) if !strings.HasSuffix(clientName, ".mon.ntppool.dev") { return DeployUndefined, fmt.Errorf("invalid client name %s", clientName) } if clientName == "api.mon.ntppool.dev" { return DeployProd, nil } prefix := clientName[:strings.Index(clientName, ".mon.ntppool.dev")] parts := strings.Split(prefix, ".") if len(parts) != 2 { return DeployUndefined, fmt.Errorf("invalid client name %s", clientName) } if d := DeploymentEnvironmentFromString(parts[1]); d != DeployUndefined { return d, nil } return DeployUndefined, fmt.Errorf("invalid client name %s (unknown environment %s)", clientName, parts[1]) }