<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Concepts on gNMIc Operator</title><link>https://fbe70dc2.gnmic-operator2.pages.dev/docs/concepts/</link><description>Recent content in Concepts on gNMIc Operator</description><generator>Hugo</generator><language>en-us</language><atom:link href="https://fbe70dc2.gnmic-operator2.pages.dev/docs/concepts/index.xml" rel="self" type="application/rss+xml"/><item><title>Architecture</title><link>https://fbe70dc2.gnmic-operator2.pages.dev/docs/concepts/architecture/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://fbe70dc2.gnmic-operator2.pages.dev/docs/concepts/architecture/</guid><description>&lt;h2 id="overview">Overview&lt;/h2>
&lt;p>The gNMIc Operator follows the Kubernetes operator pattern to manage gNMIc telemetry collectors. It watches Custom Resources and reconciles the actual state with the desired state.&lt;/p>
&lt;h2 id="components">Components&lt;/h2>
&lt;p>This diagram illustrates how the gNMIc Operator orchestrates gNMIc deployments inside a Kubernetes cluster by reconciling Custom Resources into concrete Kubernetes primitives and gNMIc configurations.&lt;/p>
&lt;p>At the core, the Cluster Controller watches a set of CRDs.
It uses their desired state to create and manage resources like ConfigMaps, Secrets, Services, and a StatefulSet.
The StatefulSet, together with the associated Services, materializes as multiple gNMIc pods (e.. gnmic-0, gnmic-1, gnmic-2), each responsible for a subset of targets.&lt;/p></description></item><item><title>Resource Model</title><link>https://fbe70dc2.gnmic-operator2.pages.dev/docs/concepts/resource-model/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://fbe70dc2.gnmic-operator2.pages.dev/docs/concepts/resource-model/</guid><description>&lt;h2 id="overview">Overview&lt;/h2>
&lt;p>The gNMIc Operator uses a set of Custom Resource Definitions (CRDs) to model telemetry infrastructure. The resources are designed to be composable and reusable.&lt;/p>
&lt;h2 id="resource-hierarchy">Resource Hierarchy&lt;/h2>
&lt;a>
 &lt;img src="https://fbe70dc2.gnmic-operator2.pages.dev/images/resources_model.svg" alt="Resource Model CRD Diagram" style="display:block; margin:auto;">
&lt;/a>
&lt;h2 id="separation-of-concerns">Separation of Concerns&lt;/h2>
&lt;p>Each resource type handles a single concern:&lt;/p>
&lt;table>
 &lt;thead>
 &lt;tr>
 &lt;th>Resource&lt;/th>
 &lt;th>Concern&lt;/th>
 &lt;th>Lifecycle&lt;/th>
 &lt;/tr>
 &lt;/thead>
 &lt;tbody>
 &lt;tr>
 &lt;td>&lt;strong>Cluster&lt;/strong>&lt;/td>
 &lt;td>Infrastructure&lt;/td>
 &lt;td>Where and how to run collectors&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>&lt;strong>Pipeline&lt;/strong>&lt;/td>
 &lt;td>Wiring&lt;/td>
 &lt;td>What connects to what&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>&lt;strong>Target&lt;/strong>&lt;/td>
 &lt;td>Device&lt;/td>
 &lt;td>Network device to collect from&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>&lt;strong>TargetSource&lt;/strong>&lt;/td>
 &lt;td>Discovery&lt;/td>
 &lt;td>Dynamic target discovery&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>&lt;strong>TargetProfile&lt;/strong>&lt;/td>
 &lt;td>Credentials&lt;/td>
 &lt;td>How to authenticate&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>&lt;strong>TunnelTargetPolicy&lt;/strong>&lt;/td>
 &lt;td>Tunnel Matching&lt;/td>
 &lt;td>Rules for tunnel-connected devices&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>&lt;strong>Subscription&lt;/strong>&lt;/td>
 &lt;td>Data&lt;/td>
 &lt;td>What paths to subscribe to&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>&lt;strong>Output&lt;/strong>&lt;/td>
 &lt;td>Destination&lt;/td>
 &lt;td>Where to send data&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>&lt;strong>Input&lt;/strong>&lt;/td>
 &lt;td>Source&lt;/td>
 &lt;td>External data sources&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>&lt;strong>Processor&lt;/strong>&lt;/td>
 &lt;td>Transformation&lt;/td>
 &lt;td>How to transform data&lt;/td>
 &lt;/tr>
 &lt;/tbody>
&lt;/table>
&lt;h2 id="resource-selection">Resource Selection&lt;/h2>
&lt;p>Resources are tied together in two main ways:&lt;/p></description></item></channel></rss>