|
@ -41,4 +41,25 @@ will accept and store first 10KB of the request body.</p> |
|
|
|
|
|
|
|
|
<span class="nv">m</span><span class="o">=</span><span class="k">$(</span>/usr/bin/certbot renew <span class="m">2</span>><span class="p">&</span><span class="m">1</span><span class="k">)</span> |
|
|
<span class="nv">m</span><span class="o">=</span><span class="k">$(</span>/usr/bin/certbot renew <span class="m">2</span>><span class="p">&</span><span class="m">1</span><span class="k">)</span> |
|
|
curl -fsS --retry <span class="m">3</span> -X POST --data-raw <span class="s2">"</span><span class="nv">$m</span><span class="s2">"</span> PING_URL |
|
|
curl -fsS --retry <span class="m">3</span> -X POST --data-raw <span class="s2">"</span><span class="nv">$m</span><span class="s2">"</span> PING_URL |
|
|
|
|
|
</code></pre></div> |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<h2>Auto-provisioning New Checks</h2> |
|
|
|
|
|
<p>This example uses SITE_NAME <a href="../api/">Management API</a> to create a check "on the fly" |
|
|
|
|
|
(if it does not already exist) and to retrieve its ping URL. |
|
|
|
|
|
Using this technique, you can write services that automatically |
|
|
|
|
|
register with SITE_NAME the first time they run.</p> |
|
|
|
|
|
<div class="highlight"><pre><span></span><code><span class="ch">#!/bin/bash</span> |
|
|
|
|
|
|
|
|
|
|
|
<span class="nv">API_KEY</span><span class="o">=</span>your-api-key-here |
|
|
|
|
|
|
|
|
|
|
|
<span class="c1"># Check's parameters. This example uses system's hostname for check's name.</span> |
|
|
|
|
|
<span class="nv">PAYLOAD</span><span class="o">=</span><span class="s1">'{"name": "'</span><span class="sb">`</span>hostname<span class="sb">`</span><span class="s1">'", "timeout": 60, "grace": 60, "unique": ["name"]}'</span> |
|
|
|
|
|
|
|
|
|
|
|
<span class="c1"># Create the check if it does not exist.</span> |
|
|
|
|
|
<span class="c1"># Grab the ping_url from JSON response using the jq utility:</span> |
|
|
|
|
|
<span class="nv">URL</span><span class="o">=</span><span class="sb">`</span>curl -s SITE_ROOT/api/v1/checks/ -H <span class="s2">"X-Api-Key: </span><span class="nv">$API_KEY</span><span class="s2">"</span> -d <span class="s2">"</span><span class="nv">$PAYLOAD</span><span class="s2">"</span> <span class="p">|</span> jq -r .ping_url<span class="sb">`</span> |
|
|
|
|
|
|
|
|
|
|
|
<span class="c1"># Finally, send a ping:</span> |
|
|
|
|
|
curl --retry <span class="m">3</span> <span class="nv">$URL</span> |
|
|
</code></pre></div> |
|
|
</code></pre></div> |