Environment variables prefix with ANSIBLE_, and AWX

I’m not much of a python dev, but I do know my way around powershell.

This list is not exhaustive, as there are some “alternative” ENV’s that I excluded just to generate a quick list.

Ansible 2.15.2 2.14.9 lists 189 environment vars with the following powershell snippet:

$ansible_config = ansible-config list -t all --format json | convertfrom-json
$ansible_config.psobject.properties.name| % {$ansible_config.$_.env.name} | sort | uniq
ENV_VARS

ANSIBLE_ACTION_PLUGINS
ANSIBLE_ACTION_WARNINGS
ANSIBLE_AGNOSTIC_BECOME_PROMPT
ANSIBLE_ANY_ERRORS_FATAL
ANSIBLE_ASK_PASS
ANSIBLE_ASK_VAULT_PASS
ANSIBLE_BECOME
ANSIBLE_BECOME_ALLOW_SAME_USER
ANSIBLE_BECOME_ASK_PASS
ANSIBLE_BECOME_EXE
ANSIBLE_BECOME_FLAGS
ANSIBLE_BECOME_METHOD
ANSIBLE_BECOME_PASSWORD_FILE
ANSIBLE_BECOME_PLUGINS
ANSIBLE_BECOME_USER
ANSIBLE_CACHE_PLUGIN
ANSIBLE_CACHE_PLUGIN_CONNECTION
ANSIBLE_CACHE_PLUGIN_PREFIX
ANSIBLE_CACHE_PLUGINS
ANSIBLE_CACHE_PLUGIN_TIMEOUT
ANSIBLE_CALLBACK_PLUGINS
ANSIBLE_CALLBACKS_ENABLED
ANSIBLE_CALLBACK_WHITELIST
ANSIBLE_CLICONF_PLUGINS
ANSIBLE_COLLECTIONS_ON_ANSIBLE_VERSION_MISMATCH
ANSIBLE_COLLECTIONS_PATH
ANSIBLE_COLLECTIONS_PATHS
ANSIBLE_COLLECTIONS_SCAN_SYS_PATH
ANSIBLE_COLOR_CHANGED
ANSIBLE_COLOR_CONSOLE_PROMPT
ANSIBLE_COLOR_DEBUG
ANSIBLE_COLOR_DEPRECATE
ANSIBLE_COLOR_DIFF_ADD
ANSIBLE_COLOR_DIFF_LINES
ANSIBLE_COLOR_DIFF_REMOVE
ANSIBLE_COLOR_ERROR
ANSIBLE_COLOR_HIGHLIGHT
ANSIBLE_COLOR_OK
ANSIBLE_COLOR_SKIP
ANSIBLE_COLOR_UNREACHABLE
ANSIBLE_COLOR_VERBOSE
ANSIBLE_COLOR_WARN
ANSIBLE_CONNECTION_PASSWORD_FILE
ANSIBLE_CONNECTION_PATH
ANSIBLE_CONNECTION_PLUGINS
_ANSIBLE_COVERAGE_REMOTE_OUTPUT
_ANSIBLE_COVERAGE_REMOTE_PATH_FILTER
ANSIBLE_COW_ACCEPTLIST
ANSIBLE_COW_PATH
ANSIBLE_COW_SELECTION
ANSIBLE_COW_WHITELIST
ANSIBLE_DEBUG
ANSIBLE_DEPRECATION_WARNINGS
ANSIBLE_DEVEL_WARNING
ANSIBLE_DIFF_ALWAYS
ANSIBLE_DIFF_CONTEXT
ANSIBLE_DISPLAY_ARGS_TO_STDOUT
ANSIBLE_DISPLAY_SKIPPED_HOSTS
ANSIBLE_DOC_FRAGMENT_PLUGINS
ANSIBLE_DUPLICATE_YAML_DICT_KEY
ANSIBLE_ENABLE_TASK_DEBUGGER
ANSIBLE_ERROR_ON_MISSING_HANDLER
ANSIBLE_ERROR_ON_UNDEFINED_VARS
ANSIBLE_EXECUTABLE
ANSIBLE_FACT_PATH
ANSIBLE_FACTS_MODULES
ANSIBLE_FILTER_PLUGINS
ANSIBLE_FORCE_COLOR
ANSIBLE_FORCE_HANDLERS
ANSIBLE_FORKS
ANSIBLE_GALAXY_CACHE_DIR
ANSIBLE_GALAXY_COLLECTION_SKELETON
ANSIBLE_GALAXY_COLLECTION_SKELETON_IGNORE
ANSIBLE_GALAXY_DISABLE_GPG_VERIFY
ANSIBLE_GALAXY_DISPLAY_PROGRESS
ANSIBLE_GALAXY_GPG_KEYRING
ANSIBLE_GALAXY_IGNORE
ANSIBLE_GALAXY_IGNORE_SIGNATURE_STATUS_CODES
ANSIBLE_GALAXY_REQUIRED_VALID_SIGNATURE_COUNT
ANSIBLE_GALAXY_ROLE_SKELETON
ANSIBLE_GALAXY_ROLE_SKELETON_IGNORE
ANSIBLE_GALAXY_SERVER
ANSIBLE_GALAXY_SERVER_LIST
ANSIBLE_GALAXY_TOKEN_PATH
ANSIBLE_GATHERING
ANSIBLE_GATHER_SUBSET
ANSIBLE_GATHER_TIMEOUT
ANSIBLE_HASH_BEHAVIOUR
ANSIBLE_HOME
ANSIBLE_HOST_KEY_CHECKING
ANSIBLE_HOST_PATTERN_MISMATCH
ANSIBLE_HTTPAPI_PLUGINS
ANSIBLE_INJECT_FACT_VARS
ANSIBLE_INVALID_TASK_ATTRIBUTE_FAILED
ANSIBLE_INVENTORY
ANSIBLE_INVENTORY_ANY_UNPARSED_IS_FAILED
ANSIBLE_INVENTORY_CACHE
ANSIBLE_INVENTORY_CACHE_CONNECTION
ANSIBLE_INVENTORY_CACHE_PLUGIN
ANSIBLE_INVENTORY_CACHE_PLUGIN_PREFIX
ANSIBLE_INVENTORY_CACHE_TIMEOUT
ANSIBLE_INVENTORY_ENABLED
ANSIBLE_INVENTORY_EXPORT
ANSIBLE_INVENTORY_IGNORE
ANSIBLE_INVENTORY_IGNORE_REGEX
ANSIBLE_INVENTORY_PLUGINS
ANSIBLE_INVENTORY_UNPARSED_FAILED
ANSIBLE_INVENTORY_UNPARSED_WARNING
ANSIBLE_JINJA2_EXTENSIONS
ANSIBLE_JINJA2_NATIVE
ANSIBLE_JINJA2_NATIVE_WARNING
ANSIBLE_KEEP_REMOTE_FILES
ANSIBLE_LIBRARY
ANSIBLE_LIBVIRT_LXC_NOSECLABEL
ANSIBLE_LOAD_CALLBACK_PLUGINS
ANSIBLE_LOCALHOST_WARNING
ANSIBLE_LOCAL_TEMP
ANSIBLE_LOG_FILTER
ANSIBLE_LOG_PATH
ANSIBLE_LOOKUP_PLUGINS
ANSIBLE_MAX_DIFF_SIZE
ANSIBLE_MODULE_ARGS
ANSIBLE_MODULE_IGNORE_EXTS
ANSIBLE_MODULE_UTILS
ANSIBLE_NETCONF_PLUGINS
ANSIBLE_NETCONF_SSH_CONFIG
ANSIBLE_NETWORK_GROUP_MODULES
ANSIBLE_NOCOLOR
ANSIBLE_NOCOWS
ANSIBLE_NO_LOG
ANSIBLE_NO_TARGET_SYSLOG
ANSIBLE_NULL_REPRESENTATION
ANSIBLE_OLD_PLUGIN_CACHE_CLEAR
ANSIBLE_PARAMIKO_HOST_KEY_AUTO_ADD
ANSIBLE_PARAMIKO_LOOK_FOR_KEYS
ANSIBLE_PERSISTENT_COMMAND_TIMEOUT
ANSIBLE_PERSISTENT_CONNECT_RETRY_TIMEOUT
ANSIBLE_PERSISTENT_CONNECT_TIMEOUT
ANSIBLE_PERSISTENT_CONTROL_PATH_DIR
ANSIBLE_PIPELINING
ANSIBLE_PLAYBOOK_DIR
ANSIBLE_PLAYBOOK_VARS_ROOT
ANSIBLE_POLL_INTERVAL
ANSIBLE_PRECEDENCE
ANSIBLE_PRIVATE_KEY_FILE
ANSIBLE_PRIVATE_ROLE_VARS
ANSIBLE_PYTHON_INTERPRETER
ANSIBLE_PYTHON_MODULE_RLIMIT_NOFILE
ANSIBLE_REMOTE_PORT
ANSIBLE_REMOTE_USER
ANSIBLE_RETRY_FILES_ENABLED
ANSIBLE_RETRY_FILES_SAVE_PATH
ANSIBLE_ROLES_PATH
ANSIBLE_RUN_TAGS
ANSIBLE_RUN_VARS_PLUGINS
ANSIBLE_SELINUX_SPECIAL_FS
ANSIBLE_SHOW_CUSTOM_STATS
ANSIBLE_SKIP_TAGS
ANSIBLE_STDOUT_CALLBACK
ANSIBLE_STRATEGY
ANSIBLE_STRATEGY_PLUGINS
ANSIBLE_STRING_CONVERSION_ACTION
ANSIBLE_STRING_TYPE_FILTERS
ANSIBLE_SU
ANSIBLE_SYSLOG_FACILITY
ANSIBLE_SYSTEM_WARNINGS
ANSIBLE_TASK_DEBUGGER_IGNORE_ERRORS
ANSIBLE_TASK_TIMEOUT
ANSIBLE_TERMINAL_PLUGINS
ANSIBLE_TEST_PLUGINS
ANSIBLE_TIMEOUT
ANSIBLE_TRANSFORM_INVALID_GROUP_CHARS
ANSIBLE_TRANSPORT
ANSIBLE_USE_PERSISTENT_CONNECTIONS
ANSIBLE_VALIDATE_ACTION_GROUP_METADATA
ANSIBLE_VARS_ENABLED
ANSIBLE_VARS_PLUGINS
ANSIBLE_VAULT_ENCRYPT_IDENTITY
ANSIBLE_VAULT_IDENTITY
ANSIBLE_VAULT_IDENTITY_LIST
ANSIBLE_VAULT_ID_MATCH
ANSIBLE_VAULT_PASSWORD_FILE
ANSIBLE_VERBOSE_TO_STDERR
ANSIBLE_VERBOSITY
ANSIBLE_WIN_ASYNC_STARTUP_TIMEOUT
ANSIBLE_WORKER_SHUTDOWN_POLL_COUNT
ANSIBLE_WORKER_SHUTDOWN_POLL_DELAY
ANSIBLE_YAML_FILENAME_EXT
NO_COLOR

