JSON schemas¶
JSON schemas for Chainsaw resources are available to enable validation and autocompletion in your IDE:
VS code¶
In VS code, simply add a comment on top of your YAML resources.
Test¶
# yaml-language-server: $schema=https://raw.githubusercontent.com/kyverno/chainsaw/main/.schemas/json/test-chainsaw-v1alpha1.json
apiVersion: chainsaw.kyverno.io/v1alpha1
kind: Test
metadata:
name: basic
spec:
steps:
- try:
- apply:
file: configmap.yaml
- assert:
file: configmap-assert.yaml
Configuration¶
# yaml-language-server: $schema=https://raw.githubusercontent.com/kyverno/chainsaw/main/.schemas/json/configuration-chainsaw-v1alpha1.json
apiVersion: chainsaw.kyverno.io/v1alpha1
kind: Configuration
metadata:
name: congiguration
spec:
fullName: true
failFast: true
forceTerminationGracePeriod: 5s
Applying CRDs¶
An alternative is to apply the Chainsaw CRDs in a kubernetes cluster and let the Kubernetes extension do the rest.
CRD definitions are provided in our GitHub repository.
The command below will apply the Chainsaw CRDs to the configured cluster:
kubectl apply -f https://raw.githubusercontent.com/kyverno/chainsaw/main/config/crds/chainsaw.kyverno.io_configurations.yaml
kubectl apply -f https://raw.githubusercontent.com/kyverno/chainsaw/main/config/crds/chainsaw.kyverno.io_tests.yaml
Exporting schemas¶
Chainsaw can export JSON schemas locally.
chainsaw export schemas <local path>
See Chainsaw export schemas reference for more details.