[packages/dehydrated] add hook-dns-01.sh

glen glen at pld-linux.org
Fri Dec 7 11:39:45 CET 2018


commit f60f554e83fbcd78834169176dc527666b9f549c
Author: Elan Ruusamäe <glen at pld-linux.org>
Date:   Fri Dec 7 12:32:40 2018 +0200

    add hook-dns-01.sh

 dehydrated.spec |  9 ++++++---
 hook-dns-01.sh  | 56 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 62 insertions(+), 3 deletions(-)
---
diff --git a/dehydrated.spec b/dehydrated.spec
index abfe85d..bdff567 100644
--- a/dehydrated.spec
+++ b/dehydrated.spec
@@ -1,7 +1,7 @@
 Summary:	letsencrypt/acme client implemented as a shell-script
 Name:		dehydrated
 Version:	0.6.1
-Release:	1
+Release:	2
 License:	MIT
 Group:		Applications/Networking
 Source0:	https://github.com/lukas2511/dehydrated/archive/v%{version}/%{name}-%{version}.tar.gz
@@ -11,7 +11,8 @@ Source2:	lighttpd.conf
 Source3:	nginx.conf
 Source4:	domains.txt
 Source5:	hook.sh
-Source6:	crontab
+Source6:	hook-dns-01.sh
+Source7:	crontab
 Patch0:		pld.patch
 URL:		https://github.com/lukas2511/dehydrated
 BuildRequires:	rpmbuild(macros) >= 1.713
@@ -61,8 +62,9 @@ cp -p %{SOURCE2} $RPM_BUILD_ROOT%{_sysconfdir}/lighttpd.conf
 cp -p %{SOURCE3} $RPM_BUILD_ROOT%{_sysconfdir}/nginx.conf
 cp -p docs/examples/config $RPM_BUILD_ROOT%{_sysconfdir}
 cp -p %{SOURCE4} $RPM_BUILD_ROOT%{_sysconfdir}
-cp -p %{SOURCE6} $RPM_BUILD_ROOT/etc/cron.d/%{name}
+cp -p %{SOURCE7} $RPM_BUILD_ROOT/etc/cron.d/%{name}
 install -p %{SOURCE5} $RPM_BUILD_ROOT%{_sysconfdir}
+install -p %{SOURCE6} $RPM_BUILD_ROOT%{_sysconfdir}
 cp -p $RPM_BUILD_ROOT%{_sysconfdir}/{apache,httpd}.conf
 
 %clean
@@ -104,6 +106,7 @@ rm -rf $RPM_BUILD_ROOT
 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/config
 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/domains.txt
 %attr(750,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/hook.sh
+%attr(750,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/hook-dns-01.sh
 %attr(755,root,root) %{_sbindir}/%{name}
 %dir %attr(751,root,root) /var/lib/%{name}
 %dir %attr(700,root,root) /var/lib/%{name}/accounts
diff --git a/hook-dns-01.sh b/hook-dns-01.sh
new file mode 100755
index 0000000..6765936
--- /dev/null
+++ b/hook-dns-01.sh
@@ -0,0 +1,56 @@
+#!/bin/bash
+
+# based on https://github.com/lukas2511/dehydrated/wiki/example-dns-01-nsupdate-script
+
+set -e
+set -u
+set -o pipefail
+
+case "$1" in
+	"deploy_challenge")
+		echo ""
+		echo "Add the following to the zone definition of ${2}:"
+		echo "'_acme-challenge.${2}:${4}:300"
+		echo ""
+		echo -n "Press enter to continue..."
+		read tmp
+		echo ""
+	;;
+	"clean_challenge")
+		echo ""
+		echo "Now you can remove the following from the zone definition of ${2}:"
+		echo "'_acme-challenge.${2}:${4}:300"
+		echo ""
+		echo -n "Press enter to continue..."
+		read tmp
+		echo ""
+	;;
+	"deploy_cert")
+		DOMAIN="$2"
+		PRIVKEY="$3"
+		CERT="$4"
+		FULLCHAINCERT="$5"
+		CHAINCERT="$6"
+		TIMESTAMP="$7"
+		if [ -x /etc/rc.d/init.d/apache ]; then
+			echo " + Hook: Overwritting /etc/httpd/ssl/server.{crt,key}, /etc/httpd/ssl/ca.crt and reloading Apache..."
+			cp -a /etc/apache/server.crt /etc/apache/server.crt.letsencrypt~
+			cp -a /etc/apache/server.key /etc/apache/server.key.letsencrypt~
+			cp -a /etc/apache/ca.crt /etc/apache/ca.crt.letsencrypt~
+			cat "$CERT" > /etc/apache/server.crt
+			cat "$PRIVKEY" > /etc/apache/server.key
+			cat "$CHAINCERT" > /etc/apache/ca.crt
+			/sbin/service apache restart
+		fi
+	;;
+	"unchanged_cert")
+		# do nothing for now
+	;;
+	*)
+		echo "Unknown hook \"${1}\""
+		exit 1
+	;;
+esac
+
+exit 0
+
================================================================

---- gitweb:

http://git.pld-linux.org/gitweb.cgi/packages/dehydrated.git/commitdiff/30b951d8c1a66a276c609bd1f7ceaff1f6dd6ec2



More information about the pld-cvs-commit mailing list