mirror of
https://github.com/nestriness/nestri.git
synced 2025-12-12 08:45:38 +02:00
69 lines
1.4 KiB
TypeScript
69 lines
1.4 KiB
TypeScript
import { vpc } from "./vpc";
|
|
import { isPermanentStage } from "./stage";
|
|
|
|
// TODO: Add a dev db to use, this will help with running zero locally... and testing it
|
|
export const postgres = new sst.aws.Aurora("Database", {
|
|
vpc,
|
|
engine: "postgres",
|
|
scaling: isPermanentStage
|
|
? undefined
|
|
: {
|
|
min: "0 ACU",
|
|
max: "1 ACU",
|
|
},
|
|
transform: {
|
|
clusterParameterGroup: {
|
|
parameters: [
|
|
{
|
|
name: "rds.logical_replication",
|
|
value: "1",
|
|
applyMethod: "pending-reboot",
|
|
},
|
|
{
|
|
name: "max_slot_wal_keep_size",
|
|
value: "10240",
|
|
applyMethod: "pending-reboot",
|
|
},
|
|
{
|
|
name: "rds.force_ssl",
|
|
value: "0",
|
|
applyMethod: "pending-reboot",
|
|
},
|
|
{
|
|
name: "max_connections",
|
|
value: "1000",
|
|
applyMethod: "pending-reboot",
|
|
},
|
|
],
|
|
},
|
|
},
|
|
});
|
|
|
|
|
|
new sst.x.DevCommand("Studio", {
|
|
link: [postgres],
|
|
dev: {
|
|
command: "bun db studio",
|
|
directory: "packages/core",
|
|
autostart: true,
|
|
},
|
|
});
|
|
|
|
const migrator = new sst.aws.Function("DatabaseMigrator", {
|
|
handler: "packages/functions/src/migrator.handler",
|
|
link: [postgres],
|
|
copyFiles: [
|
|
{
|
|
from: "packages/core/migrations",
|
|
to: "./migrations",
|
|
},
|
|
],
|
|
});
|
|
|
|
if (!$dev) {
|
|
new aws.lambda.Invocation("DatabaseMigratorInvocation", {
|
|
input: Date.now().toString(),
|
|
functionName: migrator.name,
|
|
});
|
|
}
|