Kubernetes manifest diff

Paste two versions, such as a cluster export and your repo, or staging and production. Choose source mode for the lines or semantic mode for the objects.

Left (before)

Opening local draft…

Right (after)

Opening local draft…

Differences

3 object(s) differ, 0 identical. Objects matched by group/kind/namespace/name; named list items matched by name. Nothing is ignored.

6 change(s)Deployment/web (ns shop)
PathLeftRight
metadata.uid6f1c0d3e-0000-4000-8000-000000000001
metadata.resourceVersion48211
spec.replicas23
spec.template.spec.containers[name=web].imageregistry.example.com/shop/web:1.4.1registry.example.com/shop/web:1.4.2
spec.template.spec.containers[name=web].resources.limits{"memory":"512Mi"}
status{"readyReplicas":2}
1 change(s)ConfigMap/web-config (ns shop)
PathLeftRight
data.LOG_LEVELdebuginfo
only on rightPodDisruptionBudget/web (ns shop)

Two modes, kept separate

Source mode compares lines exactly, including comments and key order. Semantic mode parses both sides, matches objects by group, kind, namespace and name, and compares values. Containers, ports, env vars and volumes are matched by name rather than position.

Nothing is ignored by default. Ignoring status, server-generated metadata or the last-applied annotation are explicit options, so a change never disappears without you choosing it.

Questions

Is this the same as kubectl diff?

No. kubectl diff asks your API server what would change after defaulting and admission. This compares the two texts you supply, locally.

Other tools

Manifest editorEdit multi-document Kubernetes YAML with per-document identity, duplicate detection, a relationship graph with an accessible table, and findings tied to source lines.YAML validatorValidate Kubernetes YAML against a versioned schema pack with separate YAML, schema, cross-object and policy findings.Deployment generatorGenerate a Deployment with Service, Ingress, PodDisruptionBudget and HPA: named ports, probes, requests and a hardened security context, validated as you type.Service generatorBuild ClusterIP, NodePort, LoadBalancer, headless and ExternalName Services, and check selector and targetPort mapping against a pasted workload.Resource calculatorExact Kubernetes quantity parsing (100m vs 100Mi), unit conversion, and requests/limits totals that account for init containers, native sidecars, replicas, rollout surge and overhead.RBAC analyzerInspect Roles, ClusterRoles and bindings offline: subject-to-permission matrix, aggregated-role handling, risky verbs, and "can this subject do X" checks scoped to the supplied rules.NetworkPolicy explainerExplain which pods each NetworkPolicy isolates and test traffic scenarios between pods, namespaces and IPs with additive allow-list reasoning.Probe builderBuild liveness, readiness and startup probes and see their timing: when the first check runs, how long until a failure triggers action, and what that action is.API deprecationsFind Kubernetes APIs removed or deprecated for your target version, using a dated pack, and preview field-aware migrations with the semantic changes you need to review.CronJob schedulePreview the next runs of a Kubernetes CronJob schedule in its spec.timeZone, explain concurrency and deadline settings, and catch TZ= in the schedule string.Secret encoderEncode and decode Kubernetes Secret values locally, build Secret YAML with data or stringData, and inspect an existing Secret with values masked by default.Redact exportFind Secret data, tokens, credential-bearing env values and last-applied annotations in Kubernetes YAML, review each one, and export a redacted copy.TemplatesSynthetic Kubernetes templates with safe defaults — web app, StatefulSet, CronJob, NetworkPolicy, RBAC, HPA, sidecar — each tested against the schema pack for every supported version.