Encrypted DNS health, comparing a zone's views, --local everywhere
jarld checks the DoT and DoH listeners every 10 minutes as a client would (page, dashboard, jarl encrypted-dns health, jarl_encrypted_dns_up). The Compare views tab and jarl zone diff show what differs between a zone's views, with Use this version. --local works on unlinked zones. A changed certificates.dir is followed by encrypted DNS's tls statements. Sharing an already shared version replaces other views' overrides. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
67ae0091b3
commit
13ffd8cad4
31 files changed
+1153
-18
No files matched your search
@@ -418,11 +418,20 @@ expect_dig "now every view's" "10.1.1.1" -k $E/external.key linked.adbraun.test
|
||||
run "--view all changes a link once" 0 $J record set adbraun.test linked A 10.1.1.2 --view all
|
||||
contains "linked with internal"
|
||||
expect_dig "both views" "10.1.1.2" -k $E/external.key linked.adbraun.test A
|
||||
run "zone diff: what differs between the views" 0 $J zone diff adbraun.test
|
||||
contains "ns1 *A *127.0.0.1 \\[local, id [0-9]*\\] *203.0.113.1 \\[local, id [0-9]*\\]"
|
||||
contains "names and types differ, [0-9]* are the same; linked"
|
||||
run "the compare API" 0 curl -sf -H "Authorization: Bearer $(cat $E/admin.token)" "http://127.0.0.1:$HTTP/api/v1/zones/adbraun.test/compare?view=internal&all=1"
|
||||
contains '"linked":true'
|
||||
run "a shared delete" 0 $J record delete adbraun.test linked A --view external -y
|
||||
expect_dig "gone from internal too" "" linked.adbraun.test A
|
||||
run "zone unlink" 0 $J zone unlink adbraun.test --view external
|
||||
run "unlinked: no link column" 0 $J record list adbraun.test --view external
|
||||
not_contains "shared"
|
||||
run "--local on a zone that isn't linked is fine" 0 $J record add adbraun.test solo A 10.9.9.9 --view external --local
|
||||
run "--shared there is refused (exit 6)" 6 $J record add adbraun.test solo2 A 10.9.9.8 --view external --shared
|
||||
contains "nothing to share"
|
||||
run "remove it" 0 $J record delete adbraun.test solo A --view external -y
|
||||
run "zone create --link-with: a linked copy" 0 $J zone create linkcopy.test --view internal --ns ns1.adbraun.test.
|
||||
run "a record in it" 0 $J record add linkcopy.test www A 192.0.2.80 --view internal
|
||||
run "copy it into external, linked" 0 $J zone create linkcopy.test --view external --link-with internal
|
||||
@@ -792,6 +801,13 @@ if [ -n "$PEBBLE" ]; then
|
||||
contains "^192.168.1.20$"
|
||||
run "plain DNS still answers on port 53's listener" 0 $DIG +short -p $DNS @127.0.0.1 nas.adbraun.test A
|
||||
contains "^192.168.1.20$"
|
||||
run "encrypted-dns health: both listeners work" 0 $J encrypted-dns health
|
||||
contains "DoT 127.0.0.1 port $EDOT: *working (NOERROR"
|
||||
contains "DoH 127.0.0.1 port $EDOH: *working"
|
||||
contains "isn't from a CA this server trusts"
|
||||
sleep 16 # /metrics caches Jarl's state for 15 seconds
|
||||
run "health metric" 0 curl -sf http://127.0.0.1:$HTTP/metrics
|
||||
contains "^jarl_encrypted_dns_up{kind=\"dot\",address=\"127.0.0.1\",port=\"$EDOT\"} 1$"
|
||||
run "a certificate named uses can't be deleted (exit 6)" 6 $J cert delete ns1 --yes
|
||||
contains "take it out first"
|
||||
run "encrypted-dns disable" 0 $J encrypted-dns disable
|
||||
|
||||
Reference in new issue
Block a user