<div dir="ltr"><div>Hello everyone!</div><div><br></div><div>One of my goals for 2025 is to make Varnish easier to operate Varnish in dynamic environments, so I'm ready to open a big can of worms: configuration through environment variables.</div><div><br></div><div>Yes, env variables are terrible, but they are the primary configuration mode for containers and they also allow users to redefine part of the configuration without having to rewrite the whole command line.</div><div>Notably, docker images and helm charts use them to configure varnishd but they have to reimplement everything all the time (variable names, ordering, etc.), and having the feature in core would simplify downstream integration and bring some standardization, lowering the barrier of entry.</div><div><br></div><div>In practice, I have relatively modest initial goals:</div><div>- have varnishd read a handful of variables such as VARNISH_LISTEN_HTTP, VARNISH_STORAGE_MALLOC, VARNISH_VCL_PATH, VARNISH_HTTP2, and VARNISH_PARAMETER_* for all the -p arguments</div><div>- those would be processed before regular command line arguments</div><div>- possibly scan the environment looking for unsupported VARNISH_* variables to detect user error</div><div><br></div><div>This is a pretty vague plan right now, but I'd rather telegraph it than implement it and be blocked during the PR review :-)</div><div><br></div><div>So, how heretical am I being here?<br></div><div><br></div><div><div dir="ltr" class="gmail_signature" data-smartmail="gmail_signature"><div dir="ltr"><div>-- <br></div><div>Guillaume Quintard<br></div></div></div></div></div>