Preparing webhook deployment
Once you've created your webhook endpoint, you can set it up in the Indent dashboard.
For apply update webhooks
- Sign into your Indent space.
- Go to your configuration.
- Expand the "Webhook Output" and enter your "Webhook URL" and turn off the "Testing Mode" option.
- If you set any authorization headers, you can add them under "Headers" to include in requests. (Recommended)
- Click "Save" in the top right.
For pull update webhooks
- Sign into your Indent space.
- Go to the webhooks page.
- Click "New" and select the kind of webhook you'd like to create.
- Update the signing secret in your deployed endpoint and enter the webhook URL.
- Once you've successfully deployed your webhook, disable "Testing Mode" and try making a request.
Deploying on AWS
- Select the AWS account where you'd like to deploy the webhooks.
- Go to AWS IAM → Add Users and create a new user for deploys, such as
indent-terraform-deployer
- Configure the service account's access:
- Credential type — select Access key - Programmatic access
- Permissions — click Attach existing policies directly and select
AdministratorAccess
- Follow the prompts until the account is created
Deploying on Google Cloud
- Select the Google Cloud project with the required APIs enabled:
Choose an authentication method
- CLI
- Service Account
Log in to Google Cloud SDK from the command line:
gcloud auth application-default login
Follow the prompts to log in to your Google Cloud SDK Account. Then,configure the project you want to use to deploy Indent webhooks:
gcloud config set project my-project
Create a Google Cloud Service Account.
After you create the service account, create a JSON Service Account Key:
- Select a project
- Click the email address of the service account you want to create a key for.
- Click the "Keys" tab.
- Click the "Add key" dropdown, then select "Create new key."
- Select "JSON" as the "Key Type" and click "Create."
- Save the key to
terraform/secrets/terraform-deploy-key.json
in your Indent webhook folder.
Example key format
{
"type": "service_account",
"project_id": "project-id",
"private_key_id": "key-id",
"private_key": "-----BEGIN PRIVATE KEY-----\nprivate-key\n-----END PRIVATE KEY-----\n",
"client_email": "service-account-email",
"client_id": "client-id",
"auth_uri": "https://accounts.google.com/o/oauth2/auth",
"token_uri": "https://accounts.google.com/o/oauth2/token",
"auth_provider_x509_cert_url": "https://www.googleapis.com/oauth2/v1/certs",
"client_x509_cert_url": "https://www.googleapis.com/robot/v1/metadata/x509/service-account-email"
}