Open bbockelm opened 4 months ago
This appears to be a repeat of issue #1125, but this issue provides more detail about the expected interface. I'll close the other.
Additional items / discussion:
config get
should match both substring and globs. So, config get origin
would match Logging.Origin.Http
even though, if it was glob-only, it wouldn't match.--component
?) that allows one to narrow-down the relevant config items.--show-deprecated
?) that allows one to show deprecated configuration value; otherwise, do not show them.--show-hidden
.Things that would be nice to have -- but could possibly be done as a follow-up:
Currently, there's no simple way to dump or share the Pelican configuration. We should add a new sub-command to Pelican,
pelican config
, with the following functionality:pelican config dump
: dump the entire current configuration. Defaults toyaml
output but, based on CLI flags, can output to JSON.pelican config inputs
: Prints out the configuration file(s) used as inputs to the configuration.pelican config get <name1> <name2> ... <nameN>
: Prints out all configuration variables and the values matching name1, name2, .... The matching rules should be based on Unix (case-insensitive) globs on any part of the string. So,pelican config get log
would match any config value withlog
in the name. For config entries that are lists or non-trivial structures, the printed value should be JSON-encoded and single-line.pelican config summary
(pelican config
, with no sub-command, defaults tosummary
): Prints, in the specified format, settings that differ from the default configuration.