<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>dnspropagation</title><link>https://dnspropagation.berka.dev/</link><description>Recent content on dnspropagation</description><generator>Hugo</generator><language>en-us</language><atom:link href="https://dnspropagation.berka.dev/index.xml" rel="self" type="application/rss+xml"/><item><title>Features</title><link>https://dnspropagation.berka.dev/docs/features/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://dnspropagation.berka.dev/docs/features/</guid><description>&lt;h1 id="features"&gt;Features&lt;a class="anchor" href="#features"&gt;#&lt;/a&gt;&lt;/h1&gt;
&lt;h2 id="basic-usage"&gt;Basic Usage&lt;a class="anchor" href="#basic-usage"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;dnspropagation [OPTIONS] TYPE DOMAIN&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;code&gt;TYPE&lt;/code&gt; is any DNS record type (A, AAAA, TXT, MX, CNAME, CAA, …). It is case-insensitive. &lt;code&gt;DOMAIN&lt;/code&gt; is stripped of any protocol, port, or path — &lt;code&gt;https://example.com:443/path&lt;/code&gt; is treated as &lt;code&gt;example.com&lt;/code&gt;.&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="output-formats"&gt;Output Formats&lt;a class="anchor" href="#output-formats"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;h3 id="table-default"&gt;Table (default)&lt;a class="anchor" href="#table-default"&gt;#&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;Prints a colour-coded PrettyTable to stdout. Answers matching &lt;code&gt;--expected&lt;/code&gt; are green, mismatches are red, empty answers are yellow, and timeouts are red.&lt;/p&gt;
&lt;h3 id="--json"&gt;&lt;code&gt;--json&lt;/code&gt;&lt;a class="anchor" href="#--json"&gt;#&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;Outputs a JSON array. Each element represents one server:&lt;/p&gt;</description></item><item><title>Use in Pipelines</title><link>https://dnspropagation.berka.dev/docs/pipelines/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://dnspropagation.berka.dev/docs/pipelines/</guid><description>&lt;h1 id="use-in-pipelines"&gt;Use in Pipelines&lt;a class="anchor" href="#use-in-pipelines"&gt;#&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;dnspropagation is designed to integrate cleanly into shell scripts and CI/CD pipelines. Machine-readable output, predictable exit codes, and an assertion mode make it straightforward to gate a deployment or validate a DNS change.&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="exit-codes"&gt;Exit Codes&lt;a class="anchor" href="#exit-codes"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Code&lt;/th&gt;
 &lt;th&gt;Meaning&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;0&lt;/td&gt;
 &lt;td&gt;Success&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;1&lt;/td&gt;
 &lt;td&gt;Missing required arguments (TYPE or DOMAIN)&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;2&lt;/td&gt;
 &lt;td&gt;NXDOMAIN — domain does not exist&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;3&lt;/td&gt;
 &lt;td&gt;No servers matched the specified filters&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;5&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;--expected&lt;/code&gt; mismatch — at least one server returned an unexpected answer&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;10&lt;/td&gt;
 &lt;td&gt;Local file not found (&lt;code&gt;--custom_list&lt;/code&gt; or &lt;code&gt;--file&lt;/code&gt;)&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;11&lt;/td&gt;
 &lt;td&gt;Unsupported URL scheme (only &lt;code&gt;http&lt;/code&gt;/&lt;code&gt;https&lt;/code&gt; allowed)&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;12&lt;/td&gt;
 &lt;td&gt;Remote file exceeds the 1 MB size limit&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;13&lt;/td&gt;
 &lt;td&gt;Network error fetching remote list&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;14&lt;/td&gt;
 &lt;td&gt;YAML syntax error or non-UTF-8 response&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;15&lt;/td&gt;
 &lt;td&gt;HTTP error response from remote server (4xx / 5xx)&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;16&lt;/td&gt;
 &lt;td&gt;Server list schema validation failure&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;hr&gt;
&lt;h2 id="asserting-dns-values"&gt;Asserting DNS Values&lt;a class="anchor" href="#asserting-dns-values"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Use &lt;code&gt;--expected&lt;/code&gt; to turn dnspropagation into a pass/fail check. If every queried server returns one of the expected values the exit code is 0; if any server returns something different the exit code is 5.&lt;/p&gt;</description></item></channel></rss>