Selector does not match the template labels
selector:
matchLabels: {app: api}
template:
metadata:
labels: {app: backend}The API server rejects the Deployment. YAMLTools shows both sides so you can see which label differs.
Paste one or many manifests separated by --- and check them before kubectl apply: structure against the Kubernetes API, objects that do not match each other and the settings that put a cluster at risk.
Paste a file on the left to validate it.

Ship your next product faster with AI-ready Next.js
The boilerplate designed for AI to understand your project. Use code YAMLTOOLS for 5% off!
The ones that break a deploy most often, and how YAMLTools reports them.
selector:
matchLabels: {app: api}
template:
metadata:
labels: {app: backend}The API server rejects the Deployment. YAMLTools shows both sides so you can see which label differs.
targetPort: 8080 # containerPort: 3000
The Service is created but traffic never reaches the Pod. These are the bugs that take an afternoon to find.
spec: containers: [...] # in a Deployment
containers belongs under spec.template.spec. The schema check names the field and where it should go.
Validation, risk analysis, diagram and conversions run in your browser. Nothing is uploaded unless you decide to save it with an account.
Manifests, multiple documents and what happens with your file.