Deployments

  1. Deployments
    1. How deployments are registered
      1. GitHub Deployments (automatic)
      2. Deployment API (explicit)
    2. What happens after a deployment
      1. Git ancestry matching
      2. Monitoring plans
      3. Post-deploy triggers
    3. Environments

Firetiger tracks deployment events from your CI/CD systems. A deployment represents a specific Git commit being shipped to a specific environment — for example, commit abc123 going live in production.

You can view your deployment history at /deployments. This shows each deployment event with its repository, environment, Git SHA, and status.

Deployments are a building block for several Firetiger features:

How deployments are registered

There are two ways to register deployments with Firetiger.

GitHub Deployments (automatic)

If your CI/CD pipeline uses GitHub Deployments, Firetiger picks up deployment events automatically through your GitHub integration. No extra configuration is needed once the connection is installed.

This auto-creation can be disabled per-connection if your GitHub Deployment events don’t map to meaningful production deploys (e.g., if you use them for CI build gates or preview environments).

Deployment API (explicit)

For other CI/CD systems, or when you want explicit programmatic control, you can register deployments directly via the API:

curl -X POST https://api.cloud.firetiger.com/deployments \
  -u "$FT_DEPLOY_USERNAME:$FT_DEPLOY_PASSWORD" \
  -H "Content-Type: application/json" \
  -d '{
    "repository":   "owner/repo",
    "environment":  "production",
    "sha":          "abc123def456...",
    "deploy_time":  "2025-01-15T10:00:00Z"
  }'
Field Required Description
repository yes Repository in owner/repo format
environment yes Deployment environment (e.g. production, staging)
sha yes Git commit SHA that was deployed
deploy_time no RFC 3339 timestamp; defaults to the time of the request

Deploy credentials are available on the Deployments page under the Create a deployment tab.

What happens after a deployment

Once a deployment is registered, Firetiger checks it against any active monitoring plans and post-deploy triggers using Git ancestry.

Git ancestry matching

Firetiger doesn’t require the exact commit from a PR to be deployed. Instead, it checks whether the deployed commit is a descendant of the commit it’s watching. This matters because in practice, the commit that actually gets deployed is rarely the exact merge commit of a single PR — it’s usually a later commit that includes several merged PRs.

For example, suppose you set up deploy monitoring on PR #42, which merges as commit B:

          PR #42
            │
A ── B ── C ── D ── E     (main)
     │              │
   merge of       deployed
   PR #42         to prod

When commit E is deployed, Firetiger checks: is B an ancestor of E? It is — E contains all the changes from B — so the monitoring plan for PR #42 activates. This works regardless of how many other commits landed between B and E.

Monitoring plans

When a deployment’s SHA is a descendant of a PR’s merge commit, Firetiger marks that PR as deployed and begins running the monitoring plan that was set up for it. Checks run at 10 minutes, 30 minutes, 1 hour, 2 hours, 24 hours, and 72 hours after deploy. See Monitoring your deploys for the full guide on setting this up.

Post-deploy triggers

Post-deploy triggers use the same ancestry logic. Each trigger watches for a specific commit SHA (or any descendant of it) landing in a particular repository and environment. When a match is found, the trigger fires the associated agent after a configurable delay. See Post-deploy triggers for details.

Environments

Firetiger doesn’t prescribe a fixed set of environment names. Whatever string you pass as environment — whether that’s production, staging, us-east-1, or canary — is used as-is. This means you can model your deployment topology however it actually works, without mapping it into a predefined set of stages.

When a monitoring plan is tracking multiple environments, it handles them in a single pass. A new deployment to any environment resets the monitoring schedule for the entire plan, since a fresh deploy is a new risk event worth checking against all environments.


This site uses Just the Docs, a documentation theme for Jekyll.