forked from Appdynamics/appd_aws_lambda_lab
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathsetup.sh
More file actions
executable file
·58 lines (51 loc) · 2.45 KB
/
setup.sh
File metadata and controls
executable file
·58 lines (51 loc) · 2.45 KB
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
#!/usr/bin/env bash
start=$(date +%s)
BASE_DIR=$(pwd)
UNIQUE_LAB_ID=$(uuidgen | tail -c 7)
AUTH=eyJwYXNzd29yZCI6IkMxc2MwMTIzIyJ9
export AWS_REGION=$(aws configure get region)
sed -i "s/##UNIQUE_ID##/${UNIQUE_LAB_ID}/g" ./scripts/hidden.env.template
# Run Java file to scaffold application / user / role.
echo "Creating workshop user and application..."
cd $BASE_DIR/scripts
java -DworkshopUtilsConf=./lambda-workshop-setup.yaml -DworkshopLabUserPrefix=$UNIQUE_LAB_ID -DworkshopAction=setup -jar ./AD-Workshop-Utils.jar
echo "Workshop user and application created."
# Auto-deploy uninstrumented Python Lambda
echo "Deploying Python Lambda function..."
cd $BASE_DIR/python
sed -i "s/##UNIQUE_ID##/$UNIQUE_LAB_ID/g" ./serverless.yml
npm install --quiet --save serverless-python-requirements serverless-s3-remover serverless-stack-output || { echo "Python dependency installation failed."; exit 1; }
mkdir -p .build
sls deploy -r $AWS_REGION || { echo "Python Lambda deployment failed."; exit 1; }
cat .build/output.json | jq -r '.ServiceEndpoint' | xargs -I {} sh -c "sed -i 's|##PYTHON_LAMBDA_URL##|{}|g' ../docker-compose/graph.json"
echo "Python Lambda Function deployed."
echo
echo "----------"
echo
# Auto-deploy uninstrumented NodeJS Lambda
cd $BASE_DIR/node
echo "Deploying Node Lambda function..."
sed -i "s/##UNIQUE_ID##/$UNIQUE_LAB_ID/g" ./serverless.yml
npm install --quiet && npm install --quiet --save serverless-stack-output || { echo "Node dependency installation failed."; exit 1; }
mkdir -p .build
sls deploy -r $AWS_REGION || { echo "Node Lambda deployment failed."; exit 1; }
cat .build/output.json | jq -r '.ServiceEndpoint' | xargs -I {} sh -c "sed -i 's|##NODEJS_LAMBDA_URL##|{}|g' ../docker-compose/graph.json"
echo "Node Lambda function deployed."
echo
echo "----------"
echo
# Auto-deploy uninstrumented Java Lambda
cd $BASE_DIR/java
echo "Deploying Java Lambda function..."
sed -i "s/##UNIQUE_ID##/$UNIQUE_LAB_ID/g" ./serverless.yml
npm install --quiet --save serverless-stack-output || { echo "Java dependency installation failed."; exit 1; }
mvn clean package || { echo "Java build failed."; exit 1; }
mkdir -p .build
sls deploy -r $AWS_REGION || { echo "Java Lambda deployment failed."; exit 1; }
cat .build/output.json | jq -r '.ServiceEndpoint' | xargs -I {} sh -c "sed -i 's|##JAVA_LAMBDA_URL##|{}|g' ../docker-compose/graph.json"
echo "Java Lambda function deployed."
echo
echo "----------"
echo
end=$(date +%s)
echo "Execution time took $(expr $end - $start) seconds."