From 80bb28830db8a57d836d14bee77a1770f3ea31c3 Mon Sep 17 00:00:00 2001 From: arunesh-j Date: Wed, 19 Aug 2026 18:11:58 +0530 Subject: [PATCH 1/2] docs: add Deploy to Zopday buttons and repair the dead chart links Every chart link in the top-level README pointed at https://helm.zop.dev/, and all 24 of them return 404. The live page is the chart browser at https://helm.zop.dev/src/readme.html?id=, so every link now uses that form. Each one was checked against the running site rather than assumed. Adds the Deploy to Zopday button to the seven application charts' READMEs, each pointing at https://zop.dev/zopday/app/deploy?install=, and a Deploy column to the applications table so the same button is reachable from the top-level README. Datasource charts deliberately do not get one - they are not things a user deploys as an app. Eight published charts were missing from the tables entirely: scylladb under datasources, and openobserve-standalone, uptime-monitoring, zookeeper, zookeeper-operator, solr-operator and karpenter-gcp under others. uptime-monitoring was the one published chart with no README at all, so linking it would have landed on the site's not-found state. Written from its templates: what it probes, the two queries it exists for (probe_success and certificate expiry), its values, and the fact that its Blackbox objects are not release-prefixed so it can only be installed once per namespace. Also repairs two dead links in the holmesgpt README - holmesgpt.dev moved its docs under a /latest/ prefix. Every URL in every README now resolves: 45 in the top-level README, 27 across the chart READMEs. The two exceptions are intentional - oauth2.googleapis.com is a POST-only endpoint that 404s on GET. --- README.md | 63 +++++++++------- charts/holmesgpt/README.md | 8 +- charts/jupyterhub/README.md | 4 + charts/litellm/README.md | 4 + charts/localai/README.md | 4 + charts/outline/README.md | 4 + charts/superset/README.md | 4 + charts/uptime-monitoring/README.md | 113 +++++++++++++++++++++++++++++ charts/wordpress/README.md | 4 + 9 files changed, 178 insertions(+), 30 deletions(-) create mode 100644 charts/uptime-monitoring/README.md diff --git a/README.md b/README.md index 5910649a..fe57c3aa 100644 --- a/README.md +++ b/README.md @@ -104,42 +104,49 @@ Below is a list of available charts along with their links: | **Name** | **Link** | **Metrics** | |----------------------|------------------------------------------------------------------------|-------------| -| **MySQL** | [helm.zop.dev/mysql](https://helm.zop.dev/mysql) | ✅ | -| **PostgreSQL** | [helm.zop.dev/postgres](https://helm.zop.dev/postgres) | ✅ | -| **MariaDB** | [helm.zop.dev/mariadb](https://helm.zop.dev/mariadb) | ✅ | -| **Redis** | [helm.zop.dev/redis](https://helm.zop.dev/redis) | ✅ | -| **SurrealDB** | [helm.zop.dev/surrealdb](https://helm.zop.dev/surrealdb) | | -| **Dgraph** | [helm.zop.dev/dgraph](https://helm.zop.dev/dgraph) | | -| **Solr** | [helm.zop.dev/solr](https://helm.zop.dev/solr) | ✅ | -| **OpenTSDB** | [helm.zop.dev/opentsdb](https://helm.zop.dev/opentsdb) | | -| **ChromaDB** | [helm.zop.dev/chromadb](https://helm.zop.dev/chromadb) | | -| **Cassandra** | [helm.zop.dev/cassandra](https://helm.zop.dev/cassandra) | | -| **CockroachDB** | [helm.zop.dev/cockroachdb](https://helm.zop.dev/cockroachdb) | | -| **ClickHouse** | [helm.zop.dev/clickhouse](https://helm.zop.dev/clickhouse) | ✅ | -| **Kafka** | [helm.zop.dev/kafka](https://helm.zop.dev/kafka) | ✅ | -| **RedisDistributed** | [helm.zop.dev/redisdistributed](https://helm.zop.dev/redisdistributed) | ✅ | -| **SolrCloud** | [helm.zop.dev/solrcloud](https://helm.zop.dev/solrcloud) | | +| **MySQL** | [helm.zop.dev/mysql](https://helm.zop.dev/src/readme.html?id=mysql) | ✅ | +| **PostgreSQL** | [helm.zop.dev/postgres](https://helm.zop.dev/src/readme.html?id=postgres) | ✅ | +| **MariaDB** | [helm.zop.dev/mariadb](https://helm.zop.dev/src/readme.html?id=mariadb) | ✅ | +| **Redis** | [helm.zop.dev/redis](https://helm.zop.dev/src/readme.html?id=redis) | ✅ | +| **SurrealDB** | [helm.zop.dev/surrealdb](https://helm.zop.dev/src/readme.html?id=surrealdb) | | +| **Dgraph** | [helm.zop.dev/dgraph](https://helm.zop.dev/src/readme.html?id=dgraph) | | +| **Solr** | [helm.zop.dev/solr](https://helm.zop.dev/src/readme.html?id=solr) | ✅ | +| **OpenTSDB** | [helm.zop.dev/opentsdb](https://helm.zop.dev/src/readme.html?id=opentsdb) | | +| **ChromaDB** | [helm.zop.dev/chromadb](https://helm.zop.dev/src/readme.html?id=chromadb) | | +| **Cassandra** | [helm.zop.dev/cassandra](https://helm.zop.dev/src/readme.html?id=cassandra) | | +| **CockroachDB** | [helm.zop.dev/cockroachdb](https://helm.zop.dev/src/readme.html?id=cockroachdb) | | +| **ClickHouse** | [helm.zop.dev/clickhouse](https://helm.zop.dev/src/readme.html?id=clickhouse) | ✅ | +| **Kafka** | [helm.zop.dev/kafka](https://helm.zop.dev/src/readme.html?id=kafka) | ✅ | +| **RedisDistributed** | [helm.zop.dev/redisdistributed](https://helm.zop.dev/src/readme.html?id=redisdistributed) | ✅ | +| **SolrCloud** | [helm.zop.dev/solrcloud](https://helm.zop.dev/src/readme.html?id=solrcloud) | | +| **ScyllaDB** | [helm.zop.dev/scylladb](https://helm.zop.dev/src/readme.html?id=scylladb) | | 2. **APPLICATIONS** -| **Name** | **Link** | -|----------------|------------------------------------------------------------| -| **HolmesGPT** | [helm.zop.dev/holmesgpt](https://helm.zop.dev/holmesgpt) | -| **JupyterHub** | [helm.zop.dev/jupyterhub](https://helm.zop.dev/jupyterhub) | -| **LiteLLM** | [helm.zop.dev/litellm](https://helm.zop.dev/litellm) | -| **LocalAI** | [helm.zop.dev/localai](https://helm.zop.dev/localai) | -| **Outline** | [helm.zop.dev/outline](https://helm.zop.dev/outline) | -| **Superset** | [helm.zop.dev/superset](https://helm.zop.dev/superset) | -| **WordPress** | [helm.zop.dev/wordpress](https://helm.zop.dev/wordpress) | +| **Name** | **Link** | **Deploy** | +|---|---|---| +| **HolmesGPT** | [helm.zop.dev/holmesgpt](https://helm.zop.dev/src/readme.html?id=holmesgpt) | Deploy to Zopday | +| **JupyterHub** | [helm.zop.dev/jupyterhub](https://helm.zop.dev/src/readme.html?id=jupyterhub) | Deploy to Zopday | +| **LiteLLM** | [helm.zop.dev/litellm](https://helm.zop.dev/src/readme.html?id=litellm) | Deploy to Zopday | +| **LocalAI** | [helm.zop.dev/localai](https://helm.zop.dev/src/readme.html?id=localai) | Deploy to Zopday | +| **Outline** | [helm.zop.dev/outline](https://helm.zop.dev/src/readme.html?id=outline) | Deploy to Zopday | +| **Superset** | [helm.zop.dev/superset](https://helm.zop.dev/src/readme.html?id=superset) | Deploy to Zopday | +| **WordPress** | [helm.zop.dev/wordpress](https://helm.zop.dev/src/readme.html?id=wordpress) | Deploy to Zopday | 3. **OTHERS** -| **Name** | **Link** | **Metrics** | -|--------------|--------------------------------------------------------|-------------| -| **Cron-Job** | [helm.zop.dev/cron-job](https://helm.zop.dev/cron-job) | ✅ | -| **Service** | [helm.zop.dev/service](https://helm.zop.dev/service) | ✅ | +| **Name** | **Link** | **Metrics** | +|---|---|---| +| **Cron-Job** | [helm.zop.dev/cron-job](https://helm.zop.dev/src/readme.html?id=cron-job) | ✅ | +| **Service** | [helm.zop.dev/service](https://helm.zop.dev/src/readme.html?id=service) | ✅ | +| **OpenObserve** | [helm.zop.dev/openobserve-standalone](https://helm.zop.dev/src/readme.html?id=openobserve-standalone) | | +| **Uptime Monitoring** | [helm.zop.dev/uptime-monitoring](https://helm.zop.dev/src/readme.html?id=uptime-monitoring) | | +| **ZooKeeper** | [helm.zop.dev/zookeeper](https://helm.zop.dev/src/readme.html?id=zookeeper) | | +| **ZooKeeper Operator** | [helm.zop.dev/zookeeper-operator](https://helm.zop.dev/src/readme.html?id=zookeeper-operator) | | +| **Solr Operator** | [helm.zop.dev/solr-operator](https://helm.zop.dev/src/readme.html?id=solr-operator) | | +| **Karpenter (GCP)** | [helm.zop.dev/karpenter-gcp](https://helm.zop.dev/src/readme.html?id=karpenter-gcp) | | 📊 **Metrics Export** - All charts that support metrics expose them on port 2121 by default. diff --git a/charts/holmesgpt/README.md b/charts/holmesgpt/README.md index 29b82857..e29f83db 100644 --- a/charts/holmesgpt/README.md +++ b/charts/holmesgpt/README.md @@ -1,5 +1,9 @@ # HolmesGPT Helm Chart +

