Dispatcher Configuration Validator

This program validates a dispatcher configuration, containing Apache and dispatcher configuration files.

Usage

validator full [-d folder] [-w allowlist] zip-file | src folder

How it works

The tool validates the Apache and dispatcher configuration contained in a zip file or a dispatcher/src folder of a git repo. It scans all files with pattern conf.d/enabled_vhosts/*.vhost and checks that only allowlisted directives are used. It further scans all files with pattern conf.dispatcher.d/enabled_farms/*.farm and checks that:

What is generated

In CloudManager deployment, or if you specify a deployment folder (with option -d), the following files are created by the validation tool:

File name Contents
clientheaders.any Copy of respective file from conf.dispatcher.d/clientheaders
custom.vars Copy of respective file from conf.d/variables
farms.any Concatenated list of farms in conf.dispatcher.d/enabled_farms
filters.any Copy of respective file from conf.dispatcher.d/filters
global.vars Copy of respective file from conf.d/variables
rewrite.rules Copy of respective file from conf.d/rewrites
rules.any Copy of respective file from conf.dispatcher.d/cache
virtualhosts.any Copy of respective file from conf.dispatcher.d/virtualhosts
vhosts.conf Concatenated list of virtualhosts in conf.d/enabled_vhosts

These files constitute the customizable part of your Apache/dispatcher runtime environment. For mone information on what part of your configuration is customizable, see Config.

Troubleshooting

See the Troubleshooting document for a description of errors and how to fix them.

Format of allowlist

The allowlist contains a list of Apache directives expected in the customer configuration. If a directive is not allowlisted, the tool logs an error and returns a non-zero exit code.

If no allowlist is given on the command line, the tool uses a default allowlist. Run validator allowlist to print that list.

Generate deployment information

When the argument -d is added, the tool stores deployment information in a folder. This folder can then be used with the docker_run.sh script (docker_run.cmd on Windows).