<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Providers on gNMIc Operator</title><link>https://b1b60903.gnmic-operator2.pages.dev/docs/user-guide/targetsource/providers/</link><description>Recent content in Providers on gNMIc Operator</description><generator>Hugo</generator><language>en-us</language><atom:link href="https://b1b60903.gnmic-operator2.pages.dev/docs/user-guide/targetsource/providers/index.xml" rel="self" type="application/rss+xml"/><item><title>HTTP</title><link>https://b1b60903.gnmic-operator2.pages.dev/docs/user-guide/targetsource/providers/http/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://b1b60903.gnmic-operator2.pages.dev/docs/user-guide/targetsource/providers/http/</guid><description>&lt;p>The general-purpose provider, and the escape hatch for everything not built in.&lt;/p>
&lt;h2 id="basic-configuration">Basic configuration&lt;/h2>
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-yaml" data-lang="yaml">&lt;span style="display:flex;">&lt;span>&lt;span style="color:#f92672">apiVersion&lt;/span>: &lt;span style="color:#ae81ff">operator.gnmic.dev/v1alpha1&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#f92672">kind&lt;/span>: &lt;span style="color:#ae81ff">TargetSource&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#f92672">metadata&lt;/span>:
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">name&lt;/span>: &lt;span style="color:#ae81ff">inventory&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#f92672">spec&lt;/span>:
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">interval&lt;/span>: &lt;span style="color:#ae81ff">5m&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">source&lt;/span>:
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">type&lt;/span>: &lt;span style="color:#ae81ff">HTTP&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">http&lt;/span>:
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">url&lt;/span>: &lt;span style="color:#ae81ff">https://inventory.example.com/api/devices&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">auth&lt;/span>:
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">token&lt;/span>:
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">secretRef&lt;/span>: { &lt;span style="color:#f92672">name: inventory, key&lt;/span>: &lt;span style="color:#ae81ff">token }&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">mapping&lt;/span>:
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">items&lt;/span>: &lt;span style="color:#ae81ff">self.results&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">name&lt;/span>: &lt;span style="color:#ae81ff">item.hostname&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">address&lt;/span>: &lt;span style="color:#ae81ff">item.mgmt_ip&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">target&lt;/span>:
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">profile&lt;/span>: &lt;span style="color:#ae81ff">default&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>When the endpoint already returns the &lt;a href="../#the-native-list">native list&lt;/a>, omit
&lt;code>mapping&lt;/code> entirely.&lt;/p>
&lt;h2 id="fields">Fields&lt;/h2>
&lt;table>
 &lt;thead>
 &lt;tr>
 &lt;th>Field&lt;/th>
 &lt;th>Type&lt;/th>
 &lt;th>Default&lt;/th>
 &lt;th>Description&lt;/th>
 &lt;/tr>
 &lt;/thead>
 &lt;tbody>
 &lt;tr>
 &lt;td>&lt;code>url&lt;/code>&lt;/td>
 &lt;td>string&lt;/td>
 &lt;td>required&lt;/td>
 &lt;td>Must start with &lt;code>http://&lt;/code> or &lt;code>https://&lt;/code>.&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>&lt;code>method&lt;/code>&lt;/td>
 &lt;td>string&lt;/td>
 &lt;td>&lt;code>GET&lt;/code>&lt;/td>
 &lt;td>&lt;code>GET&lt;/code> or &lt;code>POST&lt;/code>.&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>&lt;code>body&lt;/code>&lt;/td>
 &lt;td>string&lt;/td>
 &lt;td>&lt;/td>
 &lt;td>Sent with &lt;code>POST&lt;/code> only.&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>&lt;code>headers&lt;/code>&lt;/td>
 &lt;td>map&lt;/td>
 &lt;td>&lt;/td>
 &lt;td>Added to every request. Headers set by &lt;code>auth&lt;/code> win.&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>&lt;code>auth&lt;/code>&lt;/td>
 &lt;td>object&lt;/td>
 &lt;td>&lt;/td>
 &lt;td>One of &lt;code>basic&lt;/code>, &lt;code>token&lt;/code>, &lt;code>header&lt;/code>. See below.&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>&lt;code>tls&lt;/code>&lt;/td>
 &lt;td>object&lt;/td>
 &lt;td>&lt;/td>
 &lt;td>For &lt;code>https&lt;/code> URLs. See below.&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>&lt;code>mapping&lt;/code>&lt;/td>
 &lt;td>object&lt;/td>
 &lt;td>&lt;/td>
 &lt;td>How to read a document that is not the native list. See below.&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>&lt;code>pagination&lt;/code>&lt;/td>
 &lt;td>object&lt;/td>
 &lt;td>&lt;/td>
 &lt;td>How to follow a multi-page response. See below.&lt;/td>
 &lt;/tr>
 &lt;/tbody>
