Features and configuration
The config seed, the designer, MCP, chat, launch validation, git and ytt
| Variable | Choices/Defaults | Comments |
|---|---|---|
| CONFIG_SEED_PATH string added in version 6.3.0 | Default: | Config seed file
Path to a declarative config seed. When set, the yaml file it points to is applied at startup and the admin objects it declares become read-only in the interface, so a whole instance can be rebuilt from git on an empty database. Secrets are referenced as ${ENV_VAR} and resolved from the environment, so the file itself holds none. Unrelated to CONFIG_PATH, which holds the forms configuration. An invalid seed makes the server refuse to start. See the Config seed page in the documentation. |
| CONFIG_SEED_RELOAD_SECONDS integer added in version 6.3.0 | Default: 60 | Config seed reload interval
How often the config seed file is checked and re-applied when its content has changed, in seconds. This is what lets a seed edited in git take effect without restarting: on kubernetes a ConfigMap is remounted under the running pod within about a minute and the change is picked up from there. A reload that fails is never fatal, unlike the one at startup: the configuration already in force is kept and the Status page reports it. Set it to 0 to check only at startup, leaving POST /api/v2/config-seed/apply and SIGHUP. Ignored when CONFIG_SEED_PATH is empty. |
| ALLOW_ENV_EDIT boolean added in version 6.3.0 | Default: 1 | Allow editing these settings
Whether the settings pages may write persistent/.env. Set it to 0 in a declarative deployment (kubernetes, docker-compose, ArgoCD): there the file is either ephemeral, so a save is silently lost at the next restart, or durable, so it drifts away from the manifest that is meant to be authoritative. With 0 every variable is shown with its value in force but cannot be changed, and the save endpoint refuses. |
| ENABLE_MCP boolean added in version 6.4.0 | Default: 0 | Enable the MCP server for AI agents
Serves an MCP (Model Context Protocol) server on |
| ENABLE_CHAT boolean added in version 6.5.0 | Default: 0 | Enable the chat assistant
Shows a chat button on every page. The assistant fills in a form with the user by talking, through the same form engine as the browser, and launches it only when the user clicks the Launch button on the exact payload it was shown. It also needs a model provider on the Chat assistant settings page (or in the config seed), forms with |
| LAUNCH_VALIDATION string added in version 6.4.0 | Choices:
| Check the field values of every launch against the form's validation rules
Checks every launch from the browser or the REST API (
The rows of a A form can be made stricter with its own |
| ENABLE_DB_QUERY_LOGGING number added in version 5.0.3 | Choices:
| Enable the database query logging
When you want to see the database queries that are executed, you can enable this option by setting this variable to 1. |
| ENABLE_CONFIG_IN_DATABASE number added in version 6.1.0 | Choices:
| Store the configuration in the database
If you use git repositories to store the forms, you can choose to store the master config.yaml in git as well. This gives the config.yaml in the database the highest priority in the loading order. |
| GIT_CLONE_COMMAND string added in version 6.0.2 | Default: git clone | Git clone command
The command used to clone git repositories. Note that branch and repository will be auto added. |
| GIT_PULL_COMMAND string | Default: git pull | Git pull command
The command used to pull git repositories. Note that branch and repository will be auto added. |
| GIT_PUSH_COMMAND string | Default: git push | Git push command
The command used to push git repositories (used by the designer’s sync to git feature). Note that |
| SHOW_DESIGNER number added in version 4.0.0 | Choices:
| Enable the internal designer
Although we encourage you to use an editor such as Visual Studio Code to edit the config.yaml file, preferably with some form of source control. Ansible Forms comes with an internal yaml designer. |
| USE_YTT number added in version 5.0.2 | Choices:
| Enable the ytt interpreter
https://github.com/carvel-dev/ytt is a tool for yaml templating. It can be activated by this variable. |
| YTT_ALLOW_SYMLINK_DESTINATIONS string added in version 5.0.8 | Default: | ytt allowed symlink destinations
Ytt disables templating with symlinks by default. If you want to allow symlink use on specific directories, this variable can be set to the path(s) where the symlinks are allowed (multiple paths separated by Node’s |
| YTT_DANGEROUS_ALLOW_ALL_SYMLINK_DESTINATIONS number added in version 5.0.8 | Choices:
| ytt dangerous allow-all symlink destinations
Ytt disables templating with symlinks by default. If you want to allow all symlink use EVERYWHERE, you can set this variable to 1. Note: enabling this comes with some risks (hence the ‘DANGEROUS’ part), see ytt FAQ for more info. |
| YTT_VARS_PREFIX string added in version 5.0.8 | Default: | ytt vars prefix
Environment variable prefix for ytt to get data values from. For example, when set to |
| YTT_LIB_DATA_{dynamic} string added in version 5.0.8 | Default: | ytt lib data
This is not a single variable but rather an infinite amount of variables. You can set as many as you want. The dynamic part is the name of the lib data. For example |
| AWX_API_PREFIX string added in version 5.0.9 | Default: /api/v2 | The prefix for the AWX API
Ansible Forms can connect to an AWX instance. This is the prefix of the API, which is typically |