Hi Vlad, Thanks for the suggestion. I was using Helm and I'm actually running into this issue because I'm migrating away from Helm to use Kustomize. Using `envsubst` is what I set out to do in the end! I'm not a fan of having to add an init container just for templating, but 🤷🏻‍♂️.
Cheers, -Hugues On Tue, Sep 10, 2019 at 1:55 PM Vlad Rusu <[email protected]> wrote: > @Hugues > > I am also a heavy user in kube/openshift environments and this issue is > addressed by means of templating. > > Using tools like helm would easily solve this for you. Helm has the value > and it uses it when rendering the backends file - in the form of a > configmap perhaps. > > If you can’t/don’t want to use helm, you can still “render” configuration > by consuming values from the ENV by using envsubst for example. This is how > we dis it before helm. Burn the backends.vcl file AT RUNTIME by passing the > backends.vcl file through envsubst. > > Either way, my recommendation is to solve this through templating and not > by trying to access ENV directly from the the backends VCL. I’m saying this > having a proper SDLC in mind. > > Of course, dynamic backends and all other options Guillaume and > Paul-Henning have mentioned are solid. > > Vlad Rusu > > On Tue, 10 Sep 2019 at 22:14, Hugues Alary <[email protected]> wrote: > >> Guillaume, Poul-Henning, thank you for your suggestions. >> >> Regarding, >> > - create a static backend point to you k8s proxy, and just set >> req.http.host to whatever value you want. >> >> I don't think this would work for me since I'm working with a backend >> definition, trying to change the IP address (/hostname) to which the >> backend points to and not simply trying to change the Host header of the >> request. >> >> Cheers, >> -Hugues >> >> >> >> On Mon, Sep 9, 2019 at 11:54 PM Guillaume Quintard < >> [email protected]> wrote: >> >>> True, but that amounts to template processing :-) >>> >>> -- >>> Guillaume Quintard >>> >>> >>> On Tue, Sep 10, 2019 at 8:44 AM Poul-Henning Kamp <[email protected]> >>> wrote: >>> >>>> -------- >>>> In message < >>>> caj6zyqy5rnbjfcs88re6-hmfsqvyuzbokhoofq_c+suqnrq...@mail.gmail.com> >>>> , Guillaume Quintard writes: >>>> >>>> >I see two ways: >>>> >>>> There is a third way: >>>> >>>> You can use: >>>> >>>> include "somefile" >>>> >>>> anywhere and everywhere in a VCL program. >>>> >>>> Before you start your varnishd, do this in a shell script: >>>> >>>> echo "\"$ENVIRONMENT_VARIABLE_HOSTNAME\"" > >>>> /somewhere/hostname.vcl >>>> >>>> Then in VCL: >>>> >>>> backend b0 { >>>> .host = include "/somewhere/hostname.vcl" ; >>>> .port 80 >>>> ... >>>> >>>> >>>> >>>> -- >>>> Poul-Henning Kamp | UNIX since Zilog Zeus 3.20 >>>> [email protected] | TCP/IP since RFC 956 >>>> FreeBSD committer | BSD since 4.3-tahoe >>>> Never attribute to malice what can adequately be explained by >>>> incompetence. >>>> >>> _______________________________________________ >>> varnish-misc mailing list >>> [email protected] >>> https://www.varnish-cache.org/lists/mailman/listinfo/varnish-misc >>> >> _______________________________________________ >> varnish-misc mailing list >> [email protected] >> https://www.varnish-cache.org/lists/mailman/listinfo/varnish-misc >> > -- > Sent from my iPhone >
_______________________________________________ varnish-misc mailing list [email protected] https://www.varnish-cache.org/lists/mailman/listinfo/varnish-misc
