Setup a Git Webhook¶
Expose Burrito server to the internet¶
Expose the burrito-server service to the internet using the method of your choice. (e.g. ingress, port-forward & ngrok for local testing...). Accessing the URL on the browser should display the Burrito UI.
Configure a webhook on GitHub or GitLab¶
Create a webhook (with a secret!) in the repository you want to receive events from.
The target URL must point to the exposed burrito-server on the /api/webhook path.
GitHub triggers:
The webhook should be triggered on push and pull_request events.
GitLab triggers:
The webhook should be triggered on Push events from all branches and Merge request events.
Reference the webhook secret in the repository secret¶
Add the webhook secret to the secret used to authenticate to the repository. If the repository is public, create a secret in the same namespace as the TerraformRepository and reference it in the spec.repository.secretName.
Reference the webhook secret in the webhookSecret key of the Kubernetes secret.
apiVersion: config.terraform.padok.cloud/v1alpha1
kind: TerraformRepository
metadata:
name: my-repository
namespace: burrito-project
spec:
repository:
url: https://github.com/owner/repo
secretName: burrito-repo
terraform:
enabled: true
apiVersion: v1
kind: Secret
metadata:
name: burrito-repo
namespace: burrito-project
type: Opaque
stringData:
githubAppId: "123456"
githubAppInstallationId: "12345678"
githubAppPrivateKey: |
-----BEGIN RSA PRIVATE KEY-----
my-private-key
-----END RSA PRIVATE KEY-----
webhookSecret: "my-webhook-secret"