depenv: ntppool configuration for deployment environments
This commit is contained in:
67
config/depenv/depenv.go
Normal file
67
config/depenv/depenv.go
Normal file
@@ -0,0 +1,67 @@
|
||||
package depenv
|
||||
|
||||
import "os"
|
||||
|
||||
var manageServers = map[DeploymentEnvironment]string{
|
||||
DeployDevel: "https://manage.askdev.grundclock.com",
|
||||
DeployTest: "https://manage.beta.grundclock.com",
|
||||
DeployProd: "https://manage.ntppool.org",
|
||||
}
|
||||
|
||||
var apiServers = map[DeploymentEnvironment]string{
|
||||
DeployDevel: "https://dev-api.ntppool.dev",
|
||||
DeployTest: "https://beta-api.ntppool.dev",
|
||||
DeployProd: "https://api.ntppool.dev",
|
||||
}
|
||||
|
||||
// var validationServers = map[DeploymentEnvironment]string{
|
||||
// DeployDevel: "https://v.ntp.dev/d/",
|
||||
// DeployTest: "https://v.ntp.dev/b/",
|
||||
// DeployProd: "https://v.ntp.dev/p/",
|
||||
// }
|
||||
|
||||
const (
|
||||
DeployUndefined DeploymentEnvironment = iota
|
||||
DeployDevel
|
||||
DeployTest
|
||||
DeployProd
|
||||
)
|
||||
|
||||
type DeploymentEnvironment uint8
|
||||
|
||||
func DeploymentEnvironmentFromString(s string) DeploymentEnvironment {
|
||||
switch s {
|
||||
case "devel", "dev":
|
||||
return DeployDevel
|
||||
case "test", "beta":
|
||||
return DeployTest
|
||||
case "prod":
|
||||
return DeployProd
|
||||
default:
|
||||
return DeployUndefined
|
||||
}
|
||||
}
|
||||
|
||||
func (d DeploymentEnvironment) String() string {
|
||||
switch d {
|
||||
case DeployProd:
|
||||
return "prod"
|
||||
case DeployTest:
|
||||
return "test"
|
||||
case DeployDevel:
|
||||
return "devel"
|
||||
default:
|
||||
panic("invalid DeploymentEnvironment")
|
||||
}
|
||||
}
|
||||
|
||||
func (d DeploymentEnvironment) APIHost() string {
|
||||
if apiHost := os.Getenv("API_HOST"); apiHost != "" {
|
||||
return apiHost
|
||||
}
|
||||
return apiServers[d]
|
||||
}
|
||||
|
||||
func (d DeploymentEnvironment) ManageURL(path string) string {
|
||||
return manageServers[d] + path
|
||||
}
|
Reference in New Issue
Block a user