feat: add support for debian 13 (trixie)
This commit is contained in:
parent
d2ad01fd37
commit
14ae02d552
6 changed files with 67 additions and 0 deletions
|
@ -17,6 +17,7 @@ steps:
|
||||||
- sleep 5 # give docker enough time to start
|
- sleep 5 # give docker enough time to start
|
||||||
- echo "$DOCKER_PASSWORD" | docker login -u "$DOCKER_USERNAME" --password-stdin
|
- echo "$DOCKER_PASSWORD" | docker login -u "$DOCKER_USERNAME" --password-stdin
|
||||||
- ./debian/12/build.sh
|
- ./debian/12/build.sh
|
||||||
|
- ./debian/13/build.sh
|
||||||
when:
|
when:
|
||||||
branch:
|
branch:
|
||||||
- master
|
- master
|
||||||
|
|
|
@ -8,6 +8,7 @@
|
||||||
# Supported tags and respective `Dockerfile` links
|
# Supported tags and respective `Dockerfile` links
|
||||||
|
|
||||||
- [`4.6-bookworm`, `latest`](https://github.com/pommi/docker-powerdns/blob/master/debian/12/Dockerfile)
|
- [`4.6-bookworm`, `latest`](https://github.com/pommi/docker-powerdns/blob/master/debian/12/Dockerfile)
|
||||||
|
- [`4.9-trixie`](https://github.com/pommi/docker-powerdns/blob/master/debian/13/Dockerfile)
|
||||||
|
|
||||||
# Usage
|
# Usage
|
||||||
|
|
||||||
|
|
|
@ -14,3 +14,7 @@ updates_available () {
|
||||||
if updates_available pommib/powerdns:4.6-bookworm; then
|
if updates_available pommib/powerdns:4.6-bookworm; then
|
||||||
./debian/12/build.sh
|
./debian/12/build.sh
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
if updates_available pommib/powerdns:4.9-trixie; then
|
||||||
|
./debian/13/build.sh
|
||||||
|
fi
|
||||||
|
|
22
debian/13/Dockerfile
vendored
Normal file
22
debian/13/Dockerfile
vendored
Normal file
|
@ -0,0 +1,22 @@
|
||||||
|
FROM debian:trixie-slim
|
||||||
|
|
||||||
|
RUN set -eux && \
|
||||||
|
apt-get update && \
|
||||||
|
DEBIAN_FRONTEND=noninteractive apt-get upgrade -y && \
|
||||||
|
DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \
|
||||||
|
pdns-server \
|
||||||
|
pdns-backend-bind \
|
||||||
|
sqlite3 \
|
||||||
|
bind9-dnsutils \
|
||||||
|
inotify-tools \
|
||||||
|
&& \
|
||||||
|
rm -rf /var/lib/apt/lists/*
|
||||||
|
|
||||||
|
ADD start.sh /
|
||||||
|
|
||||||
|
EXPOSE 53/tcp 53/udp
|
||||||
|
VOLUME ["/var/lib/powerdns"]
|
||||||
|
|
||||||
|
CMD /start.sh
|
||||||
|
|
||||||
|
HEALTHCHECK CMD dig +timeout=1 @127.0.0.1 || exit 1
|
9
debian/13/build.sh
vendored
Executable file
9
debian/13/build.sh
vendored
Executable file
|
@ -0,0 +1,9 @@
|
||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
set -ex
|
||||||
|
|
||||||
|
IMAGE=pommib/powerdns:4.9-trixie
|
||||||
|
#docker pull $IMAGE
|
||||||
|
docker pull debian:trixie-slim
|
||||||
|
docker build --no-cache -t $IMAGE ./debian/13/
|
||||||
|
docker push $IMAGE
|
30
debian/13/start.sh
vendored
Executable file
30
debian/13/start.sh
vendored
Executable file
|
@ -0,0 +1,30 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
# create sqlite database for DNSSEC
|
||||||
|
if test ! -e /var/lib/powerdns/bind-dnssec-db.sqlite3; then
|
||||||
|
echo [$0] Initializing /var/lib/powerdns/bind-dnssec-db.sqlite3
|
||||||
|
/usr/bin/pdnsutil create-bind-db /var/lib/powerdns/bind-dnssec-db.sqlite3
|
||||||
|
fi
|
||||||
|
sed -i 's/^# bind-dnssec-db=/bind-dnssec-db=\/var\/lib\/powerdns\/bind-dnssec-db.sqlite3/' /etc/powerdns/pdns.d/bind.conf
|
||||||
|
|
||||||
|
# start powerdns server
|
||||||
|
/usr/sbin/pdns_server --guardian=no --daemon=no --disable-syslog --log-timestamp=no --write-pid=no &
|
||||||
|
|
||||||
|
# watch for zone changes
|
||||||
|
inotifywait -mqre modify --exclude '.*(\.git|.*\.swp)' --format '%w%f' "/var/lib/powerdns/zones/" |
|
||||||
|
while read -r path; do
|
||||||
|
zone=$(basename $path)
|
||||||
|
echo [$0] A modification was detected in $path
|
||||||
|
echo [$0] Executing \`/usr/bin/pdns_control bind-reload-now $zone\`
|
||||||
|
/usr/bin/pdns_control bind-reload-now $zone
|
||||||
|
if pdnsutil show-zone $zone 2>/dev/null | grep -q "Zone is not actively secured"; then
|
||||||
|
echo [$0] Zone is not actively secured, skipping \`pdnsutil rectify-zone $zone\`
|
||||||
|
else
|
||||||
|
echo [$0] DNSSEC secured zone. Executing \`pdnsutil rectify-zone $zone\`
|
||||||
|
/usr/bin/pdnsutil rectify-zone $zone
|
||||||
|
fi
|
||||||
|
done &
|
||||||
|
|
||||||
|
wait -n
|
||||||
|
|
||||||
|
exit $?
|
Loading…
Add table
Add a link
Reference in a new issue