Skip to content

HyperDX Dashboard Provisioner#190

Open
ZeynelKoca wants to merge 2 commits intoClickHouse:mainfrom
ZeynelKoca:inject-json-dashboards
Open

HyperDX Dashboard Provisioner#190
ZeynelKoca wants to merge 2 commits intoClickHouse:mainfrom
ZeynelKoca:inject-json-dashboards

Conversation

@ZeynelKoca
Copy link

Summary

  • Add dashboard provisioning via Helm hook Job that upserts exported HyperDX dashboard JSON directly into MongoDB on install/upgrade
  • Dashboards are matched by name for idempotency (existing dashboards are updated, new ones are created, none are deleted)
  • Users provide dashboard JSON inline in values or via --set-file, enabling GitOps workflows

Design decisions

  • MongoDB direct insert (not API): The HyperDX external API requires a per-user access key that isn't available at deploy time. Direct MongoDB upsert avoids auth complexity and is more reliable for automated provisioning.
  • Helm hook Job (not sidecar/init container): Dashboards only need provisioning once per deploy. The Job runs post-install/post-upgrade when MongoDB and the team document are guaranteed to exist, then auto-cleans up on success.
  • JS file for mongosh: The provisioning script is written to a temp file to avoid shell/Helm template escaping issues with MongoDB operators ($set, $setOnInsert).
  • ConfigMap as hook: Hook resources can only reference other hook resources, so the dashboard ConfigMap must also be a hook (pre-install/pre-upgrade) to be available when the post-install Job mounts it.

@changeset-bot
Copy link

changeset-bot bot commented Mar 13, 2026

🦋 Changeset detected

Latest commit: 752d6a5

The changes in this PR will be included in the next version bump.

Not sure what this means? Click here to learn what changesets are.

Click here if you're a maintainer who wants to add another changeset to this PR

@CLAassistant
Copy link

CLAassistant commented Mar 13, 2026

CLA assistant check
All committers have signed the CLA.

@ZeynelKoca
Copy link
Author

Implements feature request #170

@ZeynelKoca ZeynelKoca force-pushed the inject-json-dashboards branch from 0243f23 to 752d6a5 Compare March 13, 2026 12:36
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