$ docker build -t gcr.io/bazel-public/gitsync . $ docker push gcr.io/bazel-public/gitsync
$ gcloud compute instances delete gitsync $ gcloud beta compute instances create-with-container \ --boot-disk-size 200GB \ --container-image gcr.io/bazel-public/gitsync:latest \ --machine-type n1-standard-1 \ --network buildkite \ --zone europe-west1-d \ --image-project cos-cloud \ --image-family cos-stable \ --metadata cos-metrics-enabled=true \ --scopes cloud-platform \ --service-account gitsync@bazel-public.iam.gserviceaccount.com \ gitsync
The service account used for the container must have at least the following permissions:
Cloud KMS Decryption
for the gitcookies and SSH key files only.Logging > Logs Writer
to write the Docker logs to Google Cloud Logging.Print the logs of the last minute in an easily readable format:
$ gcloud logging read --freshness 1m \ --format 'value(receiveTimestamp,jsonPayload.data)' \ 'logName="projects/bazel-public/logs/gcplogs-docker-driver" AND jsonPayload.instance.name="gitsync"' | tail -r