Skip to content

VIP29: VCL labels and backend.list ( r option etc.)

Poul-Henning Kamp edited this page Feb 3, 2020 · 1 revision

Synopsis

VCL labels as arguments to CLI commands (particularly backend.list)

Why

If you use a label for active vcl, backend.list does not work as one would expect.

How

Generally we think of labels as symlinks.

If the active VCL is a label, it will be resolved whenever somebody tries to grab the active VCL.

It should be possible to use a label name wherever a VCL name is used as argument to a CLI command.

Not decided: If the commands silently resolve (like a symlink) or if their output should make note of the fact that a label was followed. (Probably a good argument for a general "-l" argument to "show labels used".

For backend.list we suggest adding a -r (recursive) option to enable recursing over all the backends that can be reached via "return (vcl(...))" constructs, if any.

Idea: -r will list a backend only once regardless of how many of the VCLs it can be reached from, and -R will list the backend every time it is referenced.

Idea: -s to sort backends by name.

No consensus on output format. Suggestions: Adding a column showing which VCL name it came from, Doing headings for each VCL name before listing the ones from that.

The JSON version needs to be figured out as well

Some mock-ups of possible outputs would be great if anyone has the time to make them

See Also

Issue #2127 (But this text controls)

Clone this wiki locally