ClickHouse / ClickHouse/ClickStack-helm-charts

Feature Request: ConfigMap-based Dashboard Provisioning (Grafana-style sidecar)

Open
#170 3 comments 5 reactions 0 assignees View on GitHub
Dominant language
Shell
Stars
75
Forks
54
Avg merge
3d 19h
Merged PRs (30d)
7

Description

Feature Request
---------------

### Description

Add support for automatically provisioning dashboards from Kubernetes ConfigMaps, similar to Grafana's sidecar provisioner approach. This would enable GitOps workflows and Infrastructure-as-Code management of HyperDX dashboards.

### Use Case

As a DevOps engineer managing ClickStack on Kubernetes, I want to:

- Store dashboard JSON files in Git alongside my infrastructure code
- Deploy dashboards declaratively via ConfigMaps or Helm values
- Automatically sync dashboard changes without manual UI interaction
- Maintain consistency across multiple environments (dev/staging/prod)

### Proposed Solution

A sidecar container (or init container) that:

1. Watches a ConfigMap or a mounted volume for dashboard JSON files
2. Automatically imports/updates dashboards in HyperDX via the API
3. Optionally supports annotations to control behavior (e.g., folder assignment, overwrite policy)

**Example usage:**

```yaml
apiVersion: v1
kind: ConfigMap
metadata:
name: hyperdx-dashboards
labels:
hyperdx-dashboard: "true"
data:
k8s-overview.json: |
{ "name": "Kubernetes Overview", "charts": [...] }
```

### Alternatives Considered

- Manual import via UI (not scalable, not GitOps-friendly)
- Custom Job/CronJob calling the dashboard API (works but requires custom implementation per deployment)
- Direct MongoDB seeding (fragile, bypasses API validation)

### References

- Grafana sidecar provisioner:
- HyperDX Dashboard API:
- Recent dashboard import/export feature (Sept 2025):

### Environment

- Deployment: Kubernetes (RKE2)
- Helm chart: `clickstack/clickstack`

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.