Jnkn
Catch cross-domain breaking changes before they reach production.
Why jnkn?
-
The 3am Page
You renamed a variable in Terraform. CI passed. Code review approved. Deploy went smooth. Then your app crashes at 3am because Python still expects the old name. Every team has this story.
-
It Gets Worse
Your data engineer updates a dbt model, renaming
user_idtocustomer_id. dbt tests pass. But downstream, three Airflow DAGs, a Spark job, and your ML pipeline all expectuser_id. You find out when dashboards go blank Monday morning. -
Junkan Catches It
Junkan builds a dependency graph across your entire stack. Before you merge, you see: "This change impacts 4 Python files, 2 Terraform outputs, and 1 Kubernetes secret." No more surprises.
How It Works
graph LR
subgraph Parse
PY[Python] --> G[Graph]
TF[Terraform] --> G
K8[Kubernetes] --> G
end
subgraph Stitch
G --> M{Token<br/>Matching}
M --> L[Cross-Domain<br/>Links]
end
subgraph Analyze
L --> B[Blast Radius]
B --> PR[PR Comment]
end
- Parse your codebase into a dependency graph
- Stitch cross-domain links using token matching
- Analyze blast radius for any change
Quick Start
Features
-
5-Minute Setup
Install and scan your first project in minutes. No configuration required.
-
Understand Impact
See what breaks when you change infrastructure or code. Traverse dependencies across domains.
-
CI/CD Ready
Block risky PRs automatically with GitHub Actions. Get impact analysis on every pull request.
-
Highly Configurable
Tune confidence thresholds and suppress false positives. Make it work for your codebase.
Supported Stacks
| Language/Tool | Patterns Detected |
|---|---|
| Python | os.getenv, Pydantic Settings, Click/Typer, django-environ |
| Terraform | Resources, variables, outputs, data sources |
| Kubernetes | ConfigMaps, Secrets, environment variables |
| dbt | ref(), source(), var() |
| JavaScript | process.env, dotenv |
Get Started
-
Install
-
Quickstart
-
Learn