@@ -11,7 +11,9 @@ teardown="${2:-False}"
1111survey=" ${3:- lsst} "
1212region=" ${4:- us-central1} "
1313# get the environment variable
14+ BASE_DIR=$( pwd)
1415PROJECT_ID=$GOOGLE_CLOUD_PROJECT
16+ PROJECT_NUMBER=$( gcloud projects describe " $PROJECT_ID " --format=" value(projectNumber)" )
1517
1618MODULE_NAME=" supernnova" # lower case required by cloud run
1719ROUTE_RUN=" /" # url route that will trigger main.run()
@@ -30,12 +32,13 @@ define_GCP_resources() {
3032# --- GCP resources used in this script
3133artifact_registry_repo=$( define_GCP_resources " ${survey} -cloud-run-services" )
3234bq_dataset=$( define_GCP_resources " ${survey} " " _" )
33- bq_table=" SuperNNova "
35+ bq_table=" ${MODULE_NAME} "
3436cr_module_name=$( define_GCP_resources " ${survey} -${MODULE_NAME} " ) # lower case required by cloud run
35- ps_input_subscrip=$( define_GCP_resources " ${survey} -SuperNNova " ) # pub/sub subscription used to trigger cloud run module
36- ps_output_topic=$( define_GCP_resources " ${survey} -SuperNNova " )
37+ ps_input_subscrip=$( define_GCP_resources " ${survey} -${MODULE_NAME} " ) # pub/sub subscription used to trigger cloud run module
38+ ps_output_topic=$( define_GCP_resources " ${survey} -${MODULE_NAME} " )
3739ps_trigger_topic=$( define_GCP_resources " ${survey} -lite" )
3840runinvoker_svcact=" cloud-run-invoker@${PROJECT_ID} .iam.gserviceaccount.com"
41+ service_account=" service-${PROJECT_NUMBER} @gcp-sa-pubsub.iam.gserviceaccount.com"
3942# topics and subscriptions involved in writing data to BigQuery
4043ps_bigquery_subscription=$( define_GCP_resources " ${survey} -${MODULE_NAME} -bigquery-import" )
4144ps_deadletter_topic=$( define_GCP_resources " ${survey} -deadletter" )
@@ -51,7 +54,8 @@ if [ "${teardown}" = "True" ]; then
5154 gcloud run services delete " ${cr_module_name} " --region " ${region} "
5255 fi
5356else
54- echo " Configuring Pub/Sub resources..."
57+ echo
58+ echo " Configuring Pub/Sub resources for ${MODULE_NAME} module..."
5559 gcloud pubsub topics create " ${ps_output_topic} "
5660 gcloud pubsub subscriptions create " ${ps_bigquery_subscription} " \
5761 --topic=" ${ps_output_topic} " \
6064 --drop-unknown-fields \
6165 --dead-letter-topic=" ${ps_deadletter_topic} " \
6266 --max-delivery-attempts=5 \
63- --dead-letter-topic-project=" ${PROJECT_ID} "
67+ --dead-letter-topic-project=" ${PROJECT_ID} " \
68+ --message-transforms-file=" ${BASE_DIR%%/ cloud_run/* } /setup_broker/lsst/templates/ps_lsst_flatten_schema_smt.yaml"
6469 # set IAM policies on public Pub/Sub resources
6570 if [ " $testid " = " False" ]; then
6671 user=" allUsers"
67- roleid=" projects/ ${GOOGLE_CLOUD_PROJECT} / roles/userPublic "
72+ roleid=" roles/pubsub.subscriber "
6873 gcloud pubsub topics add-iam-policy-binding " ${ps_output_topic} " --member=" ${user} " --role=" ${roleid} "
74+ gcloud pubsub subscriptions add-iam-policy-binding " ${ps_bigquery_subscription} " --member=" serviceAccount:${service_account} " --role=" ${roleid} "
6975 fi
7076
7177 # --- Deploy Cloud Run service
0 commit comments