Kubernetes Reference Patterns
All Kubernetes patterns Jnkn detects.
Environment Variables
Direct Values
ConfigMap References
# ✅ Detected as env:DATABASE_HOST
# ✅ Creates edge to k8s:default/configmap/app-config
env:
- name: DATABASE_HOST
valueFrom:
configMapKeyRef:
name: app-config
key: db-host
Secret References
# ✅ Detected as env:DATABASE_PASSWORD
# ✅ Creates edge to k8s:default/secret/app-secrets
env:
- name: DATABASE_PASSWORD
valueFrom:
secretKeyRef:
name: app-secrets
key: db-password
Field References
envFrom
All Keys from ConfigMap
All Keys from Secret
Workload Types
Jnkn parses these Kubernetes resources:
| Kind | Detected |
|---|---|
| Deployment | ✅ |
| StatefulSet | ✅ |
| DaemonSet | ✅ |
| Job | ✅ |
| CronJob | ✅ |
| Pod | ✅ |
| ReplicaSet | ✅ |
Node ID Format
Examples:
- k8s:default/deployment/api-server
- k8s:production/statefulset/database
- k8s:default/configmap/app-config
- k8s:default/secret/app-secrets
Dependencies Detected
Workload → ConfigMap
apiVersion: apps/v1
kind: Deployment
metadata:
name: api-server
namespace: default
spec:
template:
spec:
containers:
- name: api
envFrom:
- configMapRef:
name: api-config
# Edge: k8s:default/deployment/api-server → k8s:default/configmap/api-config
Workload → Secret
apiVersion: apps/v1
kind: Deployment
metadata:
name: api-server
spec:
template:
spec:
containers:
- name: api
env:
- name: DB_PASSWORD
valueFrom:
secretKeyRef:
name: db-creds
key: password
# Edge: k8s:default/deployment/api-server → k8s:default/secret/db-creds
Workload → ServiceAccount
apiVersion: apps/v1
kind: Deployment
metadata:
name: api-server
spec:
template:
spec:
serviceAccountName: api-sa
# Edge: k8s:default/deployment/api-server → k8s:default/serviceaccount/api-sa
Cross-Domain Matching
K8s env vars are matched to other domains:
| K8s Env Var | Python | Confidence |
|---|---|---|
DATABASE_URL |
os.getenv("DATABASE_URL") |
HIGH (0.95) |
API_KEY |
env:API_KEY |
HIGH (0.90) |
| K8s ConfigMap | Terraform | Confidence |
|---|---|---|
api-config |
infra:aws_ssm_parameter.api_config |
MEDIUM (0.75) |
Multi-Document YAML
Jnkn handles multi-document YAML files:
---
apiVersion: v1
kind: ConfigMap
metadata:
name: app-config
data:
DATABASE_HOST: "localhost"
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: app
spec:
template:
spec:
containers:
- name: app
envFrom:
- configMapRef:
name: app-config
Both resources are detected and linked.