I’m not sure how to gracefully do this programmatically in AWX where this is would need to be parsed, and I’m not sure that ansible-config is even available in that context.

try 2.17, I have been improving the output in 2.16 and 2.17 (more complete and more target-able). Also working on adding ‘galaxy servers’ right now (which were left out as they are dynamically generated config)

ansible-config is available in the EE as it is part of the ansible cli, so AWX can test the validity of things for that EE

Actually, that was 2.14.9 native to RHEL 9.3. I forgot to activate my 2.15 venv.

Will build a 2.17 venv and generate another list.

Edit: Eh… Our Nexus pypi cache is stale, don’t even have 2.16 available at the moment.

Ansible 2.15.12 has 193* vars.

ENV_VARS

ANSIBLE_ACTION_PLUGINS
ANSIBLE_ACTION_WARNINGS
ANSIBLE_AGNOSTIC_BECOME_PROMPT
ANSIBLE_ANY_ERRORS_FATAL
ANSIBLE_ASK_PASS
ANSIBLE_ASK_VAULT_PASS
ANSIBLE_BECOME
ANSIBLE_BECOME_ALLOW_SAME_USER
ANSIBLE_BECOME_ASK_PASS
ANSIBLE_BECOME_EXE
ANSIBLE_BECOME_FLAGS
ANSIBLE_BECOME_METHOD
ANSIBLE_BECOME_PASSWORD_FILE
ANSIBLE_BECOME_PLUGINS
ANSIBLE_BECOME_USER
ANSIBLE_CACHE_PLUGIN
ANSIBLE_CACHE_PLUGIN_CONNECTION
ANSIBLE_CACHE_PLUGIN_PREFIX
ANSIBLE_CACHE_PLUGINS
ANSIBLE_CACHE_PLUGIN_TIMEOUT
ANSIBLE_CALLBACK_PLUGINS
ANSIBLE_CALLBACKS_ENABLED
ANSIBLE_CLICONF_PLUGINS
ANSIBLE_COLLECTIONS_ON_ANSIBLE_VERSION_MISMATCH
ANSIBLE_COLLECTIONS_PATH
ANSIBLE_COLLECTIONS_PATHS
ANSIBLE_COLLECTIONS_SCAN_SYS_PATH
ANSIBLE_COLOR_CHANGED
ANSIBLE_COLOR_CONSOLE_PROMPT
ANSIBLE_COLOR_DEBUG
ANSIBLE_COLOR_DEPRECATE
ANSIBLE_COLOR_DIFF_ADD
ANSIBLE_COLOR_DIFF_LINES
ANSIBLE_COLOR_DIFF_REMOVE
ANSIBLE_COLOR_ERROR
ANSIBLE_COLOR_HIGHLIGHT
ANSIBLE_COLOR_OK
ANSIBLE_COLOR_SKIP
ANSIBLE_COLOR_UNREACHABLE
ANSIBLE_COLOR_VERBOSE
ANSIBLE_COLOR_WARN
ANSIBLE_CONNECTION_PASSWORD_FILE
ANSIBLE_CONNECTION_PATH
ANSIBLE_CONNECTION_PLUGINS
_ANSIBLE_COVERAGE_REMOTE_OUTPUT
_ANSIBLE_COVERAGE_REMOTE_PATH_FILTER
ANSIBLE_COW_ACCEPTLIST
ANSIBLE_COW_PATH
ANSIBLE_COW_SELECTION
ANSIBLE_DEBUG
ANSIBLE_DEPRECATION_WARNINGS
ANSIBLE_DEVEL_WARNING
ANSIBLE_DIFF_ALWAYS
ANSIBLE_DIFF_CONTEXT
ANSIBLE_DISPLAY_ARGS_TO_STDOUT
ANSIBLE_DISPLAY_SKIPPED_HOSTS
ANSIBLE_DOC_FRAGMENT_PLUGINS
ANSIBLE_DUPLICATE_YAML_DICT_KEY
ANSIBLE_EDITOR
ANSIBLE_ENABLE_TASK_DEBUGGER
ANSIBLE_ERROR_ON_MISSING_HANDLER
ANSIBLE_ERROR_ON_UNDEFINED_VARS
ANSIBLE_EXECUTABLE
ANSIBLE_FACT_PATH
ANSIBLE_FACTS_MODULES
ANSIBLE_FILTER_PLUGINS
ANSIBLE_FORCE_COLOR
ANSIBLE_FORCE_HANDLERS
ANSIBLE_FORKS
ANSIBLE_GALAXY_CACHE_DIR
ANSIBLE_GALAXY_COLLECTION_SKELETON
ANSIBLE_GALAXY_COLLECTION_SKELETON_IGNORE
ANSIBLE_GALAXY_DISABLE_GPG_VERIFY
ANSIBLE_GALAXY_DISPLAY_PROGRESS
ANSIBLE_GALAXY_GPG_KEYRING
ANSIBLE_GALAXY_IGNORE
ANSIBLE_GALAXY_IGNORE_SIGNATURE_STATUS_CODES
ANSIBLE_GALAXY_REQUIRED_VALID_SIGNATURE_COUNT
ANSIBLE_GALAXY_ROLE_SKELETON
ANSIBLE_GALAXY_ROLE_SKELETON_IGNORE
ANSIBLE_GALAXY_SERVER
ANSIBLE_GALAXY_SERVER_LIST
ANSIBLE_GALAXY_TOKEN_PATH
ANSIBLE_GATHERING
ANSIBLE_GATHER_SUBSET
ANSIBLE_GATHER_TIMEOUT
ANSIBLE_HASH_BEHAVIOUR
ANSIBLE_HOME
ANSIBLE_HOST_KEY_CHECKING
ANSIBLE_HOST_PATTERN_MISMATCH
ANSIBLE_HTTPAPI_PLUGINS
ANSIBLE_INJECT_FACT_VARS
ANSIBLE_INVALID_TASK_ATTRIBUTE_FAILED
ANSIBLE_INVENTORY
ANSIBLE_INVENTORY_ANY_UNPARSED_IS_FAILED
ANSIBLE_INVENTORY_CACHE
ANSIBLE_INVENTORY_CACHE_CONNECTION
ANSIBLE_INVENTORY_CACHE_PLUGIN
ANSIBLE_INVENTORY_CACHE_PLUGIN_PREFIX
ANSIBLE_INVENTORY_CACHE_TIMEOUT
ANSIBLE_INVENTORY_ENABLED
ANSIBLE_INVENTORY_EXPORT
ANSIBLE_INVENTORY_IGNORE
ANSIBLE_INVENTORY_IGNORE_REGEX
ANSIBLE_INVENTORY_PLUGINS
ANSIBLE_INVENTORY_UNPARSED_FAILED
ANSIBLE_INVENTORY_UNPARSED_WARNING
ANSIBLE_JINJA2_EXTENSIONS
ANSIBLE_JINJA2_NATIVE
ANSIBLE_JINJA2_NATIVE_WARNING
ANSIBLE_KEEP_REMOTE_FILES
ANSIBLE_LIBRARY
ANSIBLE_LIBVIRT_LXC_NOSECLABEL
ANSIBLE_LOAD_CALLBACK_PLUGINS
ANSIBLE_LOCALHOST_WARNING
ANSIBLE_LOCAL_TEMP
ANSIBLE_LOG_FILTER
ANSIBLE_LOG_PATH
ANSIBLE_LOOKUP_PLUGINS
ANSIBLE_MAX_DIFF_SIZE
ANSIBLE_MODULE_ARGS
ANSIBLE_MODULE_IGNORE_EXTS
ANSIBLE_MODULE_STRICT_UTF8_RESPONSE
ANSIBLE_MODULE_UTILS
ANSIBLE_NETCONF_PLUGINS
ANSIBLE_NETCONF_SSH_CONFIG
ANSIBLE_NETWORK_GROUP_MODULES
ANSIBLE_NOCOLOR
ANSIBLE_NOCOWS
ANSIBLE_NO_LOG
ANSIBLE_NO_TARGET_SYSLOG
ANSIBLE_NULL_REPRESENTATION
ANSIBLE_OLD_PLUGIN_CACHE_CLEAR
ANSIBLE_PAGER
ANSIBLE_PARAMIKO_HOST_KEY_AUTO_ADD
ANSIBLE_PARAMIKO_LOOK_FOR_KEYS
ANSIBLE_PERSISTENT_COMMAND_TIMEOUT
ANSIBLE_PERSISTENT_CONNECT_RETRY_TIMEOUT
ANSIBLE_PERSISTENT_CONNECT_TIMEOUT
ANSIBLE_PERSISTENT_CONTROL_PATH_DIR
ANSIBLE_PIPELINING
ANSIBLE_PLAYBOOK_DIR
ANSIBLE_PLAYBOOK_VARS_ROOT
ANSIBLE_POLL_INTERVAL
ANSIBLE_PRECEDENCE
ANSIBLE_PRIVATE_KEY_FILE
ANSIBLE_PRIVATE_ROLE_VARS
ANSIBLE_PYTHON_INTERPRETER
ANSIBLE_PYTHON_MODULE_RLIMIT_NOFILE
ANSIBLE_REMOTE_PORT
ANSIBLE_REMOTE_USER
ANSIBLE_RETRY_FILES_ENABLED
ANSIBLE_RETRY_FILES_SAVE_PATH
ANSIBLE_ROLES_PATH
ANSIBLE_RUN_TAGS
ANSIBLE_RUN_VARS_PLUGINS
ANSIBLE_SELINUX_SPECIAL_FS
ANSIBLE_SHOW_CUSTOM_STATS
ANSIBLE_SKIP_TAGS
ANSIBLE_STDOUT_CALLBACK
ANSIBLE_STRATEGY
ANSIBLE_STRATEGY_PLUGINS
ANSIBLE_STRING_CONVERSION_ACTION
ANSIBLE_STRING_TYPE_FILTERS
ANSIBLE_SU
ANSIBLE_SYSLOG_FACILITY
ANSIBLE_SYSTEM_WARNINGS
ANSIBLE_TASK_DEBUGGER_IGNORE_ERRORS
ANSIBLE_TASK_TIMEOUT
ANSIBLE_TERMINAL_PLUGINS
ANSIBLE_TEST_PLUGINS
ANSIBLE_TIMEOUT
ANSIBLE_TRANSFORM_INVALID_GROUP_CHARS
ANSIBLE_TRANSPORT
ANSIBLE_USE_PERSISTENT_CONNECTIONS
ANSIBLE_VALIDATE_ACTION_GROUP_METADATA
ANSIBLE_VARS_ENABLED
ANSIBLE_VARS_PLUGINS
ANSIBLE_VAULT_ENCRYPT_IDENTITY
ANSIBLE_VAULT_ENCRYPT_SALT
ANSIBLE_VAULT_IDENTITY
ANSIBLE_VAULT_IDENTITY_LIST
ANSIBLE_VAULT_ID_MATCH
ANSIBLE_VAULT_PASSWORD_FILE
ANSIBLE_VERBOSE_TO_STDERR
ANSIBLE_VERBOSITY
ANSIBLE_WIN_ASYNC_STARTUP_TIMEOUT
ANSIBLE_WORKER_SHUTDOWN_POLL_COUNT
ANSIBLE_WORKER_SHUTDOWN_POLL_DELAY
ANSIBLE_YAML_FILENAME_EXT
EDITOR
NO_COLOR
PAGER

