Setting up MESC

Basic setup

MESC becomes enabled by setting one or more environment variables.

In the simplest case, only one variable necessary: MESC_PATH is set to the path of a mesc.json config file.

As described in the quickstart, the mesc.json file is usually created using either 1) the interactive mesc setup command, or 2) copying from a starter template. The quickstart guide also describes how to set environment variables in your terminal shell.

Alternative setup without a mesc.json

Sometimes it is convenient to configure a system without editing any files (e.g. inside a container, or when creating lots of unit tests, or in a low-privilege environment).

This can be accomplished with MESC by setting the MESC_ENV variable instead of the MESC_PATH variable. MESC_ENV should simply contain the JSON content of a MESC configuration.

If both MESC_PATH and MESC_ENV are set, you can select which one to use by setting MESC_MODE to either PATH or ENV. MESC_PATH takes precedence over MESC_ENV if MESC_MODE is not set.

Disabling MESC

MESC can be disabled by either 1) unsetting all MESC_* variables, or 2) setting MESC_MODE=DISABLED.

If MESC is disabled, the is_mesc_disabled() function will return false and all MESC querying functions will return an error (depending on language).

Overrides

MESC also uses environment variables for overrides. See the overrides section for details.