blob: 59929d9bd9f9dbe2b4d6a17d09490c78b1dcd08e [file] [log] [blame]
#!/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