Back to Envoy

Schema validator check tool

docs/root/operations/tools/schema_validator_check_tool.rst

1.38.01.7 KB
Original Source

.. _install_tools_schema_validator_check_tool:

Schema validator check tool

The schema validator tool validates that the passed in configuration conforms to a given schema. The configuration may be JSON or YAML. To validate the entire config, please refer to the :ref:config load check tool<install_tools_config_load_check_tool>.

Input The tool expects two required inputs:

  1. The schema type to check the passed in configuration against. The supported types are:
* ``route`` - for :ref:`route configuration<envoy_v3_api_msg_config.route.v3.RouteConfiguration>` validation.
* ``discovery_response`` for :ref:`discovery response<envoy_v3_api_msg_service.discovery.v3.DiscoveryResponse>` validation.
* ``bootstrap`` for :ref:`bootstrap<envoy_v3_api_msg_config.bootstrap.v3.Bootstrap>` validation.

2. The path to the configuration file.

Optional inputs include:

  1. --fail-on-deprecated: Will force failure if any deprecated fields are used.
  2. --fail-on-wip: Will force failure if any work-in-progress fields are used.

Output If the configuration conforms to the schema, the tool will exit with status EXIT_SUCCESS. If the configuration does not conform to the schema, an error message is outputted detailing what doesn't conform to the schema. The tool will exit with status EXIT_FAILURE.

Building The tool is included in the :ref:tools image <install_tools>.

The tool can also be built locally using Bazel. ::

bazel build //test/tools/schema_validator:schema_validator_tool

Running The tool takes a path as described above. ::

bazel-bin/test/tools/schema_validator/schema_validator_tool  --schema-type SCHEMA_TYPE  --config-path PATH