Skip to content

[WIP] Add VictoriaMetrics Charts - #909

Draft
methylDragon wants to merge 8 commits into
mainfrom
ch3/victoria-metrics
Draft

[WIP] Add VictoriaMetrics Charts#909
methylDragon wants to merge 8 commits into
mainfrom
ch3/victoria-metrics

Conversation

@methylDragon

Copy link
Copy Markdown
Contributor

This is just an all encompassing PR to show what I'm doing. To make it easier to review I'll break it up into a stack eventually.

methylDragon and others added 8 commits August 19, 2026 14:44
Extract Grafana from the Prometheus application, enabling it to be
deployed and managed independently.

#### Why

Previously, Grafana was deployed as a component of the Prometheus
operator chart, which tightly coupled its lifecycle and configuration
to Prometheus. This change decouples Grafana, allowing for:

-   **Independent Management:** Grafana can now be configured, deployed,
    and updated separately from Prometheus.
-   **Clearer Ownership:** Grafana resources are now owned by its own
    dedicated application definition.
-   **Reduced Conflicts:** Explicitly disables Grafana within the
    Prometheus chart and ensures CRD ownership is handled correctly,
    preventing resource conflicts.

#### The code changes include:

-   Adding a new `grafana` application definition under `src/app_charts`.
-   Moving Grafana's HTTPRoute and Ingress configurations to the new app.
-   Configuring the standalone Grafana to use the `kube-prometheus-stack`
    Helm chart, but with only Grafana components enabled.
-   Disabling Grafana within the `prometheus` application's chart.

Signed-off-by: methylDragon <methylDragon@intrinsic.ai>
Introduces VictoriaMetrics as a new telemetry stack for collecting,
storing, and alerting on metrics, with a focus on domain-specific
deployments.

#### Why

This change provides a scalable and robust observability solution by:

-   **Isolating Telemetry Domains:** Separates 'robot metrics' (originating
    from physical edge devices) from 'cloud metrics' (from cloud
    infrastructure and microservices) into distinct VictoriaMetrics
    deployments. This enables tailored scaling, retention, and alerting
    for each data domain.
-   **Enabling Edge-to-Cloud Flow:** Deploys lightweight `vmagent` on
    edge robots to scrape local metrics and securely `remoteWrite` them
    to a dedicated VictoriaMetrics cluster in the cloud.
-   **Enhancing Configurability:** Integrates extensive Helm templating
    to allow fine-grained control over all VictoriaMetrics components,
    including resources, replication, monitoring selectors, remote write
    endpoints, and service account annotations.
-   **Prometheus Compatibility:** Updates the existing Prometheus chart to
    support dynamic overrides for `serviceMonitorSelector` and
    `podMonitorSelector`, facilitating a smoother transition or
    coexistence with VictoriaMetrics.

#### The code changes include:

-   Adding new `victoriametrics-robotmetrics` and
    `victoriametrics-cloudmetrics` application definitions.
-   Integrating the `victoria-metrics-k8s-stack` third-party Helm chart.
-   Implementing Go templating post-processors to inject dynamic
    configuration into the rendered VictoriaMetrics manifests.
-   Defining separate cloud and robot deployment configurations for
    `victoriametrics-robotmetrics`, including a dedicated `remoteWrite`
    ingress for robot agents.
-   Adding a `smartctl-exporter` for robot disk health monitoring.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants