Formatter Validator Minifier Escape / Unescape JSON ↔ String JSON ↔ YAML JSON → CSV NDJSON / JSON Lines JSON → Types JSON ↔ XML JSON Diff JSON Patch Canonicalize (RFC 8785) Schema Validator Schema Generator JSONPath Tester JWT Decoder JSON Errors Schemas More Tools
JSONTools / Schema registry / Container Structure Test
Schema registry

Container Structure Test

The Container Structure Tests provide a powerful framework to validate the structure of a container image

container-structure-test.yamlstructure-test.yaml

Check your file against this schema

Opens the validator with this schema already loaded. Paste your container-structure-test.yaml and it validates in your browser — nothing is uploaded.

Validate a container-structure-test.yaml → View raw schema

Fields

Generated directly from the schema, following local $refs, to two levels of nesting.

Field Type Description
schemaVersionrequiredstringThe schema version of Structure Tests.
default: "2.0.0"
commandTestsarray<object>A list of command tests
fileExistenceTestsarray<object>File existence tests check to make sure a specific file (or directory) exist within the file system of the image. No contents of the files or directories are checked. These tests can also be used to ensure a file or directory is not
fileContentTestsarray<object>File content tests open a file on the file system and check its contents. These tests assume the specified file is a file, and that it exists
licenseTestsarray<object>License tests check a list of copyright files and makes sure all licenses are allowed at Google. By default it will look at where Debian lists all copyright files, but can also look at an arbitrary list of files.
metadataTestobject
metadataTest.envarrayA list of environment variable key/value pairs that should be set in the container.
metadataTest.labelsarrayA list of image labels key/value pairs that should be set on the container.
metadataTest.entrypointarray<string>The entrypoint of the container
metadataTest.cmdarray<string>The CMD specified in the container
metadataTest.exposedPortsarray<string>The ports exposed in the container.
metadataTest.unexposedPortsarray<string>The ports NOT exposed in the container.
metadataTest.volumesarray<string>The volumes exposed in the container.
metadataTest.unmountedVolumesarray<string>The volumes NOT exposed in the container
metadataTest.workdirstringThe default working directory of the container.
globalEnvVarsarrayA list of environment variables can optionally be specified as part of the test setup.

What we found in this schema

Specification sections for the keywords in this schema

Keyword Document Section
$commentJSON Schema Core, draft 2020-12§8.3 — Comments With "$comment"
$idJSON Schema Core, draft 2020-12§8.2.1 — The "$id" Keyword
$refJSON Schema Core, draft 2020-12§8.2.3.1 — Direct References with "$ref"
$schemaJSON Schema Core, draft 2020-12§8.1.1 — "$schema"
additionalPropertiesJSON Schema Core, draft 2020-12§10.3.2.3 — "additionalProperties"
defaultJSON Schema Validation, draft 2020-12§9.2 — "default"
descriptionJSON Schema Validation, draft 2020-12§9.1 — "title" and "description"
itemsJSON Schema Core, draft 2020-12§10.3.1.2 — "items"
minItemsJSON Schema Validation, draft 2020-12§6.4.2 — "minItems"
propertiesJSON Schema Core, draft 2020-12§10.3.2.1 — "properties"
requiredJSON Schema Validation, draft 2020-12§6.5.3 — "required"
typeJSON Schema Validation, draft 2020-12§6.1.1 — "type"

Documents

Attribution

This schema comes from SchemaStore, distributed under the Apache License 2.0. Copyright 2015–present Mads Kristensen and contributors. View the original file. The field table and audit on this page are generated by JSONTools.tools; the schema itself is unmodified.

← All schemas