| #!/bin/bash | |
| set -e -x | |
| PROJECT="${PROJECT:-skia-public}" | |
| PUBSUB_TOPIC="${PUBSUB_TOPIC:-task-driver-logs}" | |
| LOG_NAME="${LOG_NAME:-task-driver}" | |
| # Set up BigTable tables and column families. | |
| go get -u cloud.google.com/go/bigtable/cmd/cbt | |
| PROJECT="skia-public" | |
| BIGTABLE_INSTANCE="production" | |
| BIGTABLE_TABLE="task-driver-runs" | |
| BIGTABLE_COLUMN_FAMILY="MSGS" | |
| cbt --project=${PROJECT} --instance=${BIGTABLE_INSTANCE} createtable ${BIGTABLE_TABLE} | |
| cbt --project=${PROJECT} --instance=${BIGTABLE_INSTANCE} createfamily ${BIGTABLE_TABLE} ${BIGTABLE_COLUMN_FAMILY} | |
| BIGTABLE_TABLE="task-driver-logs" | |
| BIGTABLE_COLUMN_FAMILY="LOGS" | |
| cbt --project=${PROJECT} --instance=${BIGTABLE_INSTANCE} createtable ${BIGTABLE_TABLE} | |
| cbt --project=${PROJECT} --instance=${BIGTABLE_INSTANCE} createfamily ${BIGTABLE_TABLE} ${BIGTABLE_COLUMN_FAMILY} | |
| BIGTABLE_INSTANCE="staging" | |
| BIGTABLE_TABLE="task-driver-runs" | |
| BIGTABLE_COLUMN_FAMILY="MSGS" | |
| cbt --project=${PROJECT} --instance=${BIGTABLE_INSTANCE} createtable ${BIGTABLE_TABLE} | |
| cbt --project=${PROJECT} --instance=${BIGTABLE_INSTANCE} createfamily ${BIGTABLE_TABLE} ${BIGTABLE_COLUMN_FAMILY} | |
| BIGTABLE_TABLE="task-driver-logs" | |
| BIGTABLE_COLUMN_FAMILY="LOGS" | |
| cbt --project=${PROJECT} --instance=${BIGTABLE_INSTANCE} createtable ${BIGTABLE_TABLE} | |
| cbt --project=${PROJECT} --instance=${BIGTABLE_INSTANCE} createfamily ${BIGTABLE_TABLE} ${BIGTABLE_COLUMN_FAMILY} | |
| PROJECT="google.com:skia-corp" | |
| BIGTABLE_INSTANCE="internal" | |
| BIGTABLE_TABLE="task-driver-runs" | |
| BIGTABLE_COLUMN_FAMILY="MSGS" | |
| cbt --project=${PROJECT} --instance=${BIGTABLE_INSTANCE} createtable ${BIGTABLE_TABLE} | |
| cbt --project=${PROJECT} --instance=${BIGTABLE_INSTANCE} createfamily ${BIGTABLE_TABLE} ${BIGTABLE_COLUMN_FAMILY} | |
| BIGTABLE_TABLE="task-driver-logs" | |
| BIGTABLE_COLUMN_FAMILY="LOGS" | |
| cbt --project=${PROJECT} --instance=${BIGTABLE_INSTANCE} createtable ${BIGTABLE_TABLE} | |
| cbt --project=${PROJECT} --instance=${BIGTABLE_INSTANCE} createfamily ${BIGTABLE_TABLE} ${BIGTABLE_COLUMN_FAMILY} | |
| # Set up logs export to pubsub. | |
| gcloud --project=${PROJECT} logging sinks create task-driver-logs-to-pubsub \ | |
| pubsub.googleapis.com/projects/${PROJECT}/topics/${PUBSUB_TOPIC} \ | |
| --log-filter="logName=\"projects/${PROJECT}/logs/${LOG_NAME}\"" | |
| PUBSUB_SERVICE_ACCOUNT=$(gcloud logging --project=${PROJECT} sinks describe task-driver-logs-to-pubsub | grep writerIdentity | sed -e 's/writerIdentity: serviceAccount://g') | |
| gcloud projects add-iam-policy-binding ${PROJECT} --member serviceAccount:${PUBSUB_SERVICE_ACCOUNT} --role roles/pubsub.publisher |