chore: point this repo's own manifests and docs at the fork - #20
Merged
Conversation
The compose stacks and helm chart still pulled grafana/oncall, and the quickstart installed grafana-oncall-app from the catalog. Following our own README therefore produced the archived engine paired with a plugin that crashes on Grafana 13. - compose (hobby and mysql/rabbitmq): engine images -> ghcr.io/appwrite/grafana-oncall:latest, and GF_INSTALL_PLUGINS points at the plugin archive from our release, overridable via ONCALL_PLUGIN_URL - developer stack: build cache -> our image, dropping the :dev tag we never publish - helm: image.repository -> ghcr.io/appwrite/grafana-oncall, with the test assertion and three rendered snapshots updated to match - helm README: the chart is not published to a helm repository any more, so install it from a checkout rather than grafana/oncall - README: rewrite the header as a list of differences from upstream, so the reason to use this fork is stated rather than implied; fix links that pointed into the archived repo; drop the stargazers chart, which renders a github api error GHCR visibility needed no change: the package is anonymously pullable, so compose works without credentials. Closes #10 Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Greptile SummaryThe PR repoints the repository’s deployment manifests and documentation to Appwrite’s fork and keeps the engine and plugin on one release version.
Confidence Score: 5/5The PR appears safe to merge. No blocking failure remains; the previously reported Compose drift, Helm catalog guidance, and Helm engine/plugin override mismatch are addressed at the current head. Important Files Changed
Reviews (3): Last reviewed commit: "fix: derive the chart's plugin version f..." | Re-trigger Greptile |
Pairing a moving :latest engine with a fixed plugin archive meant every release after v1.19.1 would combine a newer backend with the 1.19.1 frontend, which is exactly the mismatch this PR set out to remove. A single ONCALL_VERSION drives both the engine tag and the plugin archive URL in each compose stack, so they cannot drift; verified by rendering 'docker compose config' with the default and with an override. The chart had the same defect twice over: - appVersion was v1.15.6, which is what image.tag falls back to, so the default install asked our registry for a tag that does not exist. Chart version and appVersion now track the release. - grafana.plugins still listed the catalog id, installing grafana's archived build. It now installs the matching release archive, and the grafana subchart allows the unsigned plugin. Both update sections told users to update the plugin from grafana's plugin page, which cannot work for a plugin that is not in the catalog. They now move ONCALL_VERSION (or grafana.plugins) instead, and note that grafana skips a plugin that is already installed, so the old copy has to be cleared from the volume first. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Hardcoding the archive URL in grafana.plugins meant overriding image.tag
updated the engine while the plugin stayed on 1.19.1 — the same skew as
the compose default, just moved into the chart.
Subchart values cannot be templated, but the grafana chart runs tpl over
envValueFrom, so it can reference a ConfigMap this chart renders. That
ConfigMap builds GF_INSTALL_PLUGINS from the same expression the engine
image uses, so one knob moves both halves:
helm template --set image.tag=v1.20.0
engine ghcr.io/appwrite/grafana-oncall:v1.20.0
plugin .../download/v1.20.0/grafana-oncall-app-1.20.0.zip
The archive name drops the leading v while the tag keeps it, hence the
trimPrefix. The helm README no longer asks anyone to keep two versions in
step by hand.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Closes #10.
Following our own README produced Grafana's archived engine paired with a plugin that crashes on Grafana 13 — the compose stacks and helm chart still pulled
grafana/oncall, and the quickstart installedgrafana-oncall-appfrom the grafana.com catalog.Engine and plugin move together
The engine and plugin are released together and are not meant to be mixed across versions, so each compose stack pins both from one variable:
Verified by rendering the stack, with the default and with an override:
ONCALL_VERSION…:v1.19.1…/v1.19.1/grafana-oncall-app-1.19.1.zip1.20.0…:v1.20.0…/v1.20.0/grafana-oncall-app-1.20.0.zipAn earlier revision of this PR had
:latestfor the engine against a fixed plugin archive, which would have drifted apart on the next release.Images
docker-compose.yml(×3)grafana/oncallghcr.io/appwrite/grafana-oncall:v${ONCALL_VERSION}docker-compose-mysql-rabbitmq.yml(×3)grafana/oncalldocker-compose-developer.ymlcache_fromgrafana's:latestand:dev:latest(we never publish:dev)helm/oncall/values.yamlimage.repository: grafana/oncallghcr.io/appwrite/grafana-oncallGHCR visibility needed no change — the other half of #10. The package is anonymously pullable (verified with an anonymous registry token), so compose works without credentials.
The chart was broken twice over
appVersionwasv1.15.6, and_helpers.tplfalls back to it for the image tag — so a default install asked our registry for a tag that does not exist. Chartversion/appVersionnow track the release.grafana.pluginsstill listed the catalog id, installing Grafana's archived build alongside our engine. It now installs this fork's release archive, and the grafana subchart setsGF_PLUGINS_ALLOW_LOADING_UNSIGNED_PLUGINS, without which an unsigned plugin is rejected.The plugin version is derived, not restated. Subchart values cannot be templated, but the grafana chart runs
tploverenvValueFrom, so it can reference a ConfigMap this chart renders — and that ConfigMap buildsGF_INSTALL_PLUGINSfrom the same expression the engine image uses (image.tag | default .Chart.AppVersion). So overriding the engine moves the plugin with it:(The archive name drops the leading
vwhile the tag keeps it, hence atrimPrefix.) An earlier revision of this PR hardcoded the URL ingrafana.plugins, which would have left the plugin behind wheneverimage.tagwas overridden.Repointing
image.repositoryalso required updating the assertion inimage_deployments_test.yamland three rendered snapshots; that diff is exclusively the 8 image lines. Suite is green:34 suites, 111 tests, 20 snapshots.helm/oncall/README.mdtold users tohelm repo add grafana …then installgrafana/oncall. That is a chart reference, not an image, and it is stale for a different reason: this fork does not publish a helm chart (the workflow that did was Grafana-internal, removed in #6). It now installs from a checkout.Update instructions
Both READMEs told users to update the plugin from Grafana's plugin version page. That cannot work for a plugin outside the catalog — it would leave the stale catalog build against an updated engine. They now move
ONCALL_VERSION(compose) or thegrafana.pluginsarchive (helm), and both note the operational catch: Grafana only installs a plugin that is not already present, so with a persistent volume the old copy has to be cleared before it will reinstall.README
Rewrote the header as an explicit What's different from upstream list — Grafana 13/React 19 support, Insights rendering, the e2e matrix, ~290 security patches, Django 5.2, fcm-django from PyPI, releases shipping both halves — followed by What it does not offer, stating the unsigned plugin, the unpublished chart, the dead mobile push relay and the absence of support. Previously the reasons to prefer this fork were implied at best.
Also fixed links into the archived repo (open-an-issue, Migrator, integrations guide, helm architecture diagram) and removed the stargazers chart, which renders a GitHub API error instead of a graph.
Verified
docker compose configrenders both stacks with matching versions; helm suite passes with updated snapshots; pre-commit (yamllint, markdownlint) clean. The long plugin URLs carryyamllint disable-line, matching the convention already used in this repo, since a URL cannot be folded across YAML lines.🤖 Generated with Claude Code