# Architecture

## Components

Untab consists of an agent and a web based UI. The agent collects relevant data from the Kubernetes clusters and forwards it to the Untab backed. Once the data is processed, the reports are available via the web portal at <https://app.untab.io>

![](/files/-LjwomWOa_vWsp4xp3_z)

## Untab Agent&#x20;

The Untab agent is a set of containers which collect metrics and other information from each cluster and relay them to Untab for processing.

![](/files/-LjsIQiRh2cbadNDTtk4)

It is comprised of the following components:

* **The agent.** The agent collects event information from your Kubernetes [API server](https://kubernetes.io/docs/reference/command-line-tools-reference/kube-apiserver/). If you run in a cloud provider and set up read access for Untab, the agent will also query the cloud provider for additional information about nodes and volumes.
* [**node\_exporter**](https://github.com/prometheus/node_exporter)**.** This is a DaemonSet (meaning that it runs a pod on each node) which collects node-level metrics.
* [**kube-state-metrics**](https://github.com/kubernetes/kube-state-metrics)**.** This is a third-party container that monitors the Kubernetes API server and reports various information about the cluster as Prometheus metrics. Untab uses this information to render the live report.
* [**Prometheus**](https://prometheus.io/)**.** This is a specially configured instance of Prometheus. It is set up to fetch metrics from the node\_exporter, kube-state-metrics, and relay them to Untab.

By default, the agent and the required components run in the namespace `untab`.  If the namespace does not exist, the agent manifest will create one. All the required components are deployed and configured using the provided Untab agent manifest.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.untab.io/architecture.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
