varnish / varnish-modules

Collection of Varnish Cache modules (vmods) by Varnish Software
Other
182 stars 86 forks source link

Including slash #211

Open Schtil opened 1 year ago

Schtil commented 1 year ago

Hi! Thanks for this repository. Are there any plans to add slash to this collection?

https://varnish-cache.org/#two-new-storage-engines-for-varnish-cache

gquintard commented 1 year ago

Hi!

Technically I'd say "possibly not", politically, I'd say "yes, but maybe-no, I don't really have an idea and it's not my call let me tag @hermunn"

I don't think slash belongs here yet. It's not small, and it's not old/tried enough to be trusted to the same level as the other vmods here. However I understand the need for disk storage in the open-source version, and I believe we can make slash and fellow more accessible by packaging them. Notably, I can

nigoroll commented 1 year ago

@gquintard nice, I would very much appreciate those packaging efforts. Be assured of my support.

gquintard commented 1 year ago

@nigoroll , while I have you here: I believe that to build slash I need the Varnish source, and possibly have some headers built too (at least it's the case for pesi I believe). Is there a better way than to ./autogen.sh && ./configure && make (like, is there a secret make target to build just the generated headers)?

nigoroll commented 1 year ago

@gquintard how much off topic can we take this ticket? ;)

The SLASH/ INSTALL.rst and pESI INSTALL.rst should answer your questions.

But in short, both need the source because we need access to data structures not in the API (so both VMODs (implicitly) use $ABI strict). SLASH/ was spun off with vcdk and has bootstrap, while pESI needs ./autogen.sh && ./configure.

Generated files are just the usual ones required for VMOD binding and VSCs. In principle, we could make tehm part of the distribution (right now they are defined as nodist_ in src/Makefile), but I am not confident that this is a good idea, because I think this would increase the likelyhood of people compiling code incompatible with their varnish-cache source.

gquintard commented 1 year ago

@gquintard how much off topic can we take this ticket? ;)

you are among friends, this is a safe space :-)

Thanks for the info, mainly I was after: "is there a intermediate make target that wouldn't force me to build all the binaries" as it's the heavies part of the process, and it's pretty redundant as I usually already have the binaries installed already, so having to go through the compilation just to get extra headers that weren't installed is a bit annoying