in src/keycloak.ts [385:411]
private _createRdsCluster(props: DatabaseProps): DatabaseCofig {
const dbCluster = new rds.DatabaseCluster(this, 'DBCluster', {
engine: props.clusterEngine ?? rds.DatabaseClusterEngine.auroraMysql({
version: rds.AuroraMysqlEngineVersion.VER_2_09_1,
}),
defaultDatabaseName: 'keycloak',
deletionProtection: true,
credentials: rds.Credentials.fromGeneratedSecret('admin'),
instanceProps: {
vpc: props.vpc,
vpcSubnets: props.databaseSubnets,
instanceType: props.instanceType ?? new ec2.InstanceType('r5.large'),
},
parameterGroup: rds.ParameterGroup.fromParameterGroupName(this, 'ParameterGroup', 'default.aurora-mysql5.7'),
backup: {
retention: props.backupRetention ?? cdk.Duration.days(7),
},
storageEncrypted: true,
removalPolicy: cdk.RemovalPolicy.RETAIN,
});
return {
connections: dbCluster.connections,
endpoint: dbCluster.clusterEndpoint.hostname,
identifier: dbCluster.clusterIdentifier,
secret: dbCluster.secret!,
};
}