我有一个(无效的)kubernetes 清单:
apiVersion: v1
kind: Service
metadata:
name: foo
labels:
app: foo
spec:
poarts:
- name: http
protocol: TCP
port: 80
targetPoart: 80
selector:
app: foo
我可以用 kubeconform 验证这个清单:
> docker run --rm -v $(pwd):/src ghcr.io/yannh/kubeconform:master -strict /src/foo-service.yaml
/src/foo-service.yaml - Service foo is invalid: For field spec: Additional property poarts is not allowed
我想在 vscode 中验证这个清单。
"yaml.schemas": {
"https://raw.githubusercontent.com/yannh/kubernetes-json-schema/master/v1.24.9-standalone-strict/service-v1.json": ["*-service.yaml", "*-service.yml"],
"https://raw.githubusercontent.com/yannh/kubernetes-json-schema/master/v1.24.9-standalone-strict/deployment-apps-v1.json": ["*-deployment.yaml", "*-deployment.yml"],
"https://raw.githubusercontent.com/yannh/kubernetes-json-schema/master/v1.24.9-standalone-strict/configmap-v1.json": ["*-configmap.yaml", "*-configmap.yml"],
...
"https://raw.githubusercontent.com/datreeio/CRDs-catalog/main/argoproj.io/application_v1alpha1.json": ["app-of-apps.yaml", "*-app-of-apps.yml", "/app-of-apps/*.yaml", "/app-of-apps/*.yml"],
"https://raw.githubusercontent.com/datreeio/CRDs-catalog/main/monitoring.coreos.com/servicemonitor_v1.json": ["*-servicemonitor.yaml", "*-servicemonitor.yml"]
但是 a) 这非常麻烦,并且 b) 在编辑 settings.json 后立即出现红色波浪线和“问题”下列出的错误,但是当我关闭并重新打开我的 yaml 文件时,验证消失了。看起来 Kubernetes 扩展正在自动检测模式并覆盖 settings.json 中的设置。
我能否以类似于 kubeconform 中的
-strict
标志的方式严格验证 vscode 中的 kubernetes 清单?