&lt;/table>
&lt;p>The request deadline is the &lt;code>TargetSource&lt;/code>&amp;rsquo;s &lt;code>timeout&lt;/code>, for all pages together.&lt;/p></description></item><item><title>Static</title><link>https://b1b60903.gnmic-operator2.pages.dev/docs/user-guide/targetsource/providers/static/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://b1b60903.gnmic-operator2.pages.dev/docs/user-guide/targetsource/providers/static/</guid><description>&lt;p>An inline inventory. It exists so a small fixed lab needs no second resource, and so
the naming, pruning and conflict behaviour can be tried without any external system.&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-yaml" data-lang="yaml">&lt;span style="display:flex;">&lt;span>&lt;span style="color:#f92672">apiVersion&lt;/span>: &lt;span style="color:#ae81ff">operator.gnmic.dev/v1alpha1&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#f92672">kind&lt;/span>: &lt;span style="color:#ae81ff">TargetSource&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#f92672">metadata&lt;/span>:
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">name&lt;/span>: &lt;span style="color:#ae81ff">lab&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#f92672">spec&lt;/span>:
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">source&lt;/span>:
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">type&lt;/span>: &lt;span style="color:#ae81ff">Static&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">static&lt;/span>:
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">devices&lt;/span>:
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> - &lt;span style="color:#f92672">name&lt;/span>: &lt;span style="color:#ae81ff">leaf1&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">address&lt;/span>: &lt;span style="color:#ae81ff">10.0.0.1&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> - &lt;span style="color:#f92672">name&lt;/span>: &lt;span style="color:#ae81ff">leaf2&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">address&lt;/span>: &lt;span style="color:#ae81ff">10.0.0.2&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">port&lt;/span>: &lt;span style="color:#ae81ff">57401&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">profile&lt;/span>: &lt;span style="color:#ae81ff">srlinux&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">labels&lt;/span>: { &lt;span style="color:#f92672">role&lt;/span>: &lt;span style="color:#ae81ff">leaf }&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">target&lt;/span>:
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">port&lt;/span>: &lt;span style="color:#ae81ff">57400&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">profile&lt;/span>: &lt;span style="color:#ae81ff">default&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;table>
 &lt;thead>
 &lt;tr>
 &lt;th>Field&lt;/th>
 &lt;th>Type&lt;/th>
 &lt;th>Description&lt;/th>
 &lt;/tr>
 &lt;/thead>
 &lt;tbody>
 &lt;tr>
 &lt;td>&lt;code>devices[].name&lt;/code>&lt;/td>
 &lt;td>string&lt;/td>
 &lt;td>Required.&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>&lt;code>devices[].address&lt;/code>&lt;/td>
 &lt;td>string&lt;/td>
 &lt;td>Required. An IP or hostname without a port.&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>&lt;code>devices[].port&lt;/code>&lt;/td>
 &lt;td>int&lt;/td>
 &lt;td>Overrides &lt;code>target.port&lt;/code> for this device.&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>&lt;code>devices[].profile&lt;/code>&lt;/td>
 &lt;td>string&lt;/td>
 &lt;td>Overrides &lt;code>target.profile&lt;/code> for this device.&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>&lt;code>devices[].labels&lt;/code>&lt;/td>
 &lt;td>map&lt;/td>
 &lt;td>Added to the &lt;code>Target&lt;/code>.&lt;/td>
 &lt;/tr>
 &lt;/tbody>
&lt;/table>
&lt;p>Editing the list is a spec change and triggers a run at once.&lt;/p></description></item><item><title>ConfigMap and Secret</title><link>https://b1b60903.gnmic-operator2.pages.dev/docs/user-guide/targetsource/providers/configmap/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://b1b60903.gnmic-operator2.pages.dev/docs/user-guide/targetsource/providers/configmap/</guid><description>&lt;p>The in-cluster inventory: a list maintained by a human, by CI, or by a job that exports
from somewhere else. A system that used to push targets into the operator should write a
ConfigMap instead and point a &lt;code>TargetSource&lt;/code> at it.&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-yaml" data-lang="yaml">&lt;span style="display:flex;">&lt;span>&lt;span style="color:#f92672">apiVersion&lt;/span>: &lt;span style="color:#ae81ff">v1&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#f92672">kind&lt;/span>: &lt;span style="color:#ae81ff">ConfigMap&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#f92672">metadata&lt;/span>:
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">name&lt;/span>: &lt;span style="color:#ae81ff">lab-devices&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#f92672">data&lt;/span>:
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">devices.yaml&lt;/span>: |&lt;span style="color:#e6db74">
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#e6db74"> - name: leaf1
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#e6db74"> address: 10.0.0.1
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#e6db74"> - name: leaf2
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#e6db74"> address: 10.0.0.2
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#e6db74"> labels:
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#e6db74"> role: leaf&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>---
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#f92672">apiVersion&lt;/span>: &lt;span style="color:#ae81ff">operator.gnmic.dev/v1alpha1&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#f92672">kind&lt;/span>: &lt;span style="color:#ae81ff">TargetSource&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#f92672">metadata&lt;/span>:
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">name&lt;/span>: &lt;span style="color:#ae81ff">lab&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#f92672">spec&lt;/span>:
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">source&lt;/span>:
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">type&lt;/span>: &lt;span style="color:#ae81ff">ConfigMap&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">configMap&lt;/span>:
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">name&lt;/span>: &lt;span style="color:#ae81ff">lab-devices&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">key&lt;/span>: &lt;span style="color:#ae81ff">devices.yaml&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">target&lt;/span>:
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">profile&lt;/span>: &lt;span style="color:#ae81ff">default&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>&lt;code>type: Secret&lt;/code> has the same shape under &lt;code>secret:&lt;/code>. Use it when the document must not be
readable by everyone who can read ConfigMaps.&lt;/p></description></item></channel></rss>