git: 163b2d85a184 - main - www/nginx-module-cert-expiry: Add New Port

From: Jochen Neumeister <joneum_at_FreeBSD.org>
Date: Wed, 21 Oct 2026 21:46:53 UTC
The branch main has been updated by joneum:

URL: https://cgit.FreeBSD.org/ports/commit/?id=163b2d85a184996c8b07d72e1c71808dcc9ccb9a

commit 163b2d85a184996c8b07d72e1c71808dcc9ccb9a
Author:     Jochen Neumeister <joneum@FreeBSD.org>
AuthorDate: 2026-10-21 21:45:31 +0000
Commit:     Jochen Neumeister <joneum@FreeBSD.org>
CommitDate: 2026-10-21 21:46:39 +0000

    www/nginx-module-cert-expiry: Add New Port
    
    The cert_expiry module reads every file an ssl_certificate names, when the
    configuration is read and again on a timer, and reports how long the
    certificate still has.  $ssl_expiry_days carries the days left into a log
    format.
    
    Sponsored by:   Netzkommune GmbH
---
 www/Makefile                                      |  1 +
 www/nginx-module-cert-expiry/Makefile             | 35 +++++++++++++++++++++++
 www/nginx-module-cert-expiry/distinfo             |  3 ++
 www/nginx-module-cert-expiry/files/pkg-message.in | 14 +++++++++
 www/nginx-module-cert-expiry/pkg-descr            |  9 ++++++
 5 files changed, 62 insertions(+)

diff --git a/www/Makefile b/www/Makefile
index 88afa5d8d6fa..4e95662157e4 100644
--- a/www/Makefile
+++ b/www/Makefile
@@ -544,6 +544,7 @@
     SUBDIR += nginx-module-auth-pam
     SUBDIR += nginx-module-aws-auth
     SUBDIR += nginx-module-cache-purge
+    SUBDIR += nginx-module-cert-expiry
     SUBDIR += nginx-module-encrypted-session
     SUBDIR += nginx-module-fancyindex
     SUBDIR += nginx-module-fips-check
diff --git a/www/nginx-module-cert-expiry/Makefile b/www/nginx-module-cert-expiry/Makefile
new file mode 100644
index 000000000000..df48ea9446ce
--- /dev/null
+++ b/www/nginx-module-cert-expiry/Makefile
@@ -0,0 +1,35 @@
+PORTNAME=	nginx-module-cert-expiry
+DISTVERSIONPREFIX=	v
+DISTVERSION=	0.1.1
+CATEGORIES=	www
+
+MAINTAINER=	joneum@FreeBSD.org
+COMMENT=	Sources of the cert_expiry module for the NGINX ports
+WWW=		https://github.com/sysadmin-labs/nginx-cert-expiry-module
+
+LICENSE=	BSD2CLAUSE
+LICENSE_FILE=	${WRKSRC}/LICENSE
+
+USE_GITHUB=	yes
+GH_ACCOUNT=	sysadmin-labs
+GH_PROJECT=	nginx-cert-expiry-module
+
+NO_ARCH=	yes
+NO_BUILD=	yes
+
+SUB_FILES=	pkg-message
+
+_MODDIR=	share/nginx/modules/${PORTNAME}
+MODULESDIR=	${PREFIX}/${_MODDIR}
+
+_MODFILES=	src/ngx_http_cert_expiry_module.c
+
+PLIST_FILES=	${_MODDIR}/config \
+		${_MODFILES:S!^!${_MODDIR}/!}
+
+do-install:
+	@${MKDIR} ${STAGEDIR}${MODULESDIR}/src
+	${INSTALL_DATA} ${WRKSRC}/config ${STAGEDIR}${MODULESDIR}
+	${INSTALL_DATA} ${_MODFILES:S!^!${WRKSRC}/!} ${STAGEDIR}${MODULESDIR}/src
+
+.include <bsd.port.mk>
diff --git a/www/nginx-module-cert-expiry/distinfo b/www/nginx-module-cert-expiry/distinfo
new file mode 100644
index 000000000000..e676201dfaae
--- /dev/null
+++ b/www/nginx-module-cert-expiry/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1792610394
+SHA256 (sysadmin-labs-nginx-cert-expiry-module-v0.1.1_GH0.tar.gz) = 8e72b3ad8a162119b592773a8d2eea0ec930bbc2f00493da9ac2922107cbce0e
+SIZE (sysadmin-labs-nginx-cert-expiry-module-v0.1.1_GH0.tar.gz) = 23601
diff --git a/www/nginx-module-cert-expiry/files/pkg-message.in b/www/nginx-module-cert-expiry/files/pkg-message.in
new file mode 100644
index 000000000000..007332e98638
--- /dev/null
+++ b/www/nginx-module-cert-expiry/files/pkg-message.in
@@ -0,0 +1,14 @@
+[
+{ type: install
+  message: <<EOM
+This package contains the sources of the cert_expiry module only.  It does
+not install a loadable module.
+
+The module itself is built by the nginx ports.  To use cert_expiry, build
+www/nginx, www/nginx-devel or www/freenginx with the CERT_EXPIRY option
+enabled.  Those ports pick the sources up from
+%%PREFIX%%/share/nginx/modules/nginx-module-cert-expiry and produce
+ngx_http_cert_expiry_module.so.
+EOM
+}
+]
diff --git a/www/nginx-module-cert-expiry/pkg-descr b/www/nginx-module-cert-expiry/pkg-descr
new file mode 100644
index 000000000000..1fb77c7fd0eb
--- /dev/null
+++ b/www/nginx-module-cert-expiry/pkg-descr
@@ -0,0 +1,9 @@
+The cert_expiry module reads every file an ssl_certificate names, when the
+configuration is read and again on a timer, and reports how long the
+certificate still has: at warn level once it is close to its end, at error
+level once it has passed it.  cert_expiry_warn sets the threshold,
+cert_expiry_check the interval, and $ssl_expiry_days carries the days left
+into a log format.
+
+This port only installs the module sources.  The module itself is built by
+the nginx ports when their CERT_EXPIRY option is enabled.