Release Targets
A Release Target is the combination of a Deployment, Environment, and Resource. It represents a specific place where a deployment version can be released.Understanding Release Targets
The core formula:Example
Given:- Deployment: API Service
- Environment: Production (matches 2 resources)
- Resource 1: prod-cluster-us-east
- Resource 2: prod-cluster-us-west
- API Service → Production → prod-cluster-us-east
- API Service → Production → prod-cluster-us-west
How Release Targets are Created
Release targets are created automatically based on selectors:1. Environment Selector Matches Resources
Environment defines a resource selector:metadata.environment = "production".
2. Deployment Selector Further Filters (Optional)
Deployment can have an additional resource selector:3. Intersection Creates Release Targets
The final set of resources is the intersection of:- Resources matched by environment selector
- Resources matched by deployment selector (if present)
Release Target Properties
key
Unique identifier combining deployment, environment, and resource IDs. Format:{deploymentId}:{environmentId}:{resourceId}
This key is used to track which version is currently deployed to each target.
Release Target Lifecycle
Creation
Release targets are created when:- A new deployment is created (targets created for all matching environments and resources)
- A new environment is created (targets created for all deployments and matching resources)
- A new resource is created that matches existing environment selectors (targets created for all deployments)
Deletion
Release targets are deleted when:- The deployment is deleted
- The environment is deleted
- The resource is deleted or no longer matches the selectors
Dynamic Updates
As resources are added, updated, or removed:- Resource metadata changes → Release targets re-evaluated
- Resource matches environment selector → New release targets created
- Resource stops matching → Release targets removed
Viewing Release Targets
Via Web UI
- Navigate to your deployment
- Click “Release Targets” tab
- See all targets with current deployed versions
Via API
Release Target Matrix
Think of release targets as a 3D matrix:Release Target States
While release targets don’t have an explicit “status” field, their state is determined by their current release:No Release
Target exists but no version has been deployed yet.Active Release
A version is currently being deployed (job in progress).Completed Release
A version is successfully deployed (job completed).Failed Release
Latest deployment attempt failed.Pending Release
A release exists but is waiting for approval/policies.Deployment Targeting Strategies
Strategy 1: Broad Matching
Environment matches many resources, deployment doesn’t filter:Strategy 2: Deployment-Level Filtering
Deployment limits which resources it can target:Strategy 3: Fine-Grained Environments
Create specific environments for precise targeting:Release Target Locking
Release targets can be locked to prevent new deployments:- Maintenance windows
- Incident response (freeze deployments)
- Testing/debugging (keep specific version)
Querying Release Targets
By Deployment
By Environment
By Resource
With Filters
Release Target Count Estimates
Before creating a deployment, estimate how many release targets will be created:Common Patterns
Pattern 1: Environment-Per-Region
Pattern 2: Tiered Resources
Pattern 3: Canary Deployments
Best Practices
Resource Metadata Design
Design resource metadata with targeting in mind:Selector Simplicity
Prefer Simple Selectors:Validate Target Count
Before deploying:- Check estimated release target count
- Verify targets match expectations
- Test in lower environment first
Monitor Release Targets
- Track release target creation/deletion events
- Alert on unexpected target count changes
- Review targets when resources are added/updated
Troubleshooting
Too many release targets created
- Review environment resource selectors
- Check if deployment needs a resource selector to filter
- Verify resource metadata is correct
Expected targets not created
- Check environment selector matches resources
- Verify deployment selector (if present) isn’t too restrictive
- Ensure deployment and environment are in same system
- Check resources exist and aren’t deleted
Targets created for wrong resources
- Review selector logic (AND vs. OR)
- Check resource metadata matches expectations
- Test selectors with query API before applying
Release target disappeared
- Check if resource was deleted
- Verify resource still matches environment selector
- Check if resource metadata changed
Next Steps
- Releases and Jobs - How versions deploy to targets
- Selectors - Master the selector syntax
- Environments - Create and configure environments
- Policies - Control which targets receive deployments