Files
unbound-docker/docker-compose.test.yml
2023-08-29 08:39:36 -04:00

59 lines
2.1 KiB
YAML

version: "2"
services:
server:
image: localhost:5000/sut
build:
context: .
dockerfile: Dockerfile
volumes:
# enable send-client-subnet example configuration file
- ./rootfs_overlay/etc/unbound/custom.conf.d/send-client-subnet.conf.example:/etc/unbound/custom.conf.d/send-client-subnet.conf:ro
command: -v -v
sut:
image: alpine:3.18@sha256:7144f7bab3d4c2648d7e59409f15ec52a18006a128c733fcff20d3a4a54ba44a
depends_on:
- server
volumes:
- /var/run/docker.sock:/var/run/docker.sock
working_dir: /test
entrypoint:
- /bin/sh
- -c
command:
- |
set -ex
apk add --no-cache bind-tools docker-cli
server_ip="$$(dig +short server | tail -n 1)"
while read id
do
if docker inspect --format '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' $${id} | grep -q "$${server_ip}"
then
server_id="$${id}"
break
fi
done < <(docker ps --format '{{.ID}}')
docker exec $${server_id} unbound -V
docker exec $${server_id} unbound-checkconf
docker exec $${server_id} unbound-anchor -v
docker exec $${server_id} drill -v
sleep 5
docker exec $${server_id} drill @127.0.0.1 -p 53 dnssec.works | tee /dev/stderr | grep NOERROR
! docker exec $${server_id} drill @127.0.0.1 -p 53 foo.local | tee /dev/stderr | grep NOERROR
! docker exec $${server_id} drill @127.0.0.1 -p 53 bar.local | tee /dev/stderr | grep NOERROR
dig @server -p 53 dnssec.works +dnssec +multi | tee /dev/stderr | grep NOERROR
! dig @server -p 53 fail01.dnssec.works +dnssec +multi | tee /dev/stderr | grep NOERROR
! dig @server -p 53 fail02.dnssec.works +dnssec +multi | tee /dev/stderr | grep NOERROR
! dig @server -p 53 fail03.dnssec.works +dnssec +multi | tee /dev/stderr | grep NOERROR
! dig @server -p 53 fail04.dnssec.works +dnssec +multi | tee /dev/stderr | grep NOERROR
# test ECS
dig @server -p 53 TXT o-o.myaddr.l.google.com +short | tee /dev/stderr | grep edns0-client-subnet