-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathmain.ts
60 lines (55 loc) · 1.79 KB
/
main.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
import {App} from "cdktf"
import * as path from 'path'
import {VpcStack} from "./vpc"
import {AppStack} from "./appStack"
import {JumphostStack} from "./jumphostStack"
const app = new App()
const sbxVpc = new VpcStack(app, "LsMultiEnvVpc.sbx", {
isLocal: false,
vpcConfigPath: path.resolve("../../../" + process.env.SBX_ACCOUNT_CONFIG || "devops-tooling/accounts/my-sb.json"),
region: "us-east-1",
accountType: "sandbox"
})
new AppStack(app, "LsMultiEnvApp.sbx", {
isLocal: false,
hotDeploy: false,
environment: 'sbx',
lambdaDistPath: "/src/lambda-hello-name/dist",
handler: "index.handler",
runtime: "nodejs18.x",
listBucketName: process.env.LIST_BUCKET_NAME || 'lambda-work',
stageName: "hello-name",
version: '0.0.1',
region: 'us-east-1',
vpc: sbxVpc.vpc,
alblogsBucket: sbxVpc.alblogsBucket
})
new JumphostStack(app, "LsMultiEnvJump.sbx", {
isLocal: false,
environment: 'sbx',
region: 'us-east-1',
instanceType: 't2.micro',
vpc: sbxVpc.vpc,
})
const localVpcStack = new VpcStack(app, "LsMultiEnvVpc.local", {
isLocal: true,
vpcConfigPath: path.resolve("../../../devops-tooling/accounts/localstack.json"),
region: "us-east-1",
accountType: "localstack"
})
new AppStack(app, "LsMultiEnvApp.local", {
// set isLocal to fasle for integration testing to turn hot-reloading off
isLocal: true,
hotDeploy: process.env.IS_INTEGRATION ? false : true,
environment: 'local',
lambdaDistPath: "/src/lambda-hello-name/dist",
handler: "index.handler",
runtime: "nodejs20.x",
listBucketName: process.env.LIST_BUCKET_NAME || 'lambda-work',
stageName: "hello-name",
version: '0.0.1',
region: 'us-east-1',
vpc: localVpcStack.vpc,
alblogsBucket: localVpcStack.alblogsBucket
})
app.synth()