Deprecate `env_aliases` from Meltano
Our latest discovery.yml
file contains 36 refs to 73 references to env:
andenv_aliases:
. I propose we remove these from discovery.yml
and instead direct users to use the explicit environment variable logic: <plugin_name>_<setting_name>
.
Optionally, we can preserve this functionality in case users want to add their own mappings within their meltano.yml
files, but to my understanding, this is fully redundant with just setting the config value to be equal to the value (e.g. value: $MY_ENV_VAL
is basically equivalent to adding the env: MY_ENV_VAL
or env_aliases: [MY_ENV_VAL]
).
As I understand the evolution of this featureset, the custom-named env variable aliases existing prior to the newer <plugin_name>_<setting_name>
parsing convention. Since adding that newer convention, I think we have seen this convention go mainstream for most use cases, and we run into problems with those legacy variable names being confusing user experience if the ingestion is not expected, and/or if the order of resolution is surprising to users. See #2984 (closed) for more info on this.
Update (2022-01-24)
Following from the notes in Fix `env` usage in discovery.yml and JSON schema (!2507 - merged), we think that env:
is serving a different function, and so this deprecation should only affect env_aliases
. Further discussion re: env:
can happen in !2507 (merged) and then we'll feed the findings/outcomes back into this issue.
Best reason not to build
This is a breaking change for users who are using the older (custom) environment variable names for their projects.
That said, it should be a simple fix to either add the alias back to the meltano.yml
file (as the value:
or mapped in env:
/env_aliases:
) or just use the newer <plugin_name>_<setting_name>
variable names.