Skip to content
yutils
Example

Input (Kubernetes YAML)

apiVersion: apps/v1
kind: Deployment
metadata:
  name: web
spec:
  template:
    metadata:
      labels: {app: web}
    spec:
      containers:
        - name: web
          image: nginx
          envFrom:
            - configMapRef: {name: web-config}
---
apiVersion: v1
kind: Service
metadata: {name: web}
spec:
  selector: {app: web}
  ports: [{port: 80}]
---
apiVersion: v1
kind: ConfigMap
metadata: {name: web-config}
data: {LOG_LEVEL: info}

Result

3 resources, 2 relationships.
- Service/web → Deployment/web (selector match)
- Deployment/web → ConfigMap/web-config (envFrom)

Note

Service → Workload only links when the selector exactly matches the pod template labels. Matching is scoped within the same namespace.

Usage / FAQ

When to use this

  • Visualize the rendered output of a Helm chart or Kustomize overlay to verify wiring
  • Paste kubectl get all -o yaml to understand a live cluster at a glance
  • PR review — instantly see how a new manifest connects to existing resources
  • Onboarding — walk a new engineer through your K8s topology
  • Migration — verify nothing gets disconnected when moving between clusters

FAQ

Q.Which resources are supported?
A.Deployment, StatefulSet, DaemonSet, Job, CronJob, Pod, Service, Ingress, ConfigMap, Secret, PersistentVolumeClaim, HorizontalPodAutoscaler, ServiceAccount, Namespace. Custom Resource Definitions (CRDs) are not supported.
Q.How are relationships inferred?
A.Ingress → Service: spec.rules backend service name. Service → Workload: selector ↔ pod template labels. Workload → ConfigMap/Secret: envFrom / env.valueFrom / volumes references. Workload → PVC: volumes.persistentVolumeClaim. HPA → Workload: spec.scaleTargetRef.
Q.Is it safe for sensitive manifests?
A.Yes. Everything runs inside your browser. Secret stringData/data values are never sent to a server. Closing the page clears memory.
Fun facts
  • Kubernetes comes from Greek κυβερνήτης ('helmsman' / 'pilot'). The shorthand K8s = 'K' + 8 letters + 's' = 'ubernete'. Same root word — 'Helm' (steering wheel) became the chart package manager's name.

    kubernetes.io
  • Kubernetes is the successor to Google's internal Borg (2003-, runs all of Google's services). Borg → Omega → Kubernetes — Google open-sourced it in 2014. The name 'Kubernetes' even references a ship from Borg.

    Wikipedia — Borg
  • v1.0 shipped in July 2015. First CNCF graduated project (2018). One of the most active OSS projects today — 5,000+ contributors, 500K+ commits per year. Every major cloud (GKE/EKS/AKS) offers it as managed service.

    CNCF — Kubernetes