rover icon indicating copy to clipboard operation
rover copied to clipboard

Support specifying rover CLI arguments through environment variables

Open niodice opened this issue 1 year ago • 0 comments

Description

It would be helpful to be able to control cross cutting runtime behaviors in rover without deploying code changes to the commands being invoked. A primary example of this is to control behavior such as client timeouts, subgraph check parameters (query percentage thresholds, query count thresholds, and validation period) among others.

A helpful way to be able to control these would be though the use of environment variables that conform to CLI options. For example:

CLI param Environment variable Example
--client-timeout ROVER_CLIENT_TIMEOUT ROVER_CLIENT_TIMEOUT=60
--validation-period ROVER_VALIDATION_PERIOD ROVER_VALIDATION_PERIOD=15
--query-percentage-threshold ROVER_QUERY_PERCENTAGE_THRESHOLD ROVER_QUERY_PERCENTAGE_THRESHOLD=20
--query-count-threshold ROVER_COUNT_THRESHOLD ROVER_COUNT_THRESHOLD=200

This would make it easier to ship configuration without forcing older versions of software to upgrade to more modern common tooling. Also, we'd be able to avoid releasing common tooling updates for config only changes such as client timeouts.

niodice avatar May 01 '23 19:05 niodice