version: "2" services: server: image: localhost:5000/sut build: context: . dockerfile: Dockerfile command: -v -v sut: image: alpine:3.18@sha256:82d1e9d7ed48a7523bdebc18cf6290bdb97b82302a8a9c27d4fe885949ea94d1 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