Search DevFox

Search tools and pages.

Kubernetes YAML Explorer

Explore multi-document Kubernetes manifests grouped by kind with a cross-reference graph (Service to Deployment, ConfigMap mounts, Ingress backends)

Loading tool...

What is Kubernetes YAML Explorer

Written by Giorgos Kostas. Last reviewed:

Kubernetes YAML Explorer parses every `---`-separated document, groups resources by kind, and resolves the cross-references Kubernetes makes implicit (selectors, secret/configmap mounts, ingress backends, HPA targets).

Each resource becomes a node in a React Flow graph; clicking it opens a detail panel with labels, ports, container counts, linter findings, and the original YAML.

Why use it

  • See the full topology of a kubectl bundle without an active cluster — perfect for code reviews and onboarding.
  • Spot misaligned Service selectors instantly: services with no incoming `selects` edge to a workload mean traffic goes nowhere.
  • Trace which Deployment consumes a given ConfigMap or Secret (envFrom, env, or volume).
  • Find HPAs pointing at non-existent or misnamed scale targets.
  • Audit Ingress → Service hops without grepping for `name:` references.
  • Filter the graph by kind / name / namespace from a single search box.

Features

  • Multi-doc YAML parsing (`---` separated)
  • Cross-reference resolver: Service ↔ workload, Ingress → Service, ConfigMap/Secret/PVC → workload, HPA → workload
  • Per-resource detail panel with labels, ports, replicas, linter findings
  • React Flow graph with kind-coloured nodes and labelled edges
  • Filter by name / namespace / kind
  • Copy original manifest of any selected resource

How to use Kubernetes YAML Explorer

  1. Paste manifests. Drop the output of `kubectl get … -o yaml` or your raw YAML.
  2. Open the graph. Resources are auto-grouped and laid out by kind.
  3. Click a node. The right pane shows labels, ports, references, and linter warnings.
  4. Trace references. Inbound / outbound edge buttons jump you straight to related resources.

Example (before/after)

Pasted manifests

kind: Deployment           name: api      labels: {app: devfox-api}
kind: Service              name: api      selector: {app: devfox-api}
kind: Ingress              backend: api
kind: ConfigMap            name: api-config
kind: Secret               name: api-secrets
kind: HorizontalPodAutoscaler scaleTargetRef: {kind: Deployment, name: api}

Resolved graph

Ingress/api → selects → Service/api → selects → Deployment/api
ConfigMap/api-config → envFrom → Deployment/api
Secret/api-secrets → env → Deployment/api
HPA/api → scales → Deployment/api

Common errors

Service has no inbound `selects` edge to a workload

The service selector doesn't match any pod template labels — traffic disappears into the void.

Fix: Confirm `spec.selector` matches the labels under `spec.template.metadata.labels` of the target Deployment / StatefulSet.

Container missing resources

Workload linter flags a container with no requests / limits.

Fix: Set `resources.requests` and `resources.limits` for CPU and memory — even rough numbers prevent noisy-neighbour problems.

Ingress points at a missing service

The `backend.service.name` doesn't exist in the same namespace.

Fix: Either rename the service or update the Ingress backend; confirm the namespace matches.

HPA scaleTargetRef points at the wrong kind

An HPA targeting `kind: Deployment` won't scale a StatefulSet.

Fix: Set `scaleTargetRef.kind` to the actual workload kind, not the controller you wish you had.

FAQ

Does it talk to my cluster?

No — everything is parsed and rendered in the browser. Paste the output of `kubectl get -o yaml --all-namespaces` (or any subset) and it will visualize the manifests as-is. Nothing leaves your machine.

Which resource kinds are recognised?

Workloads (Deployment, StatefulSet, DaemonSet, Pod, Job, CronJob), networking (Service, Ingress, NetworkPolicy), config (ConfigMap, Secret), storage (PersistentVolume, PersistentVolumeClaim), RBAC (Role, RoleBinding, ClusterRole, ClusterRoleBinding, ServiceAccount), and HorizontalPodAutoscaler. Anything else is grouped under `Other`.

Which cross-references does it resolve?

Service ↔ workload (label selector), Ingress → Service (backend), workload → ConfigMap / Secret (env, envFrom, volumes), workload → PVC (volumes), and HPA → workload (scaleTargetRef).

Why does my Service show no edges?

Either the selector is empty (the linter flags this on the Service node), or no workload's pod template labels match. Open the workload and verify `spec.template.metadata.labels`.

Does it work for Helm chart templates?

Render the chart first (`helm template my-release ./chart`) and paste the rendered YAML. Pre-render-time templates with `{{ }}` placeholders aren't valid YAML.

Can I export the graph?

Use the browser's screenshot tools or the React Flow controls to fit the view first. A dedicated SVG/PNG export is on the roadmap.

Related tools

Kubernetes / DevOps tools to pair with. You can also browse the full DevOps & Infra category for more options.

Docker Compose Validator

Validate docker-compose.yml against the Compose Spec schema with hand-written lints (port collisions, undefined networks, depends_on cycles)

ENV File Editor

Edit .env files in a key/value table with type detection, masked secrets, duplicate-key warnings, and export to JSON, YAML, shell, or docker-compose

YAML Validator

Validate YAML syntax online and catch indentation and structure errors instantly. Paste YAML config files and get detailed error messages with line numbers.

YAML Formatter

Format and beautify YAML content online with proper indentation and flow styles. Paste YAML and get clean, readable output instantly.

JSON Graph Explorer

Explore any JSON document as an interactive node-link graph with collapsible nodes, $ref/href detection, and PNG plus DOT export

OpenAPI Visualizer

Paste, upload, or fetch an OpenAPI spec and render readable, navigable API documentation with copy-as-curl per operation

Nginx Load Balancer Config Generator

Generate an nginx upstream + load balancer config with round-robin, least_conn, ip_hash, weights, health checks, and keepalive

Nginx Reverse Proxy Generator

Generate a production-ready nginx.conf for reverse proxying with proxy_pass, headers, timeouts, and gzip from a focused form

Nginx SSL Config Generator

Generate an HTTPS-ready nginx.conf with SSL certificate paths, modern protocols, ciphers, HSTS, and HTTP-to-HTTPS redirect

Nginx Static Site Config Generator

Generate an nginx.conf for serving a static site with try_files, SPA fallback, gzip, brotli, and aggressive cache headers

Nginx WebSocket Proxy Generator

Generate an nginx config for proxying WebSocket connections with Upgrade and Connection headers and long read timeouts