msp/cloudsql: make max_connections configurable (#60000)

This commit is contained in:
Robert Lin 2024-01-30 15:47:29 -08:00 committed by GitHub
parent 4dba9938d9
commit afe49d23e2
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 14 additions and 4 deletions

View File

@ -64,6 +64,17 @@ func New(scope constructs.Construct, id resourceid.ID, config Config) (*Output,
pointers.Deref(config.Spec.CPU, 1),
pointers.Deref(config.Spec.MemoryGB, 4)*1024)
databaseFlags := []sqldatabaseinstance.SqlDatabaseInstanceSettingsDatabaseFlags{{
Name: pointers.Ptr("cloudsql.iam_authentication"),
Value: pointers.Ptr("on"),
}}
if config.Spec.MaxConnections != nil {
databaseFlags = append(databaseFlags, sqldatabaseinstance.SqlDatabaseInstanceSettingsDatabaseFlags{
Name: pointers.Ptr("max_connections"),
Value: pointers.Stringf("%d", *config.Spec.MaxConnections),
})
}
instance := sqldatabaseinstance.NewSqlDatabaseInstance(scope, id.TerraformID("instance"), &sqldatabaseinstance.SqlDatabaseInstanceConfig{
Project: &config.ProjectID,
Region: &config.Region,
@ -89,10 +100,7 @@ func New(scope constructs.Construct, id resourceid.ID, config Config) (*Output,
DiskAutoresize: pointers.Ptr(true),
DiskAutoresizeLimit: pointers.Float64(0),
DatabaseFlags: []sqldatabaseinstance.SqlDatabaseInstanceSettingsDatabaseFlags{{
Name: pointers.Ptr("cloudsql.iam_authentication"),
Value: pointers.Ptr("on"),
}},
DatabaseFlags: databaseFlags,
// 🚨SECURITY🚨 SOC2/CI-79
// Production disks for MSP are configured with daily snapshots and retention set at ninety days,

View File

@ -611,6 +611,8 @@ type EnvironmentResourcePostgreSQLSpec struct {
// Defaults to 4 (to meet CloudSQL minimum). You must request 0.9 to 6.5 GB
// per vCPU.
MemoryGB *int `yaml:"memoryGB,omitempty"`
// Defaults to whatever CloudSQL provides. Must be between 14 and 262143.
MaxConnections *int `yaml:"maxConnections,omitempty"`
}
func (EnvironmentResourcePostgreSQLSpec) ResourceKind() string { return "PostgreSQL instance" }