Looking at a VCL I use to set hostname and this seems to work-

sub vcl_deliver {
  set resp.http.X-Cache-Node = server.hostname;
}

Maybe you can use in form of server.environmental_variable

From: varnish-misc 
<[email protected]> on behalf of 
Hugues Alary <[email protected]>
Date: Monday, September 9, 2019 at 6:09 PM
To: varnish-misc <[email protected]>
Subject: Environment variables in VCL

Hi there,

I'm using Varnish in a Kubernetes cluster and my configuration needs to use 
environment variables.

More specifically, I'm trying to declare a `backend` with a `.host` whose value 
is an environment variable.

backend b0 {
  .host = "$ENVIRONMENT_VARIABLE_HOSTNAME";
  .port = "80";
  .connect_timeout = 300s;
  .first_byte_timeout = 300s;
  .between_bytes_timeout = 300s;
}

This doesn't work. It tried using the std.get_env() function but it doesn't 
work in this context.

Is there any way to use environment variables in VCL, or do I have to create a 
configuration template?

Thanks for your help,

Cheers,
-Hugues

_______________________________________________
varnish-misc mailing list
[email protected]
https://www.varnish-cache.org/lists/mailman/listinfo/varnish-misc

Reply via email to