Indent uses webhooks to notify your application when an event happens. Webhooks are particularly useful for asynchronous events like when a someone approves an access request, someone's time-based access grant expires, or a suspicious access pattern is identified.
First, you’ll need to create your space:
Then connect to Slack to handle the access requests.
To deploy the Google Cloud Storage connector in your cloud:
curl https://codeload.github.com/indentapis/indent-js/tar.gz/master | \ tar -xz --strip=2 indent-js-master/examples/gcloud-storage-webhook cd gcloud-storage-webhook # Create `.env.yaml` file to have your INDENT_WEBHOOK_SECRET npm install GCP_PROJECT=my-project-123 npm run deploy
This will take a minute to run the first time as Google Cloud Functions sets up the resources in the GCP project. You should see an output similar to below:
> @indent/gcloud-storage-webhook@0.0.0 deploy /Users/docs/dl/gcloud-storage-webhook > gcloud functions deploy indent-storage-webhook --env-vars-file .env.yaml --region us-central1 --project=$GCP_PROJECT --runtime=nodejs10 --trigger-http --allow-unauthenticated Deploying function (may take a while - up to 2 minutes)...done. availableMemoryMb: 256 entryPoint: indent-storage-webhook environmentVariables: INDENT_WEBHOOK_SECRET: <REDACTED> httpsTrigger: url: https://us-central1-my-project-123.cloudfunctions.net/indent-storage-webhook ingressSettings: ALLOW_ALL labels: deployment-tool: cli-gcloud name: projects/my-project-123/locations/us-central1/functions/indent-storage-webhook runtime: nodejs10 serviceAccountEmail: my-project-123@appspot.gserviceaccount.com sourceUploadUrl: <REDACTED> status: ACTIVE timeout: 60s updateTime: '2020-06-06T19:51:43.924Z' versionId: '13'
You can use an existing bucket, or create a new one, to grant admin acess to the Cloud Funtion you just created for requesting access:
$ gsutil iam ch serviceAccount:<serviceAccountEmail>:objectAdmin gs://your-bucket-example
Once you’ve deployed this webhook, update the URL
in your App and you should start to see events flow into your webhook!