Use an `--env-config` flag instead of `--config=ENV` to tell the tap to parse environment variables
Summary
Currently, the way to tell a tap-based SDK to parse environment variables for settings is to pass a --config=ENV option to the tap invocation
my-tap --config=firstConfig.json --config=ENV -config=secondConfig.json
I suggest supporting a boolean --env-config instead.
Proposed benefits
Be more explicit about environment parsing option for settings and don't rely on the hardcoded ENV string.
Also, the position of --config=ENV in the multi-value sequence is not important, so in practice it acts only as a flag. It'd be good to make that understanding more explicit.
Proposal details
Add a new --env-config option to the tap CLI decorators:
click.option(
"--env-config",
is_flag=True,
help="Use environment variables for configuration.",
)
The corresponding env_config boolean variable in the function would then be passed directly to the Tap constructor's parse_env_config argument.
Best reasons not to build
--env-config is not standard for Singer taps, so this would act as an extension to the common CLI options.
cc @aaronsteers