Skip to content

Commit a80f2b3

Browse files
committed
[NRL-793] WIP workflow for building permissions
1 parent c72606e commit a80f2b3

File tree

1 file changed

+48
-0
lines changed

1 file changed

+48
-0
lines changed
Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
#!/bin/bash
2+
# Pull down all the lambda code for the named stack
3+
set -o errexit -o nounset -o pipefail
4+
5+
: ${DIST_DIR:="./dist"}
6+
7+
stack_name="$1"
8+
9+
function pull_lambda_code(){
10+
local api_name="$1"
11+
local endpoint_name="$2"
12+
local lambda_name="nhds-nrlf--${stack_name}--API-${api_name}--${endpoint_name}"
13+
14+
echo "Downloading code for lambda ${lambda_name}...."
15+
code_url="$(aws lambda get-function --function-name ${lambda_name} | jq -r .Code.Location)"
16+
curl "${code_url}" > "${DIST_DIR}/${api_name}-${endpoint_name}.zip"
17+
}
18+
19+
function pull_layer_code(){
20+
local name="$1"
21+
local layer_name="nhds-nrlf--${stack_name}--${name}"
22+
local layer_version="$(aws lambda list-layer-versions --layer-name ${layer_name} | jq -r '.LayerVersions[0].Version')"
23+
local layer_pkg_name="$(echo ${layer_name} | tr '-' '_').zip"
24+
25+
echo "Downloading code for layer ${layer_name} version ${layer_version}...."
26+
code_url="$(aws lambda get-layer-version --layer-name ${layer_name} --version-number ${layer_version} | jq -r .Content.Location)"
27+
curl "${code_url}" > "${DIST_DIR}/${layer_pkg_name}"
28+
}
29+
30+
mkdir -p "${DIST_DIR}"
31+
32+
echo "Pulling code for consumer API lambdas...."
33+
for endpoint_name in $(ls api/consumer)
34+
do
35+
pull_lambda_code "consumer" "${endpoint_name}"
36+
done
37+
38+
echo "Pulling code for producer API lambdas...."
39+
for endpoint_name in $(ls api/producer)
40+
do
41+
pull_lambda_code "producer" "${endpoint_name}"
42+
done
43+
44+
echo "Pulling code for layers...."
45+
for layer_name in nrlf dependency-layer nrlf-permissions
46+
do
47+
pull_layer_code "${layer_name}"
48+
done

0 commit comments

Comments
 (0)