* For caddy v1 in our org This RP changes all imports for caddyserver/caddy to coredns/caddy. This is the v1 code of caddy. For the coredns/caddy repo the following changes have been made: * anything not needed by us is deleted * all `telemetry` stuff is deleted * all its import paths are also changed to point to coredns/caddy * the v1 branch has been moved to the master branch * a v1.1.0 tag has been added to signal the latest release Signed-off-by: Miek Gieben <miek@miek.nl> * Fix imports Signed-off-by: Miek Gieben <miek@miek.nl> * Group coredns/caddy with out plugins Signed-off-by: Miek Gieben <miek@miek.nl> * remove this file Signed-off-by: Miek Gieben <miek@miek.nl> * Relax import ordering github.com/coredns is now also a coredns dep, this makes github.com/coredns/caddy fit more natural in the list. Signed-off-by: Miek Gieben <miek@miek.nl> * Fix final import Signed-off-by: Miek Gieben <miek@miek.nl>
erratic
Name
erratic - a plugin useful for testing client behavior.
Description
erratic returns a static response to all queries, but the responses can be delayed, dropped or truncated. The erratic plugin will respond to every A or AAAA query. For any other type it will return a SERVFAIL response (except AXFR). The reply for A will return 192.0.2.53 (RFC 5737), for AAAA it returns 2001:DB8::53 (RFC 3849). For an AXFR request it will respond with a small zone transfer.
Syntax
erratic {
    drop [AMOUNT]
    truncate [AMOUNT]
    delay [AMOUNT [DURATION]]
}
- drop: drop 1 per AMOUNT of queries, the default is 2.
- truncate: truncate 1 per AMOUNT of queries, the default is 2.
- delay: delay 1 per AMOUNT of queries for DURATION, the default for AMOUNT is 2 and the default for DURATION is 100ms.
In case of a zone transfer and truncate the final SOA record isn't added to the response.
Ready
This plugin reports readiness to the ready plugin.
Examples
example.org {
    erratic {
        drop 3
    }
}
Or even shorter if the defaults suit you. Note this only drops queries, it does not delay them.
example.org {
    erratic
}
Delay 1 in 3 queries for 50ms
example.org {
    erratic {
        delay 3 50ms
    }
}
Delay 1 in 3 and truncate 1 in 5.
example.org {
    erratic {
        delay 3 5ms
        truncate 5
    }
}
Drop every second query.
example.org {
    erratic {
        drop 2
        truncate 2
    }
}