Release Agent
The Release Agent automatically tracks deployments across your cloud infrastructure and correlates them with GitHub releases, giving you complete visibility into what's running where.
What Problem Does It Solve?
In 2 words: ship confidently
You can ask the release watcher to follow steps to monitor the health of your service after every release (all in natural language!). It will follow them, and send you slack alerts or open up a GitHub issue with proof - telemetry data as well as exact code changes that caused the problem, and suggest a fix.
In modern cloud environments, it's challenging to:
- Know which version of your application is deployed in each environment
- Correlate container deployments with GitHub releases and changelogs
- Track deployment history across multiple services and regions
- Get notified when deployments change
- Answer questions like "What version is running in production?" or "When was service X last deployed?"
The Release Agent solves these problems by automatically capturing deployment events and enriching them with release metadata.
How It Works
Your Cloud Platform (CloudRun/ECS)
↓
Deployment happens
↓
Cardinal captures the event
↓
Release Agent correlates with GitHub releases
↓
You get insights, alerts, and can ask questionsThe Release Agent automatically:
- Captures deployment events from your cloud platform
- Detects when services are updated or deployed
- Correlates deployments with GitHub releases and code changes
- Enriches deployment data with release notes, changelogs, and metadata
- Notifies you and answers questions about what's running where
Supported Platforms
- Kubernetes - Track Kubernetes workload deployments
- Google Cloud Run - Track Cloud Run service deployments
- AWS ECS - Track ECS service deployments
Prerequisites
Before setting up deployment tracking, ensure you have:
-
Cardinal Account
- Active Cardinal account
- API key for authentication
-
GitHub Integration
- GitHub App installed on your repositories
- Release tracking enabled
-
Cloud Platform Access
- Admin access to your GCP project or AWS account
- Permissions to deploy functions/lambdas and configure event triggers
Payload Structure
Use any platform you want! As long as you can send deployment data in this format to Cardinal, the Release Agent will work. The CloudRun and ECS guides are just examples - you can integrate Kubernetes, Nomad, Docker Swarm, or any other platform.
Send a POST request to https://app.cardinalhq.io/_/chip/workloads with this structure:
{
"runtime": "cloudrun" | "ecs" | "k8s" | "your-platform",
"scope": "{location}/{project}" | "{region}/{cluster}" | "your-scope",
"workloads": [{
"name": "service-name",
"digests": ["sha256:abc123..."],
"properties": {
// Any metadata you want to track
}
}]
}Required Fields:
runtime: Identifier for your platform (e.g.,"k8s","ecs","cloudrun")scope: Logical grouping for your deployments (e.g.,"us-east-1/prod","namespace/cluster")workloads[].name: Service/workload nameworkloads[].digests: Array of container image SHA256 digests (this is what gets correlated with GitHub releases)
Optional Fields:
workloads[].properties: Any platform-specific metadata you want to store and query later
Authentication: Include your Cardinal API key in the request header:
x-cardinalhq-api-key: your-cardinal-api-keyNext Steps
Choose your platform to get started: