instrumenta / kubeval

Validate your Kubernetes configuration files, supports multiple Kubernetes versions
https://kubeval.com
Other
3.16k stars 229 forks source link

It not validate spec names #162

Closed RammusXu closed 5 years ago

RammusXu commented 5 years ago

I write a wrong spec.replicasss. And it still showed a valid Deployment.

apiVersion: apps/v1
kind: Deployment
metadata:
  name: busybox
  labels:
    app: busybox
spec:
  replicasss: 1
  selector:
    matchLabels:
      app: busybox
  template:
    metadata:
      labels:
        app: busybox
    spec:
      containers:

      - name: busybox
        image: rammusxu/docker-box:python
        args: 
        - sh
        - -c
        - |
          tail -f /dev/null

Expect

➜  action-demo git:(demo) ✗ docker run -it -v /Users/rammus/workspace/action-demo/kubernetes:/kubernetes garethr/kubeval -d kubernetes
The file kubernetes/break-folder/deployment-wrong.yaml contains an invalid Deployment

Result

➜  action-demo git:(demo) ✗ docker run -it -v /Users/rammus/workspace/action-demo/kubernetes:/kubernetes garethr/kubeval -d kubernetes
The file kubernetes/break-folder/deployment-wrong.yaml contains a valid Deployment
glb commented 5 years ago

@RammusXu it sounds like you're looking for the --strict option?

$ kubeval --strict sample.yaml 
The document sample.yaml contains an invalid Deployment
---> spec: Additional property replicasss is not allowed
RammusXu commented 5 years ago

wow, my bad. Not noticed it. Thank you @glb