87 lines
3.0 KiB
HCL
87 lines
3.0 KiB
HCL
terraform {
|
|
backend "s3" {
|
|
bucket = "navi-bank-terraform-command-state"
|
|
region = "ap-south-1"
|
|
key = "rds"
|
|
workspace_key_prefix = "rds-states/{{ .ExtraResources.Database.InstanceName }}"
|
|
profile = "cmd"
|
|
acl = "bucket-owner-full-control"
|
|
}
|
|
}
|
|
|
|
module "rds" {
|
|
source = "git::ssh://git@github.cmd.navi-tech.in/navi-infra/rds.git"
|
|
environment = {{ .ExtraResources.Environment | quote }}
|
|
instance_name = {{ .ExtraResources.Database.InstanceName | quote }}
|
|
password = {{ .ExtraResources.Database.Password | quote }}
|
|
user = {{ .ExtraResources.Database.User | quote }}
|
|
name = {{ .Deployment.Name | quote }}
|
|
|
|
monitoring_password = {{ .ExtraResources.Database.MonitoringPassword | quote }}
|
|
monitoring_user = {{ .ExtraResources.Database.MonitoringUser | quote }}
|
|
|
|
databases = {{ .ExtraResources.Database.DbNames | mustToJson }}
|
|
database_tags = {
|
|
Team = {{ .Team.Name | quote }}
|
|
medici-app = "{{ .Deployment.Name }}-{{ .Deployment.NameSuffix }}"
|
|
medici-owner = {{ .Team.Name | quote }}
|
|
medici-environment = {{ .ExtraResources.Environment | quote }}
|
|
}
|
|
|
|
team = {{ .Team.Name | quote }}
|
|
|
|
{{- if .ExtraResources.Database.SizeInGb }}
|
|
size = {{ .ExtraResources.Database.SizeInGb }}
|
|
{{- else }}
|
|
size = 50
|
|
{{- end }}
|
|
|
|
{{- if .ExtraResources.Database.DbExtensions }}
|
|
db_extensions = {{ .ExtraResources.Database.DbExtensions | mustToJson }}
|
|
{{- end }}
|
|
|
|
{{- if .ExtraResources.Database.ReadonlyUser }}
|
|
readonly_user = {{ .ExtraResources.Database.ReadonlyUser | mustToJson }}
|
|
{{- end }}
|
|
|
|
{{- if .ExtraResources.Database.ReadonlyUser }}
|
|
readonly_password = {{ .ExtraResources.Database.ReadonlyPassword | mustToJson }}
|
|
{{- end }}
|
|
|
|
{{- if .ExtraResources.Database.PerformanceInsightsEnabled }}
|
|
performance_insights_enabled = {{ .ExtraResources.Database.PerformanceInsightsEnabled | mustToJson }}
|
|
{{- end }}
|
|
|
|
{{- if .ExtraResources.Database.AwsInstanceClass }}
|
|
aws_instance_class = {{ .ExtraResources.Database.AwsInstanceClass | quote }}
|
|
{{- end }}
|
|
|
|
{{- if .ExtraResources.Database.BackupDisabled }}
|
|
backup_retention_period = 0
|
|
{{- else }}
|
|
backup_retention_period = 7
|
|
{{- end }}
|
|
|
|
{{- if not .ExtraResources.Database.MultiAZDisabled }}
|
|
multi_az = true
|
|
{{- end }}
|
|
|
|
{{- if .ExtraResources.Database.PsqlFamily }}
|
|
psql_family = {{ .ExtraResources.Database.PsqlFamily | quote }}
|
|
{{- end }}
|
|
|
|
{{- if .ExtraResources.Database.PsqlEngineVersion }}
|
|
psql_engine_version = {{ .ExtraResources.Database.PsqlEngineVersion | quote }}
|
|
{{- end }}
|
|
|
|
{{- if .ExtraResources.Database.ReadReplica }}
|
|
read_replica_instance_class = {{ .ExtraResources.Database.ReadReplica.AwsInstanceClass | mustToJson }}
|
|
read_replica_performance_insights_enabled = {{ .ExtraResources.Database.ReadReplica.PerformanceInsightsEnabled | mustToJson }}
|
|
{{- end }}
|
|
|
|
{{- if .ExtraResources.Database.ApplyImmediately }}
|
|
apply_immediately = {{ .ExtraResources.Database.ApplyImmediately | mustToJson }}
|
|
{{- end }}
|
|
|
|
}
|