Files
infra-provisioner/types.go

55 lines
1.4 KiB
Go

package main
var workspaceMap = map[string]string{
"prod": "aps1.prod.navi-tech.in",
"cmd": "prod.cmd.navi-tech.in",
"dev": "nonprod.np.navi-tech.in",
"qa": "nonprod.np.navi-tech.in",
"spike": "spike.np.navi-tech.in",
}
const DEPLOYMENT_NAME_SUFFIX = "navi-service"
type Deployment struct {
Name string `json:"name"`
NameSuffix string
}
type Manifest struct {
ExtraResources ExtraResources `json:"extraResources"`
Team Team `json:"team"`
Deployment Deployment `json:"deployment"`
}
type ExtraResources struct {
Environment string `json:"environment"`
Workspace string
Database Database `json:"database"`
ServiceRole ServiceRole `json:"aws_access"`
}
//We provide defaults in respective terraforms instead of here to keep all values at one place
type Database struct {
AwsInstanceClass string `json:"awsInstanceClass"`
PsqlFamily string `json:"psqlFamily"`
PsqlEngineVersion string `json:"psqlEngineVersion"`
User string `json:"user"`
Password string `json:"password"`
SizeInGb int `json:"sizeInGb"`
DbNames []string `json:"dbNames"`
InstanceName string `json:"instanceName"`
}
type Team struct {
Name string `json:"name"`
}
type Policies struct {
Actions []string `json:"actions"`
Resource string `json:"resource"`
}
type ServiceRole struct {
Policies []Policies `json:"policies"`
}