Skip to content

Commit 330e8db

Browse files
author
EC2 Default User
committed
Theta. Fefactoring after PR review
1 parent 9b9a9ed commit 330e8db

File tree

11 files changed

+72
-86
lines changed

11 files changed

+72
-86
lines changed

lib/starknet/README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -141,7 +141,7 @@ We will use AWS Cloud9 to execute the subsequent commands. Follow the instructio
141141
aws ssm start-session --target $INSTANCE_ID --region $AWS_REGION
142142
tail -f /var/log/starknet/error.log
143143
```
144-
144+
145145
146146
7. Test Starknet RPC API
147147
Use curl to query from within the node instance:

lib/starknet/lib/assets/setup-instance-store-volumes.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ if [ -n "$DATA_VOLUME_ID" ]; then
1515
echo "Data volume formatted. Mounting..."
1616
echo "waiting for volume to get UUID"
1717
OUTPUT=0;
18-
while [ "$OUTPUT" = 0 ]; do
18+
while [ "$OUTPUT" = 0 ]; do
1919
DATA_VOLUME_UUID=$(lsblk -fn -o UUID $DATA_VOLUME_ID)
2020
OUTPUT=$(echo $DATA_VOLUME_UUID | grep -c - $2)
2121
echo $OUTPUT

lib/theta/README.md

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -6,16 +6,16 @@
66

77
The Edge Node turns your computer into an edge computing node in the Theta EdgeCloud. The Edge Node can execute various types of jobs including AI/deep learning model training and inference, as well as video transcoding and relaying. By running the edge node, you can contribute unused computational and bandwidth resources and earn token rewards.
88

9-
This blueprint is designed to assist in deploying a single node [Theta Edge Network Edge Node](https://docs.thetatoken.org/docs/setup-theta-edge-node) on AWS. It is intended for personal use purposes.
9+
This blueprint is designed to assist in deploying a single node [Theta Edge Network Edge Node](https://docs.thetatoken.org/docs/setup-theta-edge-node) on AWS. It is intended for research and develoment use purposes.
1010

1111
## Overview of Deployment Architectures
1212

1313
### Single Node setup
1414
![Single Nodes Deployment](./doc/assets/Architecture-Theta-Edge-Single-Node.drawio.png)
1515

16-
1. The AWS Cloud Development Kit (CDK) is used to deploy a single node. The CDK application stores assets like scripts and config files in S3 bucket to copy them to the EC2 instance when launching an Edge Node.
17-
2. A single RPC Theta Edge Node is deployed within in the [Default VPC](https://docs.aws.amazon.com/vpc/latest/userguide/default-vpc.html) and continuously synchronizes with the rest of nodes on Theta Blockchain Network through [Internet Gateway](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Internet_Gateway.html).
18-
3. The Theta node is accessed by the user internally. JSON RPC API is not exposed to the Internet to protect the node from unauthorized access. User needs to SSH into the EC2 Instance using Session Manager to interact with the RPC API .
16+
1. A single RPC Theta Edge Node is deployed within in the [Default VPC](https://docs.aws.amazon.com/vpc/latest/userguide/default-vpc.html) and continuously synchronizes with the rest of nodes on Theta Blockchain Network through [Internet Gateway](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Internet_Gateway.html). The Theta node is accessed by the user internally. JSON RPC API is not exposed to the Internet to protect the node from unauthorized access. User can get console acess to EC2 Instance using Session Manager to interact with the RPC API from CLI.
17+
2. The AWS Cloud Development Kit (CDK) is used to deploy a single node. The CDK application stores assets like scripts and config files in S3 bucket to copy them to the EC2 instance when launching an Edge Node.
18+
3. The Theta node pulls password from Secrets Manager during startup only.
1919
4. The Theta node sends various monitoring metrics for both the EC2 Instance and Edge Node to Amazon CloudWatch.
2020

2121

@@ -34,7 +34,7 @@ This is the Well-Architected checklist for Edge nodes implementation of the AWS
3434
| | | Enable people to perform actions at a distance | This solution uses [AWS Systems Manager for terminal session](https://docs.aws.amazon.com/systems-manager/latest/userguide/session-manager-working-with-sessions-start.html#start-sys-console), not ssh ports. |
3535
| | Data protection at rest | Use encrypted Amazon Elastic Block Store (Amazon EBS) volumes | This solution uses encrypted Amazon EBS volumes. |
3636
| | Authorization and access control | Use instance profile with Amazon Elastic Compute Cloud (Amazon EC2) instances | This solution uses AWS Identity and Access Management (AWS IAM) role instead of IAM user. |
37-
| | | Following principle of least privilege access | In all node types, root user is not used (using special user "edgeuser" instead). |
37+
| | | Following principle of least privilege access | In all node types, root user is not used (using special user "bcuser" instead). |
3838
| | Application security | Security focused development practices | cdk-nag is being used with appropriate suppressions. |
3939
| Cost optimization | Service selection | Use cost effective resources | Although we can run the Edge Node without a GPU, we choose to use a `g4dn.xlarge` w/ a T4 GPU & 256gb GP3 EBS Storage to take advantage of the jobs the Theta Edge Network has to offer|
4040
| | Cost awareness | Estimate costs | Single RPC node with `g4dn.xlarge` EBS gp3 volumes about 256 GB(10000 IOPS, 125 MBps/s throughput) with On-Demand pricing will cost around US$296.81 per month in the US East (N. Virginia) region. More cost-optimal option with 3 year EC2 Instance Savings plan the cost goes down to $159.80 USD. To create your own estimate use [AWS Pricing Calculator](https://calculator.aws/#/) |
@@ -43,7 +43,7 @@ This is the Well-Architected checklist for Edge nodes implementation of the AWS
4343
| | Resource monitoring | How are workload resources monitored? | Resources are being monitored using Amazon CloudWatch dashboards. Amazon CloudWatch custom metrics are being pushed via CloudWatch Agent. |
4444
| Performance efficiency | Compute selection | How is compute solution selected? | Compute solution is selected based on best price-performance, i.e. AWS lower end GPU Amazon EC2 instances. |
4545
| | Storage selection | How is storage solution selected? | Storage solution is selected based on best price-performance, i.e. gp3 Amazon EBS volumes with optimal IOPS and throughput. |
46-
| | Architecture selection | How is the best performance architecture selected? | We used a combination of recommendations from the Theta community and our own testing. |
46+
| | Architecture selection | How is the best performance architecture selected? | We used a combination of recommendations from the Theta community. |
4747
| Operational excellence | Workload health | How is health of workload determined? | Health of the workload is based on EC2 status checks. |
4848
| Sustainability | Hardware & services | Select most efficient hardware for your workload | The solution uses T4-powered instances. This is a lower end, data-center GPU that will be sufficient for getting the average user up and running on the Theta Edge Network. |
4949
</details>
@@ -114,7 +114,7 @@ npm install
114114
115115
# Set a password for your theta edge node wallet client
116116
EDGE_NODE_PASSWORD=letscompute # please change 'letscompute' to something more secure
117-
npx cdk deploy edge-common --parameters edgeNodePassword=$EDGE_NODE_PASSWORD
117+
npx cdk deploy theta-edge-common --parameters edgeNodePassword=$EDGE_NODE_PASSWORD
118118
```
119119
120120
@@ -124,7 +124,7 @@ npm install
124124
```bash
125125
pwd
126126
# Make sure you are in aws-blockchain-node-runners/lib/theta
127-
npx cdk deploy edge-single-node --json --outputs-file single-node-deploy.json
127+
npx cdk deploy theta-edge-single-node --json --outputs-file single-node-deploy.json
128128
```
129129
130130
2. After the node is initialised you need to wait another 10 minutes for the inital edge node startup process to complete. You can use Amazon CloudWatch to track the progress. There is a script that publishes CloudWatch metrics every minute, where you can watch `theta_current_block_height`. When the node is fully launched you should see the `Theta Client Block Height` & `Theta Client Peer Count` dashboards populate. To see them:
@@ -172,11 +172,11 @@ pwd
172172
# Make sure you are in aws-blockchain-node-runners/lib/theta
173173
174174
# Destroy Single Node
175-
npx cdk destroy edge-single-node
175+
npx cdk destroy theta-edge-single-node
176176
177177
178178
# Delete all common components like IAM role and Security Group
179-
npx cdk destroy edge-common
179+
npx cdk destroy theta-edge-common
180180
```
181181
2. Follow steps to delete the Cloud9 instance in [Cloud9 Setup](../../doc/setup-cloud9.md)
182182

lib/theta/app.ts

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -10,13 +10,13 @@ import * as nag from "cdk-nag";
1010
const app = new cdk.App();
1111
cdk.Tags.of(app).add("Project", "AWS_THETA_EDGE");
1212

13-
new EdgeCommonStack(app, "edge-common", {
14-
stackName: `edge-nodes-common`,
13+
new EdgeCommonStack(app, "theta-edge-common", {
14+
stackName: `theta-edge-nodes-common`,
1515
env: { account: config.baseConfig.accountId, region: config.baseConfig.region }
1616
});
1717

18-
new EdgeSingleNodeStack(app, "edge-single-node", {
19-
stackName: `edge-single-node-${config.baseNodeConfig.edgeNetwork}`,
18+
new EdgeSingleNodeStack(app, "theta-edge-single-node", {
19+
stackName: `theta-edge-single-node-${config.baseNodeConfig.edgeNetwork}`,
2020

2121
env: { account: config.baseConfig.accountId, region: config.baseConfig.region },
2222
nodeRole: <configTypes.EdgeNodeRole> "single-node",
@@ -29,7 +29,6 @@ new EdgeSingleNodeStack(app, "edge-single-node", {
2929
});
3030

3131

32-
3332
// Security Check
3433
cdk.Aspects.of(app).add(
3534
new nag.AwsSolutionsChecks({

lib/theta/lib/assets/setup-instance-store-volumes.sh

Lines changed: 13 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -4,35 +4,39 @@ source /etc/environment
44

55
if [[ "$DATA_VOLUME_TYPE" == "instance-store" ]]; then
66
echo "Data volume type is instance store"
7-
export DATA_VOLUME_ID=/dev/$(lsblk -lnb | awk -v VOLUME_SIZE_BYTES="$DATA_VOLUME_SIZE" '{if ($4== VOLUME_SIZE_BYTES) {print $1}}')
7+
export DATA_VOLUME_ID=/dev/$(lsblk -lnb | awk 'max < $4 {max = $4; vol = $1} END {print vol}')
88
fi
99

1010
if [ -n "$DATA_VOLUME_ID" ]; then
1111
if [ $(df --output=target | grep -c "/data") -lt 1 ]; then
1212
echo "Checking fstab for Data volume"
1313

14-
sudo mkfs.xfs -f $DATA_VOLUME_ID
15-
sleep 10
14+
mkfs.ext4 $DATA_VOLUME_ID
15+
echo "Data volume formatted. Mounting..."
16+
echo "waiting for volume to get UUID"
17+
OUTPUT=0;
18+
while [ "$OUTPUT" = 0 ]; do
19+
DATA_VOLUME_UUID=$(lsblk -fn -o UUID $DATA_VOLUME_ID)
20+
OUTPUT=$(echo $DATA_VOLUME_UUID | grep -c - $2)
21+
echo $OUTPUT
22+
done
1623
DATA_VOLUME_UUID=$(lsblk -fn -o UUID $DATA_VOLUME_ID)
17-
DATA_VOLUME_FSTAB_CONF="UUID=$DATA_VOLUME_UUID /data xfs defaults 0 2"
24+
DATA_VOLUME_FSTAB_CONF="UUID=$DATA_VOLUME_UUID /data ext4 defaults 0 2"
1825
echo "DATA_VOLUME_ID="$DATA_VOLUME_ID
1926
echo "DATA_VOLUME_UUID="$DATA_VOLUME_UUID
2027
echo "DATA_VOLUME_FSTAB_CONF="$DATA_VOLUME_FSTAB_CONF
2128

2229
# Check if data disc is already in fstab and replace the line if it is with the new disc UUID
2330
if [ $(grep -c "data" /etc/fstab) -gt 0 ]; then
2431
SED_REPLACEMENT_STRING="$(grep -n "/data" /etc/fstab | cut -d: -f1)s#.*#$DATA_VOLUME_FSTAB_CONF#"
25-
sudo cp /etc/fstab /etc/fstab.bak
26-
sudo sed -i "$SED_REPLACEMENT_STRING" /etc/fstab
32+
cp /etc/fstab /etc/fstab.bak
33+
sed -i "$SED_REPLACEMENT_STRING" /etc/fstab
2734
else
2835
echo $DATA_VOLUME_FSTAB_CONF | sudo tee -a /etc/fstab
2936
fi
3037

3138
sudo mount -a
3239

33-
/opt/download-snapshot.sh
34-
35-
chown bcuser:bcuser -R /data
3640
else
3741
echo "Data volume is mounted, nothing changed"
3842
fi

lib/theta/lib/assets/user-data/node.sh

Lines changed: 32 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ echo "EDGE_NETWORK=${_EDGE_NETWORK_}" >> /etc/environment
1212
echo "EDGE_LAUNCHER_VERSION=${_EDGE_LAUNCHER_VERSION_}" >> /etc/environment
1313
echo "EDGE_NODE_GPU=${_EDGE_NODE_GPU_}" >> /etc/environment
1414
echo "NODE_ROLE=${_NODE_ROLE_}" >> /etc/environment
15+
EDGE_NODE_PASSWORD_SSM_ARN=${_EDGE_NODE_PASSWORD_SSM_ARN_}
1516

1617
source /etc/environment
1718

@@ -35,7 +36,6 @@ amazon-linux-extras install epel -y
3536
yum groupinstall "Development Tools" -y
3637
yum -y install amazon-cloudwatch-agent collectd jq gcc10-10.5.0-1.amzn2.0.2 ncurses-devel telnet aws-cfn-bootstrap
3738

38-
3939
cd /opt
4040

4141
echo 'Installing AWS CLI v2'
@@ -63,14 +63,6 @@ aws configure set default.s3.multipart_chunksize 256MB
6363
echo 'Installing SSM Agent'
6464
yum install -y $SSM_AGENT_BINARY_URI
6565

66-
echo "Installing s5cmd"
67-
cd /opt
68-
wget -q $S5CMD_URI -O s5cmd.tar.gz
69-
tar -xf s5cmd.tar.gz
70-
chmod +x s5cmd
71-
mv s5cmd /usr/bin
72-
s5cmd version
73-
7466
if [ "$EDGE_NODE_GPU" == "enabled" ]; then
7567
echo "Installing nvidia drivers"
7668
yum install kernel-devel-$(uname -r) kernel-headers-$(uname -r) -y
@@ -99,34 +91,24 @@ if [ "$EDGE_NODE_GPU" == "enabled" ]; then
9991
sudo mv /usr/bin/cc.bak /usr/bin/cc
10092
fi
10193

102-
103-
10494
echo "Installing docker"
10595
yum install docker -y
10696
sudo service docker start
10797
sudo systemctl enable docker
10898

99+
echo 'Adding bcuser user and group'
100+
sudo groupadd -g 1002 bcuser
101+
sudo useradd -u 1002 -g 1002 -m -s /bin/bash bcuser
102+
sudo usermod -aG docker bcuser
109103

110-
111-
112-
113-
echo 'Adding edgeuser user and group'
114-
sudo groupadd -g 1002 edgeuser
115-
sudo useradd -u 1002 -g 1002 -m -s /bin/bash edgeuser
116-
sudo usermod -aG sudo edgeuser
117-
sudo usermod -aG docker edgeuser
118-
119-
echo "Configuring metricscollector script"
104+
echo "Configuring syncchecker script"
120105
cd /opt
121-
mv /opt/theta_metrics/metricscollector.sh /opt/metricscollector.sh
122-
chmod +x /opt/metricscollector.sh
106+
mv /opt/sync-checker/syncchecker-theta.sh /opt/syncchecker.sh
107+
chmod +x /opt/syncchecker.sh
123108

124-
125-
(crontab -l; echo "*/1 * * * * /opt/metricscollector.sh >/tmp/metricscollector.log 2>&1") | crontab -
109+
(crontab -l; echo "*/1 * * * * /opt/syncchecker.sh >/tmp/syncchecker.log 2>&1") | crontab -
126110
crontab -l
127111

128-
129-
130112
if [ "$NODE_ROLE" == "single-node" ]; then
131113
echo "Single node. Signaling completion to CloudFormation"
132114
/opt/aws/bin/cfn-signal --stack $STACK_NAME --resource $RESOURCE_ID --region $AWS_REGION
@@ -148,39 +130,47 @@ if [[ "$DATA_VOLUME_TYPE" == "instance-store" ]]; then
148130
(crontab -l; echo "@reboot /opt/setup-instance-store-volumes.sh >/tmp/setup-instance-store-volumes.log 2>&1") | crontab -
149131
crontab -l
150132

151-
/opt/setup-instance-store-volumes.sh
133+
DATA_VOLUME_ID=/dev/$(lsblk -lnb | awk 'max < $4 {max = $4; vol = $1} END {print vol}')
152134

153135
else
154136
echo "Data volume type is EBS"
155137

156138
DATA_VOLUME_ID=/dev/$(lsblk -lnb | awk -v VOLUME_SIZE_BYTES="$DATA_VOLUME_SIZE" '{if ($4== VOLUME_SIZE_BYTES) {print $1}}')
157-
mkfs -t xfs $DATA_VOLUME_ID
158-
sleep 10
159-
DATA_VOLUME_UUID=$(lsblk -fn -o UUID $DATA_VOLUME_ID)
160-
DATA_VOLUME_FSTAB_CONF="UUID=$DATA_VOLUME_UUID /data xfs defaults 0 2"
161-
echo "DATA_VOLUME_ID="$DATA_VOLUME_ID
162-
echo "DATA_VOLUME_UUID="$DATA_VOLUME_UUID
163-
echo "DATA_VOLUME_FSTAB_CONF="$DATA_VOLUME_FSTAB_CONF
164-
echo $DATA_VOLUME_FSTAB_CONF | tee -a /etc/fstab
165-
mount -a
166139
fi
167140

141+
mkfs -t ext4 $DATA_VOLUME_ID
142+
echo "waiting for volume to get UUID"
143+
OUTPUT=0;
144+
while [ "$OUTPUT" = 0 ]; do
145+
DATA_VOLUME_UUID=$(lsblk -fn -o UUID $DATA_VOLUME_ID)
146+
OUTPUT=$(echo $DATA_VOLUME_UUID | grep -c - $2)
147+
echo $OUTPUT
148+
done
149+
DATA_VOLUME_UUID=$(lsblk -fn -o UUID $DATA_VOLUME_ID)
150+
DATA_VOLUME_FSTAB_CONF="UUID=$DATA_VOLUME_UUID /data ext4 defaults 0 2"
151+
echo "DATA_VOLUME_ID="$DATA_VOLUME_ID
152+
echo "DATA_VOLUME_UUID="$DATA_VOLUME_UUID
153+
echo "DATA_VOLUME_FSTAB_CONF="$DATA_VOLUME_FSTAB_CONF
154+
echo $DATA_VOLUME_FSTAB_CONF | tee -a /etc/fstab
155+
mount -a
156+
168157
lsblk -d
169158

170-
chown edgeuser:edgeuser -R /data
159+
chown bcuser:bcuser -R /data
171160

172161
docker pull thetalabsorg/edgelauncher_mainnet:latest
173162

163+
sudo su bcuser
174164

175-
export EDGE_NODE_PASSWORD=`aws secretsmanager get-secret-value --secret-id edgeNodePassword --query SecretString --output text`
165+
EDGE_NODE_PASSWORD=$(aws secretsmanager get-secret-value --secret-id $EDGE_NODE_PASSWORD_SSM_ARN --query SecretString --output text --region $AWS_REGION)
176166

177167
if [[ "$EDGE_NODE_GPU" == "enabled" ]]; then
178-
docker run -d --gpus all -e EDGELAUNCHER_CONFIG_PATH=/edgelauncher/data/$EDGE_NETWORK -e PASSWORD=$EDGE_NODE_PASSWORD -v /data/edgelauncher:/edgelauncher/data/$EDGE_NETWORK -p 127.0.0.1:15888:15888 -p 127.0.0.1:17888:17888 -p 127.0.0.1:17935:17935 --name edgelauncher --restart unless-stopped -it thetalabsorg/edgelauncher_$EDGE_NETWORK:$EDGE_LAUNCHER_VERSION
168+
docker run -d --gpus all --user $(id -u):$(id -g) -e EDGELAUNCHER_CONFIG_PATH=/edgelauncher/data/$EDGE_NETWORK -e PASSWORD=$EDGE_NODE_PASSWORD -v /data/edgelauncher:/edgelauncher/data/$EDGE_NETWORK -p 127.0.0.1:15888:15888 -p 127.0.0.1:17888:17888 -p 127.0.0.1:17935:17935 --name edgelauncher --restart unless-stopped -it thetalabsorg/edgelauncher_$EDGE_NETWORK:$EDGE_LAUNCHER_VERSION
179169

180170
else
181-
docker run -d -e EDGELAUNCHER_CONFIG_PATH=/edgelauncher/data/$EDGE_NETWORK -e PASSWORD=$EDGE_NODE_PASSWORD -v /data/edgelauncher:/edgelauncher/data/$EDGE_NETWORK -p 127.0.0.1:15888:15888 -p 127.0.0.1:17888:17888 -p 127.0.0.1:17935:17935 --name edgelauncher --restart unless-stopped -it thetalabsorg/edgelauncher_$EDGE_NETWORK:$EDGE_LAUNCHER_VERSION
171+
docker run -d --user $(id -u):$(id -g) -e EDGELAUNCHER_CONFIG_PATH=/edgelauncher/data/$EDGE_NETWORK -e PASSWORD=$EDGE_NODE_PASSWORD -v /data/edgelauncher:/edgelauncher/data/$EDGE_NETWORK -p 127.0.0.1:15888:15888 -p 127.0.0.1:17888:17888 -p 127.0.0.1:17935:17935 --name edgelauncher --restart unless-stopped -it thetalabsorg/edgelauncher_$EDGE_NETWORK:$EDGE_LAUNCHER_VERSION
182172
fi
183-
173+
EDGE_NODE_PASSWORD=""
184174

185175
echo "All Done!!"
186176
set -e

lib/theta/lib/common-stack.ts

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,11 @@ export class EdgeCommonStack extends cdk.Stack {
5252

5353
secretEdgeNodePassword.grantRead(instanceRole)
5454

55+
new cdk.CfnOutput(this, "ssm-edge-node-password-ARN", {
56+
value: secretEdgeNodePassword.secretArn,
57+
exportName: "SSMEdgeNodePasswordARN",
58+
});
59+
5560

5661
// cdk-nag suppressions
5762
nag.NagSuppressions.addResourceSuppressions(

lib/theta/lib/single-node-stack.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -64,11 +64,11 @@ export class EdgeSingleNodeStack extends cdk.Stack {
6464

6565
const instanceRole = iam.Role.fromRoleArn(this, "iam-role", importedInstanceRoleArn);
6666

67+
const sSMEdgeNodePasswordARN = cdk.Fn.importValue("SSMEdgeNodePasswordARN");
68+
6769
// Making sure our instance will be able to read the assets
6870
asset.bucket.grantRead(instanceRole);
6971

70-
71-
7272
// Setting up the node using generic Single Node constract
7373
const node = new SingleNodeConstruct(this, "single-node", {
7474
instanceName: STACK_NAME,
@@ -106,7 +106,7 @@ export class EdgeSingleNodeStack extends cdk.Stack {
106106
_EDGE_NETWORK_: edgeNetwork,
107107
_EDGE_NODE_GPU_: edgeNodeGpu,
108108
_EDGE_LAUNCHER_VERSION_: edgeLauncherVersion,
109-
_EDGE_NODE_PASSWORD_: cdk.SecretValue.secretsManager("edgeNodePassword").unsafeUnwrap().toString()
109+
_EDGE_NODE_PASSWORD_SSM_ARN_: sSMEdgeNodePasswordARN
110110
});
111111

112112
// Adding modified userdata script to the instance prepared fro us by Single Node constract

lib/theta/package.json

Lines changed: 2 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,24 +1,12 @@
11
{
2-
"name": "aws-blockchain-node-runners-bsc",
2+
"name": "aws-blockchain-node-runners-theta",
33
"version": "0.1.0",
4-
"bin": {
5-
"scroll": "bin/bsc.js"
6-
},
74
"scripts": {
85
"build": "tsc",
96
"watch": "tsc -w",
107
"test": "jest",
118
"cdk": "cdk",
129
"cdk_deploy_common": "cdk deploy edge-common",
13-
"cdk_deploy_ha_nodes": "cdk deploy edge-single-node",
14-
"cdk_destroy_common": "cdk destroy edge-common",
15-
"cdk_destroy_ha_nodes": "cdk destroy edge-single-nodes"
16-
},
17-
"dependencies": {
18-
"@types/node": "^20.10.0",
19-
"dotenv": "^16.3.1"
20-
},
21-
"devDependencies": {
22-
"@types/jest": "^29.5.12"
10+
"cdk_destroy_common": "cdk destroy edge-common"
2311
}
2412
}

0 commit comments

Comments
 (0)