mirror of
				https://github.com/coredns/coredns.git
				synced 2025-10-31 02:03:20 -04:00 
			
		
		
		
	* kubernetes/reverse: remove deadcode * deadcode in errors and kubernetes removed * unnecessary conversion * constants * proxy: time.Since() * simplications * static check * Disable test/external_test
erratic
erratic is a middleware useful for testing client behavior. It returns a static response to all queries, but the responses can be delayed, dropped or truncated.
The erratic middleware will respond to every A or AAAA query. For any other type it will return a SERVFAIL response. The reply for A will return 192.0.2.53 (see RFC 5737), for AAAA it returns 2001:DB8::53 (see RFC 3849).
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.
Examples
.:53 {
    erratic {
        drop 3
    }
}
Or even shorter if the defaults suits you. Note this only drops queries, it does not delay them.
. {
    erratic
}
Delay 1 in 3 queries for 50ms
. {
    erratic {
        delay 3 50ms
    }
}
Delay 1 in 3 and truncate 1 in 5.
. {
    erratic {
        delay 3 5ms
        truncate 5
    }
}
Drop every second query.
. {
    erratic {
        drop 2
        truncate 2
    }
}