Skip to main content

JSON Schema Validation

Atmos supports JSON Schema validation, which can validate the schema of configurations such as stacks, workflows, and vendoring manifests. JSON Schema is an industry standard and provides a vocabulary to annotate and validate JSON documents for correctness.

Example

# Validate 'vpc' component using JSON Schema in the 'plat-ue2-prod' stack
atmos validate component vpc -s plat-ue2-prod --schema-path vpc/validate-vpc-component.json --schema-type jsonschema

Configure Component Validation

In atmos.yaml, add the schemas section:

atmos.yaml

# Validation schemas (for validating atmos stacks and components)
schemas:
# https://json-schema.org
jsonschema:
# Can also be set using `ATMOS_SCHEMAS_JSONSCHEMA_BASE_PATH` ENV var, or `--schemas-jsonschema-dir` command-line arguments
# Supports both absolute and relative paths
base_path: "stacks/schemas/jsonschema"

In the component manifest, add the settings.validation section:

Use Remote Schemas

You can specify remote schemas by setting the manifest field to a remote URL in your atmos.yaml configuration file.

atmos.yaml

# Validation schemas (for validating atmos stacks and components)
schemas:
atmos:
# You can specify a remote schema URL as well
manifest: "https://atmos.tools/schemas/atmos/atmos-manifest/1.0/atmos-manifest.json"

examples/quick-start-advanced/stacks/catalog/vpc/defaults.yaml


Add the following JSON Schema in the file stacks/schemas/jsonschema/vpc/validate-vpc-component.json:

examples/quick-start-advanced/stacks/schemas/jsonschema/vpc/validate-vpc-component.json