- create a new service account
- with perission roles/storage.objectAdmin (access to google cloud storage)
- generate HMAC keys
gcloud iam service-accounts create videobug-service-account --display-name "videobug service account"
gcloud projects add-iam-policy-binding $(gcloud config get-value project) --member="serviceAccount:videobug-service-account@$(gcloud config get-value project).iam.gserviceaccount.com" --role="roles/storage.objectAdmin"
gsutil hmac create videobug-service-account@$(gcloud config get-value project).iam.gserviceaccount.com
Access ID: GOOG1EK3UCPL6K6OJB6LNGM7DSFU4U22SPVGHQTIV4KXXXXXXXXXXXXXXXXXX
Secret: XXX/OSxxQ0xxxxJ0WxRTxx9YFx5xx0AxF1SPxxxx
Set your project as default in google storage interopability (open in new tab and check under heading "Default project for interoperable access")
https://console.cloud.google.com/storage/settings;tab=interoperability?project=
Download videobug.jinja
wget https://gist.githubusercontent.com/artpar/1c471c722c81877f60d4e99337e92fd1/raw/47cb80b1034c2e3de443f8a4847ecb6179198630/videobug.jinja
Execute
gcloud deployment-manager deployments create videobug --template=videobug.jinja --properties="zone:'us-west1-a',region:'us-west1',accessKey:'<ACCESS-KEY>',secretKey:'<SECRET-KEY>'"
Get Public IP
gcloud compute addresses describe --global videobug-public-ip
address: 34.117.44.161
addressType: EXTERNAL
creationTimestamp: '2022-05-31T23:44:53.432-07:00'
description: ''
id: '5991168970906579978'
kind: compute#address
name: videobug-public-ip
networkTier: PREMIUM
selfLink: https://www.googleapis.com/compute/v1/projects/shining-camp-344911/global/addresses/videobug-public-ip
status: IN_USE
users:
- https://www.googleapis.com/compute/v1/projects/shining-camp-344911/global/forwardingRules/videobug-http