forked from aws-samples/aws-blockchain-node-runners
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathapp.ts
55 lines (48 loc) · 2.29 KB
/
app.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
import 'dotenv/config'
import "source-map-support/register";
import * as cdk from "aws-cdk-lib";
import * as config from "./lib/config/fantomConfig";
import * as configTypes from "./lib/config/fantomConfig.interface";
import { FantomCommonStack } from "./lib/common-stack";
import { FantomSingleNodeStack } from "./lib/single-node-stack";
import { FantomHANodesStack } from "./lib/ha-nodes-stack";
import * as nag from "cdk-nag";
const app = new cdk.App();
cdk.Tags.of(app).add("Project", "AWS_FANTOM");
new FantomCommonStack(app, "fantom-common", {
stackName: `fantom-nodes-common`,
env: { account: config.baseConfig.accountId, region: config.baseConfig.region }
});
new FantomSingleNodeStack(app, "fantom-single-node", {
stackName: `fantom-single-node-${config.baseNodeConfig.nodeConfiguration}-${config.baseNodeConfig.fantomNetwork}`,
env: { account: config.baseConfig.accountId, region: config.baseConfig.region },
nodeRole: <configTypes.FantomNodeRole> "single-node",
instanceType: config.baseNodeConfig.instanceType,
instanceCpuType: config.baseNodeConfig.instanceCpuType,
fantomNetwork: config.baseNodeConfig.fantomNetwork,
nodeConfiguration: config.baseNodeConfig.nodeConfiguration,
snapshotsUrl:config.baseNodeConfig.snapshotsUrl,
dataVolume: config.baseNodeConfig.dataVolume,
});
new FantomHANodesStack(app, "fantom-ha-nodes", {
stackName: `fantom-ha-nodes-${config.baseNodeConfig.nodeConfiguration}-${config.baseNodeConfig.fantomNetwork}`,
env: { account: config.baseConfig.accountId, region: config.baseConfig.region },
nodeRole: <configTypes.FantomNodeRole> "rpc-node",
instanceType: config.baseNodeConfig.instanceType,
instanceCpuType: config.baseNodeConfig.instanceCpuType,
fantomNetwork: config.baseNodeConfig.fantomNetwork,
nodeConfiguration: config.baseNodeConfig.nodeConfiguration,
snapshotsUrl:config.baseNodeConfig.snapshotsUrl,
dataVolume: config.baseNodeConfig.dataVolume,
albHealthCheckGracePeriodMin: config.haNodeConfig.albHealthCheckGracePeriodMin,
heartBeatDelayMin: config.haNodeConfig.heartBeatDelayMin,
numberOfNodes: config.haNodeConfig.numberOfNodes
});
// Security Check
cdk.Aspects.of(app).add(
new nag.AwsSolutionsChecks({
verbose: false,
reports: true,
logIgnores: false
})
);