New port: varnish-libvmod-dynamic

This module provides a varnish director for dynamic creation of backends based
on calls to the system's network address resolution service which, in turn,
typically use information from the /etc/hosts file and the Domain Name Service
(DNS), but can be configured to use other sources like LDAP or more advanced
DNS resolution where getdns is available.

While standard varnish backends defined in VCL may also be defined in terms of
host names, changes of the name service information will only be picked up
with a VCL reload.

WWW: https://github.com/nigoroll/libvmod-dynamic
This commit is contained in:
Ryan Steinmetz 2019-08-22 17:48:51 +00:00
parent 8b28d359ca
commit b7123f3276
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=509619
6 changed files with 72 additions and 0 deletions

View File

@ -2402,6 +2402,7 @@
SUBDIR += validator
SUBDIR += varnish-libvmod-awsrest
SUBDIR += varnish-libvmod-digest
SUBDIR += varnish-libvmod-dynamic
SUBDIR += varnish-libvmod-maxminddb
SUBDIR += varnish-modules
SUBDIR += varnish-nagios

View File

@ -0,0 +1,38 @@
# $FreeBSD$
PORTNAME= libvmod-dynamic
PORTVERSION= 20190822
CATEGORIES= www
PKGNAMEPREFIX= varnish-
MAINTAINER= zi@FreeBSD.org
COMMENT= Varnish Module (vmod) for dynamic backends
LICENSE= BSD2CLAUSE
LICENSE_FILE= ${WRKSRC}/LICENSE
LIB_DEPENDS= libgetdns.so:dns/getdns
BUILD_DEPENDS= rst2man:textproc/py-docutils@${PY_FLAVOR}
USES= autoreconf gmake libtool pkgconfig python:3.5+,build varnish:6
USE_LDCONFIG= yes
GNU_CONFIGURE= yes
CONFIGURE_ARGS= --disable-static
INSTALL_TARGET= install-strip
DOCSDIR= ${PREFIX}/share/doc/vmod-dynamic
MAKE_JOBS_UNSAFE= yes
CFLAGS+= -I${WRKSRC}/src
USE_GITHUB= yes
GH_ACCOUNT= nigoroll
GH_TAGNAME= 220fd64
OPTIONS_DEFINE= DOCS
post-patch:
${REINPLACE_CMD} 's|$${VARNISHAPI_DATAROOTDIR}|${LOCALBASE}/share|' \
${WRKSRC}/Makefile.am
.include <bsd.port.mk>

View File

@ -0,0 +1,3 @@
TIMESTAMP = 1566493821
SHA256 (nigoroll-libvmod-dynamic-20190822-220fd64_GH0.tar.gz) = 072e6c20cef5b8c9074d5c0eb4aaf9ba5f8b6a6b786be88421c18ada5d5d62e4
SIZE (nigoroll-libvmod-dynamic-20190822-220fd64_GH0.tar.gz) = 40136

View File

@ -0,0 +1,15 @@
--- src/dyn_resolver_getdns.c.orig 2019-08-22 17:20:58 UTC
+++ src/dyn_resolver_getdns.c
@@ -33,6 +33,12 @@
#include <sys/socket.h>
#include <netdb.h>
+#ifdef __FreeBSD__
+#include <arpa/inet.h>
+#include <netinet/in.h>
+#include <resolv.h>
+#endif
+
#include <cache/cache.h>
#include <vsa.h>

View File

@ -0,0 +1,11 @@
This module provides a varnish director for dynamic creation of backends based
on calls to the system's network address resolution service which, in turn,
typically use information from the /etc/hosts file and the Domain Name Service
(DNS), but can be configured to use other sources like LDAP or more advanced
DNS resolution where getdns is available.
While standard varnish backends defined in VCL may also be defined in terms of
host names, changes of the name service information will only be picked up
with a VCL reload.
WWW: https://github.com/nigoroll/libvmod-dynamic

View File

@ -0,0 +1,4 @@
lib/varnish/vmods/libvmod_dynamic.so
man/man3/vmod_dynamic.3.gz
%%PORTDOCS%%%%DOCSDIR%%/LICENSE
%%PORTDOCS%%%%DOCSDIR%%/README.rst