Calculate Blast Radius
Find all artifacts impacted by a change.
Basic Usage
Artifact ID Formats
| Type | Format | Example |
|---|---|---|
| Environment variable | env:NAME |
env:DATABASE_URL |
| File | file://path |
file://src/config.py |
| Infrastructure | infra:name |
infra:aws_rds.main |
| Kubernetes | k8s:ns/kind/name |
k8s:default/deployment/api |
| dbt model | data:model |
data:fct_orders |
Options
Limit Depth
Only show direct dependencies:
Show up to 3 levels:
Multiple Sources
Analyze several artifacts at once:
Filter by Type
Only show infrastructure impacts:
Only show code files:
Output Formats
Scripting
Check Impact Count
IMPACT=$(jnkn blast env:X --format json | jq '.total_impacted_count')
if [ "$IMPACT" -gt 10 ]; then
echo "High impact: $IMPACT artifacts"
exit 1
fi
Get Impacted Files Only
Pipe to Other Tools
# Send to Slack
jnkn blast env:X --format markdown | slack-cli post "#alerts"
# Create Jira ticket
jnkn blast env:X --format json | jira-create-ticket.sh
Understanding Results
{
"source_artifacts": ["env:DATABASE_URL"],
"total_impacted_count": 5,
"impacted_artifacts": [
"file://src/db/connection.py",
"file://src/api/users.py",
"infra:aws_db_instance.main"
],
"breakdown": {
"code": ["file://src/db/connection.py", "file://src/api/users.py"],
"infra": ["infra:aws_db_instance.main"],
"env": [],
"data": []
},
"max_depth_reached": 2
}
total_impacted_count: Total number of affected artifactsimpacted_artifacts: Full list of affected artifact IDsbreakdown: Grouped by artifact typemax_depth_reached: How many hops the deepest impact is
Troubleshooting
"Artifact not found"
The artifact ID may not exist in the graph. Check with:
Results seem incomplete
Ensure you've scanned all relevant directories: