in src/keycloak.ts [361:383]
private _createRdsInstance(props: DatabaseProps): DatabaseCofig {
const dbInstance = new rds.DatabaseInstance(this, 'DBInstance', {
vpc: props.vpc,
databaseName: 'keycloak',
vpcSubnets: props.databaseSubnets,
engine: props.instanceEngine ?? rds.DatabaseInstanceEngine.mysql({
version: rds.MysqlEngineVersion.VER_8_0_21,
}),
storageEncrypted: true,
backupRetention: props.backupRetention ?? cdk.Duration.days(7),
credentials: rds.Credentials.fromGeneratedSecret('admin'),
instanceType: props.instanceType ?? new ec2.InstanceType('r5.large'),
parameterGroup: rds.ParameterGroup.fromParameterGroupName(this, 'ParameterGroup', 'default.mysql8.0'),
deletionProtection: true,
removalPolicy: cdk.RemovalPolicy.RETAIN,
});
return {
connections: dbInstance.connections,
endpoint: dbInstance.dbInstanceEndpointAddress,
identifier: dbInstance.instanceIdentifier,
secret: dbInstance.secret!,
};
}