Inadvertent We don’t have time We don’t know how We will deal with it later We should not have done this Rushed Development Inexperience Poor Design or Coding Standards Insufficient Maintenance Security Risks System Instability Developer Frustration Missed Opportunities Reduced Productivity Increased Costs
Levels ⎯ Syntax and Formatting • Missing Colons • Unquoted Strings with Special Characters ⎯ Data Structure • Incorrect List Formatting • Improper Use of Anchors and Aliases ⎯ Other • Typos • Encoding Issues shoot yourself in the foot apiVersion: apps/v1 Kind: Deployment medatadata: name: example spec: replicas: "2" selector: matchLabels: app.kubernetes.io/name: example template: metadata: labels: app.kubernetes.io/name: example spec: containers: * name helloworld image: debian:trixie command: - sh - -c - "sleep infinity"
Store https://www.schemastore.org • JSON Schemas for every version of every object in every version of Kubernetes https://github.com/yannh/kubernetes-json-schema • Popular Kubernetes CRDs (CustomResourceDefinition) in JSON schema format https://github.com/datreeio/CRDs-catalog YAML Language Server (LSP) + Syntax Highlighting https://github.com/redhat-developer/yaml-language-server