2 notes:

  • NO_COLOR is a ‘standard’ variable for those that need screen readers, its alias to ANSIBLE_NOCOLOR and would be generally outside the ANSIBLE_ restriction.
  • _ANSIBLE_ prefix also exists, these are variables used internally for testing config. We also have _ansible_ vars that are also exclusively internal to core and should not be in use by any plugins (though modules can/should read them when received, AnsibleModule does this by default).

This might be a good time for @AWX to chime in.

they did already, check above

I meant it would be nice if they could comment specifically in regard to populating a blacklist of ANSIBLE_ environment variables to validate custom credential types against, rather than the ANSIBLE_ prefix itself. And whether or not this would need to be a static list or if it can be generated programmatically from ansible-config on the fly from a control_node’s EE (considering the awx image itself doesn’t have ansible installed as far as I’m aware).

Turns out our mirror wasn’t stale, I just didn’t realize that python3.9 support was dropped in ansible-core>=2.16.

Here’s the environment vars from 2.17, and there doesn’t appear to be any “alternate” values as there were in 2.14. Used the same powershell snippet from above.

196 vars

ENV_VARS

ANSIBLE_ACTION_PLUGINS
ANSIBLE_ACTION_WARNINGS
ANSIBLE_AGNOSTIC_BECOME_PROMPT
ANSIBLE_ANY_ERRORS_FATAL
ANSIBLE_ASK_PASS
ANSIBLE_ASK_VAULT_PASS
ANSIBLE_BECOME
ANSIBLE_BECOME_ALLOW_SAME_USER
ANSIBLE_BECOME_ASK_PASS
ANSIBLE_BECOME_EXE
ANSIBLE_BECOME_FLAGS
ANSIBLE_BECOME_METHOD
ANSIBLE_BECOME_PASSWORD_FILE
ANSIBLE_BECOME_PLUGINS
ANSIBLE_BECOME_USER
ANSIBLE_CACHE_PLUGIN
ANSIBLE_CACHE_PLUGIN_CONNECTION
ANSIBLE_CACHE_PLUGIN_PREFIX
ANSIBLE_CACHE_PLUGINS
ANSIBLE_CACHE_PLUGIN_TIMEOUT
ANSIBLE_CALLBACK_PLUGINS
ANSIBLE_CALLBACKS_ENABLED
ANSIBLE_CLICONF_PLUGINS
ANSIBLE_COLLECTIONS_ON_ANSIBLE_VERSION_MISMATCH
ANSIBLE_COLLECTIONS_PATH
ANSIBLE_COLLECTIONS_PATHS
ANSIBLE_COLLECTIONS_SCAN_SYS_PATH
ANSIBLE_COLOR_CHANGED
ANSIBLE_COLOR_CONSOLE_PROMPT
ANSIBLE_COLOR_DEBUG
ANSIBLE_COLOR_DEPRECATE
ANSIBLE_COLOR_DIFF_ADD
ANSIBLE_COLOR_DIFF_LINES
ANSIBLE_COLOR_DIFF_REMOVE
ANSIBLE_COLOR_ERROR
ANSIBLE_COLOR_HIGHLIGHT
ANSIBLE_COLOR_OK
ANSIBLE_COLOR_SKIP
ANSIBLE_COLOR_UNREACHABLE
ANSIBLE_COLOR_VERBOSE
ANSIBLE_COLOR_WARN
ANSIBLE_CONNECTION_PASSWORD_FILE
ANSIBLE_CONNECTION_PATH
ANSIBLE_CONNECTION_PLUGINS
_ANSIBLE_COVERAGE_REMOTE_OUTPUT
_ANSIBLE_COVERAGE_REMOTE_PATH_FILTER
ANSIBLE_COW_ACCEPTLIST
ANSIBLE_COW_PATH
ANSIBLE_COW_SELECTION
ANSIBLE_DEBUG
ANSIBLE_DEPRECATION_WARNINGS
ANSIBLE_DEVEL_WARNING
ANSIBLE_DIFF_ALWAYS
ANSIBLE_DIFF_CONTEXT
ANSIBLE_DISPLAY_ARGS_TO_STDOUT
ANSIBLE_DISPLAY_SKIPPED_HOSTS
ANSIBLE_DOC_FRAGMENT_PLUGINS
ANSIBLE_DUPLICATE_YAML_DICT_KEY
ANSIBLE_EDITOR
ANSIBLE_ENABLE_TASK_DEBUGGER
ANSIBLE_ERROR_ON_MISSING_HANDLER
ANSIBLE_ERROR_ON_UNDEFINED_VARS
ANSIBLE_EXECUTABLE
ANSIBLE_FACT_PATH
ANSIBLE_FACTS_MODULES
ANSIBLE_FILTER_PLUGINS
ANSIBLE_FORCE_COLOR
ANSIBLE_FORCE_HANDLERS
ANSIBLE_FORKS
ANSIBLE_GALAXY_CACHE_DIR
ANSIBLE_GALAXY_COLLECTION_SKELETON
ANSIBLE_GALAXY_COLLECTION_SKELETON_IGNORE
ANSIBLE_GALAXY_COLLECTIONS_PATH_WARNING
ANSIBLE_GALAXY_DISABLE_GPG_VERIFY
ANSIBLE_GALAXY_DISPLAY_PROGRESS
ANSIBLE_GALAXY_GPG_KEYRING
ANSIBLE_GALAXY_IGNORE
ANSIBLE_GALAXY_IGNORE_SIGNATURE_STATUS_CODES
ANSIBLE_GALAXY_REQUIRED_VALID_SIGNATURE_COUNT
ANSIBLE_GALAXY_ROLE_SKELETON
ANSIBLE_GALAXY_ROLE_SKELETON_IGNORE
ANSIBLE_GALAXY_SERVER
ANSIBLE_GALAXY_SERVER_LIST
ANSIBLE_GALAXY_SERVER_TIMEOUT
ANSIBLE_GALAXY_TOKEN_PATH
ANSIBLE_GATHERING
ANSIBLE_GATHER_SUBSET
ANSIBLE_GATHER_TIMEOUT
ANSIBLE_HASH_BEHAVIOUR
ANSIBLE_HOME
ANSIBLE_HOST_KEY_CHECKING
ANSIBLE_HOST_PATTERN_MISMATCH
ANSIBLE_HTTPAPI_PLUGINS
ANSIBLE_INJECT_FACT_VARS
ANSIBLE_INVALID_TASK_ATTRIBUTE_FAILED
ANSIBLE_INVENTORY
ANSIBLE_INVENTORY_ANY_UNPARSED_IS_FAILED
ANSIBLE_INVENTORY_CACHE
ANSIBLE_INVENTORY_CACHE_CONNECTION
ANSIBLE_INVENTORY_CACHE_PLUGIN
ANSIBLE_INVENTORY_CACHE_PLUGIN_PREFIX
ANSIBLE_INVENTORY_CACHE_TIMEOUT
ANSIBLE_INVENTORY_ENABLED
ANSIBLE_INVENTORY_EXPORT
ANSIBLE_INVENTORY_IGNORE
ANSIBLE_INVENTORY_IGNORE_REGEX
ANSIBLE_INVENTORY_PLUGINS
ANSIBLE_INVENTORY_UNPARSED_FAILED
ANSIBLE_INVENTORY_UNPARSED_WARNING
ANSIBLE_JINJA2_EXTENSIONS
ANSIBLE_JINJA2_NATIVE
ANSIBLE_KEEP_REMOTE_FILES
ANSIBLE_LIBRARY
ANSIBLE_LIBVIRT_LXC_NOSECLABEL
ANSIBLE_LOAD_CALLBACK_PLUGINS
ANSIBLE_LOCALHOST_WARNING
ANSIBLE_LOCAL_TEMP
ANSIBLE_LOG_FILTER
ANSIBLE_LOG_PATH
ANSIBLE_LOG_VERBOSITY
ANSIBLE_LOOKUP_PLUGINS
ANSIBLE_MAX_DIFF_SIZE
ANSIBLE_MODULE_ARGS
ANSIBLE_MODULE_IGNORE_EXTS
ANSIBLE_MODULE_STRICT_UTF8_RESPONSE
ANSIBLE_MODULE_UTILS
ANSIBLE_NETCONF_PLUGINS
ANSIBLE_NETCONF_SSH_CONFIG
ANSIBLE_NETWORK_GROUP_MODULES
ANSIBLE_NOCOLOR
ANSIBLE_NOCOWS
ANSIBLE_NO_LOG
ANSIBLE_NO_TARGET_SYSLOG
ANSIBLE_NULL_REPRESENTATION
ANSIBLE_OLD_PLUGIN_CACHE_CLEAR
ANSIBLE_PAGER
ANSIBLE_PARAMIKO_HOST_KEY_AUTO_ADD
ANSIBLE_PARAMIKO_LOOK_FOR_KEYS
ANSIBLE_PERSISTENT_COMMAND_TIMEOUT
ANSIBLE_PERSISTENT_CONNECT_RETRY_TIMEOUT
ANSIBLE_PERSISTENT_CONNECT_TIMEOUT
ANSIBLE_PERSISTENT_CONTROL_PATH_DIR
ANSIBLE_PIPELINING
ANSIBLE_PLAYBOOK_DIR
ANSIBLE_PLAYBOOK_VARS_ROOT
ANSIBLE_POLL_INTERVAL
ANSIBLE_PRECEDENCE
ANSIBLE_PRIVATE_KEY_FILE
ANSIBLE_PRIVATE_ROLE_VARS
ANSIBLE_PYTHON_INTERPRETER
ANSIBLE_PYTHON_MODULE_RLIMIT_NOFILE
ANSIBLE_REMOTE_PORT
ANSIBLE_REMOTE_USER
ANSIBLE_RETRY_FILES_ENABLED
ANSIBLE_RETRY_FILES_SAVE_PATH
ANSIBLE_ROLES_PATH
ANSIBLE_RUN_TAGS
ANSIBLE_RUN_VARS_PLUGINS
ANSIBLE_SELINUX_SPECIAL_FS
ANSIBLE_SHOW_CUSTOM_STATS
ANSIBLE_SKIP_TAGS
ANSIBLE_STDOUT_CALLBACK
ANSIBLE_STRATEGY
ANSIBLE_STRATEGY_PLUGINS
ANSIBLE_STRING_CONVERSION_ACTION
ANSIBLE_STRING_TYPE_FILTERS
ANSIBLE_SU
ANSIBLE_SYSLOG_FACILITY
ANSIBLE_SYSTEM_WARNINGS
ANSIBLE_TARGET_LOG_INFO
ANSIBLE_TASK_DEBUGGER_IGNORE_ERRORS
ANSIBLE_TASK_TIMEOUT
ANSIBLE_TERMINAL_PLUGINS
ANSIBLE_TEST_PLUGINS
ANSIBLE_TIMEOUT
ANSIBLE_TRANSFORM_INVALID_GROUP_CHARS
ANSIBLE_TRANSPORT
ANSIBLE_USE_PERSISTENT_CONNECTIONS
ANSIBLE_VALIDATE_ACTION_GROUP_METADATA
ANSIBLE_VARS_ENABLED
ANSIBLE_VARS_PLUGINS
ANSIBLE_VAULT_ENCRYPT_IDENTITY
ANSIBLE_VAULT_ENCRYPT_SALT
ANSIBLE_VAULT_IDENTITY
ANSIBLE_VAULT_IDENTITY_LIST
ANSIBLE_VAULT_ID_MATCH
ANSIBLE_VAULT_PASSWORD_FILE
ANSIBLE_VERBOSE_TO_STDERR
ANSIBLE_VERBOSITY
ANSIBLE_WIN_ASYNC_STARTUP_TIMEOUT
ANSIBLE_WORKER_SHUTDOWN_POLL_COUNT
ANSIBLE_WORKER_SHUTDOWN_POLL_DELAY
ANSIBLE_YAML_FILENAME_EXT
EDITOR
NO_COLOR
PAGER

I’m still looking forward for @AWX taking part in this discussion.

1 Like

I have a funny feeling that the new credential plugin architecture won’t have this issue. Even if it still does this for “custom credential types” in the UI, you could just go create a named plugin instead. How we go about adding 3rd party plugins is another matter. It may need to be added to the official credential plugins repo until some other installable method becomes available.