Skip to content

Latest commit

 

History

History

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 
 
 
 
 

Requirements

Name Version
terraform ~> 1.0
aws ~> 5.0

Providers

Name Version
kubernetes n/a
random n/a

Modules

Name Source Version
rds terraform-aws-modules/rds/aws ~>6.10
sg_db terraform-aws-modules/security-group/aws ~>5.2

Resources

Name Type
kubernetes_secret_v1.db_credentials resource
random_password.db_password resource

Inputs

Name Description Type Default Required
db_config Database configuration.
object({
aws = optional(object({ # AWS specific configuration for the database
backup_retention_period = optional(number) # Number of days to retain database backups
backup_window = optional(string) # Preferred backup window for RDS
deletion_protection = optional(bool) # The database can't be deleted when this value is set to true
identifier = optional(string) # Unique identifier for the AWS RDS instance
instance_class = optional(string) # Instance class of the AWS RDS instance
maintenance_window = optional(string) # Preferred maintenance window for RDS
multi_az = optional(bool) # Whether to enable multi-AZ deployment
skip_final_snapshot = optional(bool) # If true, no DBSnapshot is created when the database is deleted
}))
credentials = optional(object({ # Database credentials
password = optional(object({ # Password secret
secret_key = optional(string) # Secret key for the database password
secret_ref = optional(string) # Secret reference for the database password
}))
username = optional(string) # Username for the database
}))
db_name = optional(string) # Name of the database
engine = optional(object({ # Database engine configuration
name = optional(string) # One of 'postgres' or 'mysql'
version = optional(string) # Version of the database engine
}))
port = optional(number) # Port on which the database is accessible
storage_size = optional(number) # Size of the database storage in GB
})
n/a yes
eks_nodes_sg_ids List of security group IDs attached to the EKS nodes. Used to allow traffic from the OpenMetadata application to the databases. list(string) n/a yes
kms_key_id The ARN of the KMS key to encrypt database and backups. Your account's default KMS key will be used if not specified. string null no
namespace Namespace to deploy the Kubernetes secrets. string n/a yes
subnet_ids List of subnets IDs where the databases and OpenSearch will be deployed. The recommended configuration is to use private subnets. list(string) n/a yes
vpc_id VPC ID to deploy the databases and OpenSearch. For example: vpc-xxxxxxxx. string n/a yes

Outputs

Name Description
db_instance_address The address of the RDS instance
db_instance_arn The ARN of the RDS instance
db_instance_identifier The identifier of the RDS instance
db_instance_name The database name
db_instance_port The database port