constructor()

in src/integ.default.ts [9:43]


  constructor() {
    const app = new cdk.App();
    const env = {
      region: process.env.CDK_DEFAULT_REGION,
      account: process.env.CDK_DEFAULT_ACCOUNT,
    };

    const stack = new cdk.Stack(app, 'testing-stack', { env });

    const vpc = new Vpc(stack, 'Vpc', { maxAzs: 3, natGateways: 1 });

    // the DatabaseCluster sharing the same vpc with the ServerlessLaravel
    const db = new DatabaseCluster(stack, 'DatabaseCluster', {
      vpc,
      instanceType: new InstanceType('t3.small'),
      rdsProxy: true,
      instanceCapacity: 1,
    });

    // the ServerlessLaravel
    new ServerlessLaravel(stack, 'ServerlessLaravel', {
      brefLayerVersion: 'arn:aws:lambda:ap-northeast-1:209497400698:layer:php-74-fpm:11',
      laravelPath: path.join(__dirname, '../codebase'),
      vpc,
      databaseConfig: {
        writerEndpoint: db.rdsProxy!.endpoint,
      },
    });

    new cdk.CfnOutput(stack, 'RDSProxyEndpoint', { value: db.rdsProxy!.endpoint });
    new cdk.CfnOutput(stack, 'DBMasterUser', { value: db.masterUser });
    new cdk.CfnOutput(stack, 'DBMasterPasswordSecret', { value: db.masterPassword.secretArn });

    this.stack = [stack];
  }