Track every Atlantis apply, with the PR that caused it

Atlantis leaves its history in pull request comments, spread across repositories. Six weeks later, working out which apply changed a security group means searching GitHub. Kollaber records each apply as a timeline event with the pull request attached, so the change and its rationale stay together.

What lands on the timeline

Service
The project from atlantis.yaml, falling back to the directory and then the repository.
Pull request
The PR number the apply ran from.
Commit
The branch and commit that were applied.
Actor
The user who ran atlantis apply.

Setup

  1. 1Add an apply webhook to your server-side config

    Atlantis posts webhooks from repos.yaml. Point the apply event at Kollaber with your environment UUID.

    # repos.yaml
    webhooks:
      - event: apply
        kind: http
        url: https://kollaber.io/webhooks/atlantis?environment_id=<uuid>
  2. 2Send the secret as a header

    Atlantis cannot sign the body, so a shared secret in a static header is what it can offer. Set it on the server flag or the equivalent environment variable.

    --webhook-http-headers='{"Authorization":"Bearer $WEBHOOK_SECRET"}'
  3. 3Run an apply

    Atlantis posts only after an apply has run, so every delivery is a real change to your infrastructure.

Good to know

  • Use workspace-regex and branch-regex on the webhook to point different workspaces at different Kollaber environments.
  • Because Atlantis fires after the apply completes, there is no plan noise to filter — every event on the timeline corresponds to infrastructure that actually changed.

Questions

Will this record plans as well as applies?

No. The webhook is registered on the apply event only, and Atlantis posts it after the apply has run, so plans never reach the timeline.

How is the service name chosen?

The project name from atlantis.yaml is used when present. Without one it falls back to the directory, and then to the repository name.

Can one Atlantis server feed several environments?

Yes. Register multiple webhooks with different environment_id values and use workspace-regex or branch-regex to decide which applies go where.

Other integrations

Start recording Atlantis changes

The free plan covers two environments and five members. The full reference for this integration lives in the docs.