fix(docs): pin chart version in Helm install snippets#82
Conversation
…n Helm chart The Helm chart ClusterRole listed `events` under read-only core resources with only get/list/watch verbs. Controllers use EventRecorder which requires create and patch, causing "events is forbidden" errors at runtime. The Helm-shipped ZelyoConfig CRD was also missing the `llmKeyStatus` and `llmKeyLastVerified` status fields that the controller writes, causing "unknown field" warnings and a reconcile loop on every startup. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
…nding Add a full multi-page SPA dashboard served from port 8080, embedded in the Go binary via //go:embed. The dashboard reads CRD data from the informer cache and pushes live updates via SSE. Backend: - Inject controller-runtime client.Client into dashboard server - 9 REST API endpoints: overview, policies, scans, reports, cloud, compliance, settings, health, SSE events - 30-second heartbeat goroutine for overview auto-refresh - Security score computed from latest scan report severity counts Frontend (vanilla HTML/CSS/JS, no build step): - Dark theme matching Zelyo brand (navy bg, blue-cyan gradient, pink accent) - Hash-based SPA router with 6 pages: Overview, Policies, Scans, Cloud Security, Compliance, Settings - SVG chart utilities (donut, bar, progress ring) - EventSource SSE client with per-page live update handlers - Responsive layout with collapsible sidebar Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
The installation snippets in README.md and docs/quickstart.md ran `helm install ... oci://ghcr.io/zelyo-ai/charts/...` with no --version flag. OCI registries have no "latest" alias, so every user following the copy-paste snippet hit: Error: INSTALLATION FAILED: could not locate a version matching provided version string Add --version "$ZELYO_VERSION" to each helm install call and a note pointing users at the releases page so they can substitute the current tag. This was found while auditing zelyo-operator-demo/setup.sh, which was failing at Step 2 for the same reason. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
📝 WalkthroughWalkthroughUpdated installation documentation for the Zelyo Helm charts to enforce explicit version pinning for OCI-hosted deployments. Added Changes
Estimated code review effort🎯 1 (Trivial) | ⏱️ ~3 minutes Poem
🚥 Pre-merge checks | ✅ 3✅ Passed checks (3 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
There was a problem hiding this comment.
Code Review
This pull request introduces a comprehensive, dark-themed single-page dashboard for the Zelyo Operator, enabling real-time monitoring of security policies, cluster scans, and cloud account security. Key changes include the implementation of a REST API with Server-Sent Events (SSE) for live updates, the embedding of frontend assets, and updates to the Helm charts and documentation to enforce chart version pinning. The review feedback identifies several critical frontend issues, such as undefined CSS variables and hardcoded API paths that could break under custom base path configurations. Additionally, there are recommendations to improve backend performance by optimizing how scan reports are fetched and to resolve data inconsistencies between policy violations and scan summaries.
There was a problem hiding this comment.
Actionable comments posted: 1
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Inline comments:
In `@README.md`:
- Around line 88-90: Update the README declaration for ZELYO_VERSION so it
matches the shell-export form used elsewhere: change the plain assignment
"ZELYO_VERSION=1.0.0-alpha3" to an exported variable "export
ZELYO_VERSION=1.0.0-alpha3" (ensure the exact variable name ZELYO_VERSION is
used and the value remains unchanged) so the environment variable is available
to child processes and consistent with docs/quickstart.md.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: defaults
Review profile: CHILL
Plan: Pro Plus
Run ID: 50cb7ebc-2d3d-403a-b7bb-965891222e4d
📒 Files selected for processing (2)
README.mddocs/quickstart.md
Summary
helm install ... oci://ghcr.io/zelyo-ai/charts/...snippet in the docs was missing--version. OCI registries have no "latest" alias, so copy-pasting from the README failed withINSTALLATION FAILED: could not locate a version matching provided version stringfor every user.--version "$ZELYO_VERSION"to the 2 installs inREADME.mdand all 5 installs indocs/quickstart.md, plus a short note at the top of each install block pointing readers at the releases page to pick the current tag.1.0.0-alpha3(the current pre-release).Discovered while auditing
zelyo-operator-demo/setup.sh, which was failing at Step 2 with the same root cause.Out of scope — flagging for follow-up
Same bug also appears in:
--version v0.0.1, which is not a real tag (OCI tags have novprefix in this repo)config/DEPRECATED.md— file is marked deprecated so may be intentionalHappy to extend this PR or do a follow-up — didn't want to scope-creep.
Test plan
helm install zelyo-operator oci://ghcr.io/zelyo-ai/charts/zelyo-operator --dry-run=client→could not locate a version matching provided version stringZELYO_VERSION=1.0.0-alpha3 helm install zelyo-operator oci://ghcr.io/zelyo-ai/charts/zelyo-operator --version "\$ZELYO_VERSION" --dry-run=client→ renders successfullyzelyo-policieschartZELYO_VERSIONvalue is the tag we want to advertise (currently1.0.0-alpha3)🤖 Generated with Claude Code
Summary by CodeRabbit
latestalias is available. All Helm install commands now include the--versionflag with version variable support for improved clarity and reproducibility during setup.