8 Commits
Author SHA1 Message Date
rmcguire 211d833489 fix dashboard
Build and Publish / go-binaries (push) Has been skipped
Build and Publish / helm-release (push) Successful in 18s
Build and Publish / container-images (push) Has been skipped
Build and Publish / check-chart (push) Successful in 9s
2026-07-05 21:02:45 -04:00
rmcguire b84cef01f4 fix dashboard 2026-07-05 20:53:39 -04:00
rmcguire 307d31491e fix dashboard
Build and Publish / container-images (push) Has been skipped
Build and Publish / check-chart (push) Successful in 12s
Build and Publish / go-binaries (push) Has been skipped
Build and Publish / helm-release (push) Successful in 18s
2026-07-05 20:44:45 -04:00
rmcguire 39424ce663 upgrade hull version to support helm4
Build and Publish / go-binaries (push) Has been skipped
Build and Publish / container-images (push) Has been skipped
Build and Publish / check-chart (push) Successful in 31s
Build and Publish / helm-release (push) Successful in 17s
2026-07-05 20:33:42 -04:00
rmcguire e9cdc1435e update ci deps
Build and Publish / check-chart (push) Successful in 32s
Build and Publish / helm-release (push) Failing after 32s
Build and Publish / go-binaries (push) Has been skipped
Build and Publish / container-images (push) Has been skipped
2026-07-05 17:37:40 -04:00
rmcguire a2faf4d412 update ci deps 2026-07-05 17:37:29 -04:00
rmcguire b8e2c2c064 update checkout action
Build and Publish / go-binaries (push) Has been skipped
Build and Publish / container-images (push) Has been skipped
Build and Publish / check-chart (push) Successful in 12s
Build and Publish / helm-release (push) Has been skipped
2026-07-05 17:35:13 -04:00
rmcguire defd5b861c add grafana dashboard
Build and Publish / container-images (push) Has been skipped
Build and Publish / go-binaries (push) Has been skipped
Build and Publish / check-chart (push) Failing after 32s
Build and Publish / helm-release (push) Has been skipped
2026-07-05 17:30:30 -04:00
7 changed files with 1372 additions and 7 deletions
+5 -5
View File
@@ -25,12 +25,12 @@ jobs:
if: startsWith(github.ref, 'refs/tags/v') # Only run on tag push
steps:
- name: Checkout Code
uses: actions/checkout@v4
uses: actions/checkout@v7
- name: Set up Go Environment
uses: actions/setup-go@v4
with:
go-version: '1.24'
go-version: '1.26'
- name: Build Binary
run: make build
@@ -72,7 +72,7 @@ jobs:
if: startsWith(github.ref, 'refs/tags/v') # Only run on tag push
steps:
- name: Checkout Code
uses: actions/checkout@v4
uses: actions/checkout@v7
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
@@ -102,7 +102,7 @@ jobs:
outputs:
chart-updated: ${{ steps.filter.outputs.chart }}
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v7
- name: Check Chart Changed
uses: dorny/paths-filter@v3
id: filter
@@ -118,7 +118,7 @@ jobs:
if: ${{ needs.check-chart.outputs.chart-updated == 'true' }}
steps:
- name: Checkout Code
uses: actions/checkout@v4
uses: actions/checkout@v7
- name: Install Helm
env:
+13
View File
@@ -4,6 +4,19 @@ All notable changes to econet-exporter are documented here. The format is
based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/), and this
project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
## [Unreleased]
### Added
* Optional Grafana dashboard shipped as a ConfigMap in the Helm chart. Enable
with `hull.config.settings.grafanaDashboard.enabled=true`; the ConfigMap is
labeled `grafana_dashboard: "1"` for the Grafana sidecar to auto-import. The
dashboard uses the default Prometheus datasource (no hard-coded UID) and has a
multi-select `Device` filter driven by `econet_friendly_name`. Covers connect/
heating/mode/setpoint/hot-water/alerts, setpoint range, hot-water availability,
energy + cost + water usage, a heating-state timeline, WiFi signal, and a
device-info table. Sidecar label/value and Grafana folder are configurable.
## [v0.3.0] - 2026-07-05
### Changed
+16
View File
@@ -58,6 +58,22 @@ Polled usage: `econet_energy_usage_kwh`, `econet_water_usage_gallons`,
> Note: `econet_wifi_signal_db` is only delivered over Rheem's MQTT push stream,
> which this exporter does not use — it stays at `0`.
### 📈 Grafana dashboard
The Helm chart ships a ready-made Grafana dashboard
(`helm/dashboards/econet-exporter.json`). It is **off by default**; enable it by
setting `hull.config.settings.grafanaDashboard.enabled=true`, which renders a
ConfigMap labeled `grafana_dashboard: "1"` for the [Grafana sidecar](https://github.com/grafana/helm-charts/tree/main/charts/grafana#sidecar-for-dashboards)
to auto-import. The dashboard uses the **default Prometheus datasource** (no
hard-coded UID) and has a multi-select **Device** filter backed by
`econet_friendly_name`. Tunables under `grafanaDashboard`: `label` / `labelValue`
(match your sidecar's watch config) and `folder` (target Grafana folder).
```sh
helm upgrade --install econet ./helm \
--set hull.config.settings.grafanaDashboard.enabled=true
```
## 📂 Project Structure
- `proto/econet/v1alpha1/` - Protobuf definitions (source).
- `api/econet/v1alpha1/` - Generated proto, grpc, grpc-gateway code.
+2 -2
View File
@@ -15,7 +15,7 @@ type: application
# This is the chart version. This version number should be incremented each time you make changes
# to the chart and its templates, including the app version.
# Versions are expected to follow Semantic Versioning (https://semver.org/)
version: 0.1.6
version: 0.2.4
# This is the version number of the application being deployed. This version number should be
# incremented each time you make changes to the application. Versions are not expected to
@@ -26,5 +26,5 @@ appVersion: "v0.3.0"
dependencies:
- name: hull
repository: https://vidispine.github.io/hull
version: 1.32.2
version: 1.36.0
File diff suppressed because it is too large Load Diff
+20
View File
@@ -0,0 +1,20 @@
{{- $gd := .Values.hull.config.settings.grafanaDashboard | default dict }}
{{- if $gd.enabled }}
apiVersion: v1
kind: ConfigMap
metadata:
name: {{ .Release.Name }}-grafana-dashboard
namespace: {{ .Release.Namespace }}
labels:
app.kubernetes.io/name: {{ .Chart.Name }}
app.kubernetes.io/instance: {{ .Release.Name }}
{{- /* Label the Grafana sidecar watches for to auto-import dashboards */}}
{{ $gd.label | default "grafana_dashboard" }}: {{ $gd.labelValue | default "1" | quote }}
{{- with $gd.folder }}
annotations:
grafana_folder: {{ . | quote }}
{{- end }}
data:
econet-exporter.json: |-
{{ .Files.Get "dashboards/econet-exporter.json" | indent 4 }}
{{- end }}
+12
View File
@@ -58,6 +58,18 @@ hull:
otelResourceAttributes: app=econet-exporter
otlpEndpoint: http://otel.otel.svc.cluster.local:4317 # Replace me
# Ship a ready-made Grafana dashboard as a ConfigMap for the Grafana
# sidecar to auto-import (kiwigrid/k8s-sidecar). Flip enabled to true;
# the dashboard uses the default Prometheus datasource and filters by
# device name. No datasource UID hard-coding required.
grafanaDashboard:
enabled: false
# Label/value the Grafana sidecar is configured to watch for.
label: grafana_dashboard
labelValue: "1"
# Optional Grafana folder to file the dashboard under (blank = General).
folder: ""
serviceType: ClusterIP
serviceLbIP: "" # Used if serviceTyps=LoadBalancer