+ Deploy to Zopday +

+ [HolmesGPT](https://holmesgpt.dev/) is an open-source SRE agent, a CNCF sandbox project, that investigates production incidents by reading your cluster and correlating it with your observability data. This chart @@ -17,7 +21,7 @@ keeps an upstream value rename from silently changing our surface. - Kubernetes 1.19+ - Helm 3+ -- An API key for a supported [AI provider](https://holmesgpt.dev/ai-providers/), +- An API key for a supported [AI provider](https://holmesgpt.dev/latest/ai-providers/), or any OpenAI-compatible endpoint --- @@ -159,7 +163,7 @@ out. Its answers are only as good as its data sources. Of the 42 toolsets shipped, roughly 10 enable themselves from in-cluster access alone; the rest need credentials for Prometheus, Datadog, GitHub and so on. See -[data sources](https://holmesgpt.dev/data-sources/). +[data sources](https://holmesgpt.dev/latest/data-sources/). ### Deliberate differences from upstream's chart diff --git a/charts/jupyterhub/README.md b/charts/jupyterhub/README.md index 775ad0a1..27b096a5 100644 --- a/charts/jupyterhub/README.md +++ b/charts/jupyterhub/README.md @@ -1,5 +1,9 @@ # JupyterHub Helm Chart +

+ Deploy to Zopday +

+ This Helm chart deploys JupyterHub on Kubernetes, providing a multi-user server for Jupyter notebooks. JupyterHub allows multiple users to access their own Jupyter notebook servers in a shared environment, making it ideal for educational institutions, research labs, and data science teams. --- diff --git a/charts/litellm/README.md b/charts/litellm/README.md index a9297e8a..c8958094 100644 --- a/charts/litellm/README.md +++ b/charts/litellm/README.md @@ -1,5 +1,9 @@ # LiteLLM Helm Chart +

+ Deploy to Zopday +

+ This Helm chart deploys the [LiteLLM](https://github.com/BerriAI/litellm) proxy on Kubernetes. LiteLLM exposes a unified, OpenAI-compatible API in front of 100+ LLM providers, with a built-in admin UI, virtual API keys, and spend tracking. diff --git a/charts/localai/README.md b/charts/localai/README.md index fe186752..1aa81028 100644 --- a/charts/localai/README.md +++ b/charts/localai/README.md @@ -1,5 +1,9 @@ # LocalAI Helm Chart +

+ Deploy to Zopday +

+ [LocalAI](https://github.com/mudler/LocalAI) is a drop-in replacement for the OpenAI API that runs models on your own hardware. This chart deploys it in either of two topologies, chosen with a single value. diff --git a/charts/outline/README.md b/charts/outline/README.md index f1cfbf3c..a82a73a9 100644 --- a/charts/outline/README.md +++ b/charts/outline/README.md @@ -1,5 +1,9 @@ # Outline Helm Chart +

+ Deploy to Zopday +

+ This Helm chart deploys Outline, a modern team knowledge base and wiki platform, on Kubernetes. Outline provides a beautiful, real-time collaborative editing experience with features like rich text editing, markdown support, and team collaboration tools. --- diff --git a/charts/superset/README.md b/charts/superset/README.md index 65384462..4530b9f9 100644 --- a/charts/superset/README.md +++ b/charts/superset/README.md @@ -1,5 +1,9 @@ # Apache Superset Helm Chart +

+ Deploy to Zopday +

+ This Helm chart deploys Apache Superset on Kubernetes, providing a modern, enterprise-ready business intelligence web application. Superset enables users to create and share interactive dashboards, perform data exploration, and visualize data through a rich set of charts and graphs. --- diff --git a/charts/uptime-monitoring/README.md b/charts/uptime-monitoring/README.md new file mode 100644 index 00000000..c4b5f00b --- /dev/null +++ b/charts/uptime-monitoring/README.md @@ -0,0 +1,113 @@ +# Uptime Monitoring Helm Chart + +This Helm chart deploys HTTPS uptime and TLS certificate monitoring: a +[Blackbox Exporter](https://github.com/prometheus/blackbox_exporter) that probes +the URLs you list, and a Prometheus that scrapes it and holds the results. + +It answers two questions about anything reachable over HTTP(S) — is it up, and +how long until its certificate expires — without needing an agent on the target. + +--- + +## Prerequisites + +- Kubernetes 1.19+ +- Helm 3.0+ +- kubectl configured to communicate with your cluster +- Outbound network access from the cluster to whatever you want to probe + +--- + +## Install + +```bash +helm repo add zop https://helm.zop.dev +helm repo update +helm install uptime zop/uptime-monitoring --set 'targets[0]=https://example.com' +``` + +Nothing is probed until you list targets — `targets` defaults to an empty list, +so an install with no values produces a running but idle pair of pods. + +A values file is easier once you have more than one: + +```yaml +targets: + - https://example.com + - https://api.example.com/health + - https://zop.dev +``` + +```bash +helm install uptime zop/uptime-monitoring -f targets.yaml +``` + +--- + +## Verify + +```bash +kubectl get pods -l app=blackbox-exporter +kubectl get pods -l app.kubernetes.io/name=prometheus + +# Prometheus UI (the Service is release-prefixed; the exporter's is not) +kubectl port-forward svc/-prometheus 9090:9090 +open http://localhost:9090/targets +``` + +Every configured target should appear under the `blackbox` job and report `UP`. + +Note that the Blackbox objects (`blackbox-exporter`, `blackbox-config`, +`prometheus-config`) are not release-prefixed, so two releases of this chart in +one namespace will collide. Install it once per namespace. + +--- + +## What to query + +| Question | Query | +|---|---| +| Is the target up? | `probe_success` | +| Days until the certificate expires | `(probe_ssl_earliest_cert_expiry - time()) / 86400` | +| How slow is the probe? | `probe_duration_seconds` | +| Which HTTP status came back? | `probe_http_status_code` | + +A certificate-expiry alert is the usual reason to run this — 30 days of warning +is enough to renew without hurry: + +```promql +(probe_ssl_earliest_cert_expiry - time()) / 86400 < 30 +``` + +--- + +## Configuration + +| Key | Description | Default | +|---|---|---| +| `targets` | HTTP/HTTPS URLs to probe; each must start with `http://` or `https://` | `[]` | +| `blackbox.image` | Blackbox Exporter image | `prom/blackbox-exporter:v0.25.0` | +| `blackbox.servicePort` | Port the exporter is served on | `9115` | +| `prometheus.image` | Prometheus image | `prom/prometheus:v2.49.0` | +| `prometheus.scrapeInterval` | How often each target is probed | `30s` | +| `prometheus.servicePort` | Port Prometheus is served on | `9090` | + +Probing is not free for the target: a 30s interval means 2,880 requests per day +per URL. Raise `scrapeInterval` for endpoints that are expensive to serve or +rate limited. + +This chart runs its own Prometheus rather than emitting a ServiceMonitor, so it +is self-contained and needs no Prometheus Operator — but its data is also +separate from a cluster-wide Prometheus, and is not retained across pod restarts. + +--- + +## Upgrading & Uninstalling + +```bash +helm upgrade uptime zop/uptime-monitoring -f targets.yaml +helm uninstall uptime +``` + +Both pods are stateless, so nothing is left behind — and equally, probe history +does not survive an upgrade. Ship the metrics elsewhere if you need to keep them. diff --git a/charts/wordpress/README.md b/charts/wordpress/README.md index cb73e13f..cf4b9547 100644 --- a/charts/wordpress/README.md +++ b/charts/wordpress/README.md @@ -1,5 +1,9 @@ # WordPress Helm Chart +

+ Deploy to Zopday +

+ This Helm chart deploys WordPress, the world's most popular content management system, on Kubernetes. WordPress provides a flexible and user-friendly platform for creating websites, blogs, and web applications. --- From a851f7ea0cc8648c25c3bbede57a36ba2ed73cdf Mon Sep 17 00:00:00 2001 From: arunesh-j Date: Wed, 19 Aug 2026 18:21:43 +0530 Subject: [PATCH 2/2] docs: put the Deploy to Zopday button on the title line The centred block sat under the heading and pushed the description down. A right-floated anchor placed before the H1 puts it on the title line instead, flush right. Verified against the live stylesheet rather than assumed: docs/src/css/readme.css sets #readme-content img to display:block, which does not defeat a float. Rendered geometry measured at float:right, 169x36, overlapping the h1 box. The anchor stays outside the heading so readme.js, which labels its sidebar from heading.textContent, still reads a clean title. --- charts/holmesgpt/README.md | 6 ++---- charts/jupyterhub/README.md | 6 ++---- charts/litellm/README.md | 6 ++---- charts/localai/README.md | 6 ++---- charts/outline/README.md | 6 ++---- charts/superset/README.md | 6 ++---- charts/wordpress/README.md | 6 ++---- 7 files changed, 14 insertions(+), 28 deletions(-) diff --git a/charts/holmesgpt/README.md b/charts/holmesgpt/README.md index e29f83db..290cea49 100644 --- a/charts/holmesgpt/README.md +++ b/charts/holmesgpt/README.md @@ -1,8 +1,6 @@ -# HolmesGPT Helm Chart +Deploy to Zopday -

- Deploy to Zopday -

+# HolmesGPT Helm Chart [HolmesGPT](https://holmesgpt.dev/) is an open-source SRE agent, a CNCF sandbox project, that investigates production incidents by reading your diff --git a/charts/jupyterhub/README.md b/charts/jupyterhub/README.md index 27b096a5..44e434b4 100644 --- a/charts/jupyterhub/README.md +++ b/charts/jupyterhub/README.md @@ -1,8 +1,6 @@ -# JupyterHub Helm Chart +Deploy to Zopday -

- Deploy to Zopday -

+# JupyterHub Helm Chart This Helm chart deploys JupyterHub on Kubernetes, providing a multi-user server for Jupyter notebooks. JupyterHub allows multiple users to access their own Jupyter notebook servers in a shared environment, making it ideal for educational institutions, research labs, and data science teams. diff --git a/charts/litellm/README.md b/charts/litellm/README.md index c8958094..db43981c 100644 --- a/charts/litellm/README.md +++ b/charts/litellm/README.md @@ -1,8 +1,6 @@ -# LiteLLM Helm Chart +Deploy to Zopday -

- Deploy to Zopday -

+# LiteLLM Helm Chart This Helm chart deploys the [LiteLLM](https://github.com/BerriAI/litellm) proxy on Kubernetes. LiteLLM exposes a unified, OpenAI-compatible API in front of 100+ LLM diff --git a/charts/localai/README.md b/charts/localai/README.md index 1aa81028..28288a53 100644 --- a/charts/localai/README.md +++ b/charts/localai/README.md @@ -1,8 +1,6 @@ -# LocalAI Helm Chart +Deploy to Zopday -

- Deploy to Zopday -

+# LocalAI Helm Chart [LocalAI](https://github.com/mudler/LocalAI) is a drop-in replacement for the OpenAI API that runs models on your own hardware. This chart deploys diff --git a/charts/outline/README.md b/charts/outline/README.md index a82a73a9..cbbcf8cb 100644 --- a/charts/outline/README.md +++ b/charts/outline/README.md @@ -1,8 +1,6 @@ -# Outline Helm Chart +Deploy to Zopday -

- Deploy to Zopday -

+# Outline Helm Chart This Helm chart deploys Outline, a modern team knowledge base and wiki platform, on Kubernetes. Outline provides a beautiful, real-time collaborative editing experience with features like rich text editing, markdown support, and team collaboration tools. diff --git a/charts/superset/README.md b/charts/superset/README.md index 4530b9f9..e12acc3e 100644 --- a/charts/superset/README.md +++ b/charts/superset/README.md @@ -1,8 +1,6 @@ -# Apache Superset Helm Chart +Deploy to Zopday -

- Deploy to Zopday -

+# Apache Superset Helm Chart This Helm chart deploys Apache Superset on Kubernetes, providing a modern, enterprise-ready business intelligence web application. Superset enables users to create and share interactive dashboards, perform data exploration, and visualize data through a rich set of charts and graphs. diff --git a/charts/wordpress/README.md b/charts/wordpress/README.md index cf4b9547..afe36075 100644 --- a/charts/wordpress/README.md +++ b/charts/wordpress/README.md @@ -1,8 +1,6 @@ -# WordPress Helm Chart +Deploy to Zopday -

- Deploy to Zopday -

+# WordPress Helm Chart This Helm chart deploys WordPress, the world's most popular content management system, on Kubernetes. WordPress provides a flexible and user-friendly platform for creating websites, blogs, and web applications.