diff --git a/README.md b/README.md
index 5ec9336..4c9b0d5 100644
--- a/README.md
+++ b/README.md
@@ -131,6 +131,7 @@ Below is a list of available charts along with their links:
| **JupyterHub** | [helm.zop.dev/jupyterhub](https://helm.zop.dev/src/readme.html?id=jupyterhub) |
|
| **LiteLLM** | [helm.zop.dev/litellm](https://helm.zop.dev/src/readme.html?id=litellm) |
|
| **LocalAI** | [helm.zop.dev/localai](https://helm.zop.dev/src/readme.html?id=localai) |
|
+| **n8n** | [helm.zop.dev/n8n](https://helm.zop.dev/src/readme.html?id=n8n) |
|
| **Outline** | [helm.zop.dev/outline](https://helm.zop.dev/src/readme.html?id=outline) |
|
| **Superset** | [helm.zop.dev/superset](https://helm.zop.dev/src/readme.html?id=superset) |
|
| **WordPress** | [helm.zop.dev/wordpress](https://helm.zop.dev/src/readme.html?id=wordpress) |
|
diff --git a/charts/n8n/Chart.lock b/charts/n8n/Chart.lock
new file mode 100644
index 0000000..0424274
--- /dev/null
+++ b/charts/n8n/Chart.lock
@@ -0,0 +1,6 @@
+dependencies:
+- name: postgres
+ repository: https://helm.zop.dev
+ version: v0.0.14
+digest: sha256:52fa869fd28543afab579ed94b65e63f4faf619086333867dc89e6a93dddbf7b
+generated: "2026-08-18T15:24:15.723291+05:30"
diff --git a/charts/n8n/Chart.yaml b/charts/n8n/Chart.yaml
new file mode 100644
index 0000000..497ce18
--- /dev/null
+++ b/charts/n8n/Chart.yaml
@@ -0,0 +1,28 @@
+apiVersion: v2
+# Pinned to the semver tag that `stable` and `latest` currently resolve to.
+# Both of those are moving tags, so naming one of them here would make two
+# installs of the same chart version run different code.
+appVersion: "2.35.3"
+description: Helm chart for deploying n8n, a workflow automation platform
+name: n8n
+version: 0.0.1
+type: application
+icon: "https://storage.googleapis.com/zopdev-blog-resources/1/files/originals/20260812/71ab17a6-11d5-4280-a267-1749b533b756-n8n.png"
+maintainers:
+ - name: ZopDev
+ url: zop.dev
+# PostgreSQL holds workflows, credentials and execution history. It is the
+# default and only supported datastore for this chart; point the release at an
+# existing server with externalDatabase instead of turning this off.
+dependencies:
+ - name: postgres
+ # 0.0.14 or later is required, not merely preferred. Up to 0.0.13 the
+ # database init ran as a bare Pod, and a completed Pod never reports
+ # Ready - so `helm install --wait` blocked until it timed out. 0.0.14
+ # runs it as a Job. 0.0.13 also fixed the alerts template rendering a
+ # null `service` label that the PrometheusRule CRD rejects.
+ version: 0.0.14
+ repository: https://helm.zop.dev
+ condition: postgres.enabled
+annotations:
+ type: application
diff --git a/charts/n8n/README.md b/charts/n8n/README.md
new file mode 100644
index 0000000..62e2187
--- /dev/null
+++ b/charts/n8n/README.md
@@ -0,0 +1,381 @@
+
+
+# n8n Helm Chart
+
+This Helm chart deploys [n8n](https://n8n.io) on Kubernetes. n8n is a workflow
+automation platform: workflows are built in a browser-based editor and triggered
+on a schedule, by a webhook call, or by hand.
+
+The chart is self-contained. It ships its own Deployment, Service and config
+templates and pulls in the zopdev `postgres` chart as a subchart for the backing
+database.
+
+One pod serves the editor, the REST API and the webhook endpoints, and runs the
+executions in the same process (`EXECUTIONS_MODE=regular`). Queue mode — which
+spreads executions across dedicated worker pods and needs Redis — is not part of
+this chart.
+
+---
+
+## Prerequisites
+
+- Kubernetes 1.19+
+- Helm 3.0+
+- kubectl configured to communicate with your cluster
+- A default StorageClass, for the data volume
+- PostgreSQL (installed automatically as a subchart dependency)
+- Prometheus Operator CRDs (`servicemonitors` and `prometheusrules`)
+
+The CRDs are required even with `metrics.enabled=false` and `alerts.enabled=false`.
+Those flags govern this chart's own objects; the postgres subchart renders a
+ServiceMonitor and a PrometheusRule unconditionally, and without the CRDs the
+install fails with `no matches for kind "PrometheusRule"`. On a cluster without
+the Prometheus Operator, install just the two CRDs:
+
+```bash
+BASE=https://raw.githubusercontent.com/prometheus-operator/prometheus-operator/main/example/prometheus-operator-crd
+kubectl apply --server-side -f $BASE/monitoring.coreos.com_servicemonitors.yaml
+kubectl apply --server-side -f $BASE/monitoring.coreos.com_prometheusrules.yaml
+```
+
+---
+
+## Dependencies
+
+| Chart | Version | Repository | Purpose |
+|------------|----------|------------------------|------------------------------------------------------|
+| `postgres` | `0.0.14` | `https://helm.zop.dev` | Stores workflows, credentials and execution history |
+
+Build the dependencies before installing from a local checkout:
+
+```bash
+helm dependency update charts/n8n
+```
+
+---
+
+## Install
+
+```bash
+helm repo add zop https://helm.zop.dev
+helm repo update
+helm install n8n zop/n8n
+```
+
+To skip this chart's own monitoring objects (the CRDs are still needed, see
+above):
+
+```bash
+helm install n8n zop/n8n --set metrics.enabled=false --set alerts.enabled=false
+```
+
+---
+
+## Verify
+
+```bash
+# The pod waits on the database, then runs migrations, then becomes Ready
+kubectl get pods -l app=n8n
+
+kubectl port-forward svc/n8n-n8n 5678:5678
+open http://localhost:5678
+```
+
+The first page asks you to create an owner account. That account lives in the
+database rather than in the release, so it survives upgrades — and it cannot be
+recovered from the chart, so keep the password.
+
+---
+
+## Two things worth getting right before building workflows
+
+### The public URL
+
+n8n writes its own address into every webhook it registers and into OAuth
+callback URLs. With no public URL configured it uses `http://localhost:5678/`,
+which leaves a perfectly working editor whose webhooks nothing outside the
+cluster can call.
+
+Enabling the ingress is what fixes this — `N8N_WEBHOOK_URL`, `N8N_HOST` and
+`N8N_PROTOCOL` are all derived from `ingress.host`, and `tlsSecretName` decides
+whether that is `https`:
+
+```yaml
+ingress:
+ enabled: true
+ host: n8n.example.com
+ tlsSecretName: n8n-tls
+```
+
+**If TLS is terminated upstream, say so — the chart cannot tell.** `tlsSecretName`
+is only one way a site becomes HTTPS. An ALB with an ACM certificate, a GKE
+managed certificate and a `cert-manager.io/cluster-issuer` annotation all serve
+HTTPS while rendering no `tls:` block at all, and the chart would otherwise
+advertise `http://` for a site that only answers on `https://`. Point
+`webhookUrl` at the real address in that case:
+
+```yaml
+ingress:
+ enabled: true
+ className: alb
+ host: n8n.example.com
+ annotations:
+ alb.ingress.kubernetes.io/certificate-arn: arn:aws:acm:...
+webhookUrl: https://n8n.example.com/ # the scheme the world actually sees
+```
+
+**Serving the host over genuinely plain http needs one concession.** n8n marks
+its auth cookie `Secure` by default and browsers will not return a `Secure`
+cookie over http, so the editor loads and every login fails. Set
+`insecureCookie: true` to accept that, and NOTES will remind you it is on.
+
+The chart does **not** infer this from a missing `tlsSecretName`. Guessing
+"insecure" from an absent field would silently drop `Secure` on the
+annotation-terminated HTTPS deployments above — a security downgrade nobody
+asked for is worse than an instance that refuses to log in and tells you why. A
+port-forward to `localhost` needs none of this: browsers treat localhost as a
+secure context.
+
+If something else terminates traffic — a tunnel, or a proxy on another hostname —
+set the URL directly instead. It overrides the derivation, and host and protocol
+follow from it:
+
+```yaml
+webhookUrl: https://hooks.example.com/
+```
+
+### The encryption key
+
+Every credential stored in n8n is encrypted with `N8N_ENCRYPTION_KEY`. The chart
+generates one on install and reads it back on upgrade, so it is stable for as
+long as the secret exists. **It cannot be recovered from the database.** If it is
+lost, workflows survive but every credential has to be entered again.
+
+Back it up after installing:
+
+```bash
+kubectl get secret n8n-n8n-encryption \
+ -o jsonpath='{.data.N8N_ENCRYPTION_KEY}' | base64 -d
+```
+
+To manage it yourself instead, create the secret first and point the chart at it:
+
+```bash
+kubectl create secret generic n8n-encryption \
+ --from-literal=N8N_ENCRYPTION_KEY="$(openssl rand -base64 24)"
+```
+
+```yaml
+encryptionKey:
+ existingSecret: n8n-encryption
+```
+
+---
+
+## Configuration
+
+`values.schema.json` deliberately describes only the handful of fields the
+zop.dev configuration form should offer — image, ingress, persistence, timezone
+and resources. Everything else documented below is still settable in a values
+file or with `--set`; it simply is not rendered as a form field, because it is
+either plumbing or only relevant to a specific topology. The chart's own
+`templates/validate.yaml` guards those values at render time regardless of
+whether the schema describes them.
+
+
+### Image
+
+| Key | Description | Default |
+|--------------------|--------------------------------------------------------|--------------|
+| `image.repository` | Image repository | `n8nio/n8n` |
+| `image.tag` | Image tag; falls back to `.Chart.AppVersion` when empty | `""` |
+| `image.pullPolicy` | Image pull policy | `IfNotPresent` |
+
+`appVersion` pins an immutable release tag. `latest` and `stable` both move, so
+setting either would make two installs of the same chart version run different
+code.
+
+### Service and ingress
+
+| Key | Description | Default |
+|-------------------------|-----------------------------------------------------------------|-------------|
+| `service.type` | Service type | `ClusterIP` |
+| `service.port` | Port for the editor, API, webhooks and `/metrics` | `5678` |
+| `ingress.enabled` | Render the Ingress | `false` |
+| `ingress.className` | IngressClass name | `""` |
+| `ingress.host` | Hostname to serve; required when enabled | `""` |
+| `ingress.annotations` | Annotations applied to the Ingress | `{}` |
+| `ingress.tlsSecretName` | Existing TLS certificate secret | `""` |
+| `webhookUrl` | Overrides the public URL derived from `ingress.host`; must include the scheme | `""` |
+| `insecureCookie` | Send the auth cookie without `Secure`; needed for plain http | `false` |
+
+### Persistence
+
+| Key | Description | Default |
+|----------------------------|----------------------------------------------------|----------|
+| `persistence.enabled` | Provision a volume for `/home/node/.n8n` | `true` |
+| `persistence.size` | Requested volume size | `10Gi` |
+| `persistence.storageClass` | StorageClass name; empty uses the cluster default | `""` |
+| `persistence.existingClaim`| Bind an existing claim instead of creating one | `""` |
+
+The volume holds the config file n8n writes on first boot, any custom nodes, and
+binary payloads. With it enabled the chart sets
+`N8N_DEFAULT_BINARY_DATA_MODE=filesystem`, keeping uploaded files and HTTP
+response bodies out of the execution rows in Postgres — which is what stops the
+`execution_data` table growing without bound. Disabling it switches binary
+storage into Postgres (`N8N_DEFAULT_BINARY_DATA_MODE=database`) rather than
+writing to a container filesystem that is lost on restart. The chart never
+selects n8n's `default` mode, which despite the name keeps payloads in the
+process heap — that would be an OOMKill against the memory limit, and it is
+removed in n8n 3.x.
+
+The claim carries `helm.sh/resource-policy: keep`, so `helm uninstall` leaves the
+data behind.
+
+### Database
+
+| Key | Description | Default |
+|---------------------|----------------------------------------------------------------|---------|
+| `postgres.enabled` | Install PostgreSQL with this release | `true` |
+| `postgres.name` | Owning service name, used as the `service` label on its alerts | `n8n` |
+| `postgres.services` | Databases to provision (`name`/`database`) | `[{name: n8n, database: n8n}]` |
+
+To use a server this release does not manage, turn the subchart off and describe
+the existing one. The password is only ever read from a secret — this chart will
+not take it as a plain value, because everything in `values.yaml` ends up
+readable in the release manifest:
+
+```yaml
+postgres:
+ enabled: false
+externalDatabase:
+ host: postgres.example.com
+ port: 5432
+ database: n8n
+ user: n8n
+ existingSecret: n8n-db
+ passwordKey: password
+```
+
+Setting both `postgres.enabled` and `externalDatabase.host` fails the render
+rather than silently picking one.
+
+| Key | Description | Default |
+|---------------------------------|-------------------------------------------------|-----------|
+| `waitForDatabase.enabled` | Block startup until the database authenticates | `true` |
+| `waitForDatabase.image.*` | Image providing `psql` for the wait loop | `docker.io/bitnamilegacy/postgresql:17.4.0` |
+
+The postgres chart creates the role from a Pod that sleeps before it runs, so
+without this init container n8n crash-loops through the first minute of a fresh
+install.
+
+### Observability
+
+| Key | Description | Default |
+|--------------------------|--------------------------------------------------|---------|
+| `metrics.enabled` | Serve `/metrics` and render the ServiceMonitor | `true` |
+| `metrics.scrapeInterval` | ServiceMonitor scrape interval | `30s` |
+| `alerts.enabled` | Render the PrometheusRule | `true` |
+
+`metrics.enabled` sets `N8N_METRICS`, which is what makes n8n serve the endpoint
+at all, so the scrape target and the endpoint cannot disagree. Both options
+render `monitoring.coreos.com` objects and need the Prometheus Operator CRDs.
+
+### Compute and environment
+
+| Key | Description | Default |
+|------------------------|----------------------------------------------------------|---------|
+| `resources.requests` | CPU/memory requests | `500m` / `1Gi` |
+| `resources.limits` | CPU/memory limits | `1` / `2Gi` |
+| `timezone` | Timezone cron triggers are scheduled against | `UTC` |
+| `env` | Extra plain environment variables | `{}` |
+| `extraEnvFrom` | Existing secrets mounted via `envFrom` | `[]` |
+
+`timezone` is applied as both `GENERIC_TIMEZONE` and `TZ`; a wrong value silently
+shifts when scheduled workflows run.
+
+`env` ships four defaults, all settings n8n warns it is about to change. Pinning
+them means an image bump cannot quietly alter how the release behaves:
+
+| Variable | Default | Why |
+|---|---|---|
+| `N8N_UNVERIFIED_PACKAGES_ENABLED` | `"false"` | Blocks unvetted community nodes; also where n8n's own default is heading |
+| `N8N_RUNNERS_TASK_TIMEOUT` | `"300"` | Today's value, kept so a future reduction to 60s cannot start killing long-running Code nodes |
+| `N8N_COMPRESSION_NODE_MAX_DECOMPRESSED_SIZE_BYTES` | `"268435456"` | 256 MiB rather than today's 2 GiB; unbounded decompression of an untrusted archive is a memory-exhaustion risk |
+| `N8N_COMPRESSION_NODE_MAX_ZIP_ENTRIES` | `"1000"` | Same reasoning, on entry count |
+
+Override or remove any of them freely — they are ordinary `env` entries.
+
+Put anything sensitive in a secret and reference it rather than using `env`:
+
+```yaml
+extraEnvFrom:
+ - secretName: n8n-smtp
+```
+
+Variables the chart derives from other values — `DB_TYPE`, the `DB_POSTGRESDB_*`
+set, `N8N_ENCRYPTION_KEY`, `N8N_DEFAULT_BINARY_DATA_MODE` — are rejected at
+render time rather than silently overridden.
+
+---
+
+## Upgrading
+
+```bash
+helm upgrade n8n zop/n8n
+```
+
+The encryption key is read back from the existing secret, and the database
+credentials belong to the postgres subchart, which preserves them the same way.
+Because the data volume is ReadWriteOnce the Deployment uses `strategy: Recreate`
+— the old pod is torn down before the new one starts, so an upgrade is a brief
+outage rather than a rolling handover.
+
+---
+
+## Uninstalling
+
+```bash
+helm uninstall n8n
+```
+
+Three things deliberately survive an uninstall, because together they are the
+instance:
+
+| Object | Why it stays |
+|---|---|
+| `pvc/n8n-n8n` | `helm.sh/resource-policy: keep` — binary data and custom nodes |
+| `pvc/n8n-persistent-storage-n8n-postgres-0` | a `volumeClaimTemplates` claim; Kubernetes never deletes these |
+| `secret/n8n-n8n-encryption` | `helm.sh/resource-policy: keep` — the only key that can decrypt the credentials in that database |
+
+The encryption secret is kept for the same reason as the volumes: deleting it
+while the database survives would leave workflows intact and every stored
+credential undecryptable.
+
+**Uninstall is not reversible, though — verified, not assumed.** Reinstalling the
+same release over those retained volumes fails, and not because of anything this
+chart does. The postgres subchart's `-postgres-root-secret` is *not*
+retained, so a reinstall generates a new superuser password while the retained
+data directory still expects the old one. Postgres then refuses its own init Job
+(`password authentication failed for user "postgres"`), the n8n role is never
+created, and this chart's `wait-for-db` init container blocks — which is the
+correct outcome, since the alternative is n8n starting against a database it
+cannot read.
+
+So: to keep an instance alive, use `helm upgrade`, never uninstall-and-reinstall.
+If you must uninstall and later restore, back up **both** secrets first:
+
+```bash
+kubectl get secret n8n-n8n-encryption -o yaml > n8n-encryption.backup.yaml
+kubectl get secret n8n-postgres-root-secret -o yaml > n8n-postgres-root.backup.yaml
+```
+
+Restoring both before reinstalling is what makes the retained volumes usable
+again.
+
+To remove the instance completely, delete all three deliberately:
+
+```bash
+kubectl delete pvc n8n-n8n n8n-persistent-storage-n8n-postgres-0
+kubectl delete secret n8n-n8n-encryption
+```
diff --git a/charts/n8n/templates/NOTES.txt b/charts/n8n/templates/NOTES.txt
new file mode 100644
index 0000000..27d876b
--- /dev/null
+++ b/charts/n8n/templates/NOTES.txt
@@ -0,0 +1,70 @@
+n8n is installed as release {{ .Release.Name }}.
+
+ database: {{ if .Values.postgres.enabled }}installed by this release{{ else }}{{ .Values.externalDatabase.host }}{{ end }}
+ persistence: {{ if .Values.persistence.enabled }}{{ if .Values.persistence.existingClaim }}{{ .Values.persistence.existingClaim }}{{ else }}{{ .Values.persistence.size }} claim {{ include "n8n.fullname" . }}{{ end }}{{ else }}disabled - binary data is stored in Postgres (database mode){{ end }}
+
+Reach the editor:
+
+ kubectl port-forward -n {{ .Release.Namespace }} \
+ svc/{{ include "n8n.fullname" . }} 5678:{{ .Values.service.port }}
+
+ open http://localhost:5678
+{{- if .Values.ingress.enabled }}
+
+Or over the ingress at http{{ if .Values.ingress.tlsSecretName }}s{{ end }}://{{ .Values.ingress.host }}
+{{- end }}
+
+The first page asks you to create an owner account. That account is held in the
+database, not in this chart, so it survives upgrades and is not recoverable from
+the release - keep the password somewhere you can find it again.
+
+{{ if include "n8n.webhookUrl" . -}}
+Webhooks are registered under {{ include "n8n.webhookUrl" . }}
+{{- else -}}
+No public URL is configured, so n8n falls back to http://localhost:5678/ and
+every webhook it registers will carry that address. Before building anything
+webhook-triggered, set one:
+
+ --set ingress.enabled=true --set ingress.host=n8n.example.com
+
+or, if something else already terminates traffic for you:
+
+ --set webhookUrl=https://n8n.example.com/
+{{- end }}
+{{- $public := include "n8n.public" . | fromYaml }}
+{{- if .Values.insecureCookie }}
+
+WARNING: insecureCookie is set, so the session cookie is sent without the Secure
+flag and travels in clear over http. Set ingress.tlsSecretName, or terminate TLS
+upstream and point webhookUrl at the https address, then turn this back off.
+{{- else if and $public.url (eq $public.protocol "http") }}
+
+WARNING: this release advertises {{ $public.url }} over plain http, and n8n marks
+its session cookie Secure - so the editor will load and every login will fail.
+Pick one:
+
+ * serve TLS from the ingress: --set ingress.tlsSecretName=
+ * TLS terminated upstream (ALB/ACM, GKE managed cert, cert-manager annotation)?
+ tell n8n the real scheme: --set webhookUrl=https://{{ $public.host }}/
+ * genuinely plain http, accept the risk: --set insecureCookie=true
+
+A port-forward to localhost is unaffected; browsers treat localhost as secure.
+{{- end }}
+
+{{ if not .Values.encryptionKey.existingSecret }}
+The credential encryption key was generated into secret
+{{ include "n8n.encryptionSecretName" . }}. Every credential stored in n8n is
+encrypted with it, and it cannot be recovered from the database. Back it up now:
+
+ kubectl get secret -n {{ .Release.Namespace }} \
+ {{ include "n8n.encryptionSecretName" . }} \
+ -o jsonpath='{.data.{{ .Values.encryptionKey.secretKey }}}' | base64 -d
+
+Upgrades read the existing key back rather than generating a new one, and the
+secret carries helm.sh/resource-policy: keep so `helm uninstall` leaves it behind.
+
+Use `helm upgrade` to keep an instance alive. Uninstall-and-reinstall does NOT
+work over the retained volumes: the postgres root secret is not retained, so the
+new one will not match the existing data directory. Back up this secret and
+{{ .Release.Name }}-postgres-root-secret together if you ever intend to restore.
+{{- end }}
diff --git a/charts/n8n/templates/_helpers.tpl b/charts/n8n/templates/_helpers.tpl
new file mode 100644
index 0000000..0185403
--- /dev/null
+++ b/charts/n8n/templates/_helpers.tpl
@@ -0,0 +1,128 @@
+{{- define "n8n.name" -}}
+ {{- default .Chart.Name | trunc 63 | trimSuffix "-" -}}
+{{- end -}}
+
+{{- define "n8n.fullname" -}}
+ {{- printf "%s-n8n" .Release.Name | trunc 63 | trimSuffix "-" -}}
+{{- end -}}
+
+{{- define "n8n.chart" -}}
+ {{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" -}}
+{{- end -}}
+
+{{- define "n8n.labels" -}}
+app: {{ include "n8n.name" . }}
+chart: {{ include "n8n.chart" . }}
+release: {{ .Release.Name }}
+{{- end -}}
+
+{{- define "n8n.selectorLabels" -}}
+app: {{ include "n8n.name" . }}
+release: {{ .Release.Name }}
+{{- end -}}
+
+{{/*
+Name of the postgres subchart's per-database secret, which carries DB_USER and
+DB_PASSWORD. The subchart composes this name from the services[] entry rather
+than exposing it, so the format is reproduced here and has to stay in step with
+its init-script-config-map template.
+*/}}
+{{- define "n8n.postgresSecretName" -}}
+ {{- if not .Values.postgres.services -}}
+ {{- fail "postgres.services must list one entry (name and database); it is what provisions the n8n database, its role, and the Secret holding those credentials." -}}
+ {{- end -}}
+ {{- $svc := index .Values.postgres.services 0 -}}
+ {{- printf "%s-%s-%s-postgres-database-secret" .Release.Name (replace "_" "-" $svc.database) $svc.name -}}
+{{- end -}}
+
+{{/*
+Name of the secret holding N8N_ENCRYPTION_KEY: the pre-created one when given,
+otherwise the generated -encryption.
+*/}}
+{{- define "n8n.encryptionSecretName" -}}
+ {{- if .Values.encryptionKey.existingSecret -}}
+ {{- .Values.encryptionKey.existingSecret -}}
+ {{- else -}}
+ {{- printf "%s-encryption" (include "n8n.fullname" .) -}}
+ {{- end -}}
+{{- end -}}
+
+{{/*
+Database connection details, resolved once so the deployment and the wait-for-db
+init container cannot disagree about where the database is. Returns a dict with
+host, port, database and user; the password is always a secret reference and is
+handled separately.
+*/}}
+{{- define "n8n.db" -}}
+ {{- if .Values.postgres.enabled -}}
+ {{- if not .Values.postgres.services -}}
+ {{- fail "postgres.services must list one entry (name and database); it is what provisions the n8n database, its role, and the Secret holding those credentials." -}}
+ {{- end -}}
+ {{- $svc := index .Values.postgres.services 0 -}}
+ {{- dict "host" (printf "%s-postgres" .Release.Name) "port" "5432" "database" $svc.database | toYaml -}}
+ {{- else -}}
+ {{- dict "host" .Values.externalDatabase.host "port" (toString .Values.externalDatabase.port) "database" .Values.externalDatabase.database | toYaml -}}
+ {{- end -}}
+{{- end -}}
+
+{{/*
+The claim the n8n data volume binds to: the user's existing claim when named,
+otherwise the one this chart creates.
+*/}}
+{{- define "n8n.claimName" -}}
+ {{- if .Values.persistence.existingClaim -}}
+ {{- .Values.persistence.existingClaim -}}
+ {{- else -}}
+ {{- include "n8n.fullname" . -}}
+ {{- end -}}
+{{- end -}}
+
+{{/*
+n8n bakes its public URL into every webhook it registers and into OAuth callback
+URLs, so this has to be the address a caller outside the cluster would use, not
+the service address. An explicit webhookUrl wins; otherwise it is derived from
+the ingress host, which is the only externally reachable name the chart knows.
+Empty when there is neither, which leaves n8n on its own localhost default.
+*/}}
+{{- define "n8n.webhookUrl" -}}
+ {{- if .Values.webhookUrl -}}
+ {{- printf "%s/" (.Values.webhookUrl | trimSuffix "/") -}}
+ {{- else if and .Values.ingress.enabled .Values.ingress.host -}}
+ {{- $scheme := ternary "https" "http" (ne (toString .Values.ingress.tlsSecretName) "") -}}
+ {{- printf "%s://%s/" $scheme .Values.ingress.host -}}
+ {{- end -}}
+{{- end -}}
+
+{{/*
+Host and protocol as n8n should advertise them, taken apart from the public URL
+above so all three agree. Deriving N8N_PROTOCOL from ingress.tlsSecretName
+instead would contradict an explicit https webhookUrl whenever TLS is terminated
+somewhere ahead of the ingress. Returns an empty dict when no public URL is
+configured, leaving n8n on its own defaults.
+*/}}
+{{- define "n8n.public" -}}
+ {{- $url := include "n8n.webhookUrl" . -}}
+ {{- if $url -}}
+ {{- $scheme := ternary "https" "http" (hasPrefix "https://" $url) -}}
+ {{- $authority := $url | trimPrefix "https://" | trimPrefix "http://" | trimSuffix "/" -}}
+ {{/* Drop any path, then any port: N8N_HOST is the hostname alone. */}}
+ {{- $host := $authority | splitList "/" | first | splitList ":" | first -}}
+ {{- dict "url" $url "host" $host "protocol" $scheme | toYaml -}}
+ {{- else -}}
+ {{- dict | toYaml -}}
+ {{- end -}}
+{{- end -}}
+
+{{/*
+Every environment variable the chart derives from other values, as a comma
+separated list. validate.yaml rejects `env` overrides of these, and configmap.yaml
+skips them defensively - two consumers, one definition, so the guard cannot fall
+behind the ConfigMap the way a hand-maintained list does.
+
+Overriding any of them through `env` would not win cleanly anyway: the ConfigMap
+would carry the key twice and last-one-wins, leaving n8n advertising one value
+while a related variable still described the other.
+*/}}
+{{- define "n8n.ownedEnv" -}}
+DB_TYPE,DB_POSTGRESDB_HOST,DB_POSTGRESDB_PORT,DB_POSTGRESDB_DATABASE,DB_POSTGRESDB_SCHEMA,DB_POSTGRESDB_USER,DB_POSTGRESDB_PASSWORD,EXECUTIONS_MODE,N8N_PORT,N8N_PROXY_HOPS,N8N_EDITOR_BASE_URL,N8N_DEFAULT_BINARY_DATA_MODE,N8N_DIAGNOSTICS_ENABLED,N8N_WEBHOOK_URL,WEBHOOK_URL,N8N_HOST,N8N_PROTOCOL,N8N_SECURE_COOKIE,N8N_METRICS,GENERIC_TIMEZONE,TZ,N8N_ENCRYPTION_KEY
+{{- end -}}
diff --git a/charts/n8n/templates/alerts.yaml b/charts/n8n/templates/alerts.yaml
new file mode 100644
index 0000000..d681f26
--- /dev/null
+++ b/charts/n8n/templates/alerts.yaml
@@ -0,0 +1,62 @@
+{{- if .Values.alerts.enabled }}
+{{/*
+Named after the chart's fullname, NOT .Release.Name. The postgres subchart's own
+alerts template already creates a PrometheusRule called {{ .Release.Name }}, and
+two objects of the same kind and name in one release make helm refuse to install.
+
+Every label value is quoted. An unquoted value from an unset key renders as null,
+which the PrometheusRule CRD rejects, and that rejection fails the whole release
+rather than just the alert.
+*/}}
+apiVersion: monitoring.coreos.com/v1
+kind: PrometheusRule
+metadata:
+ name: {{ include "n8n.fullname" . }}
+ namespace: {{ .Release.Namespace }}
+ labels:
+ app: kube-prometheus-stack
+ release: prometheus
+ {{- include "n8n.labels" . | nindent 4 }}
+spec:
+ groups:
+ - name: {{ .Release.Namespace }}.{{ include "n8n.fullname" . }}.rules
+ rules:
+ {{- if .Values.metrics.enabled }}
+ {{/*
+ Gated on metrics: `up` only exists for a job Prometheus actually scrapes,
+ and this chart's ServiceMonitor is what creates that job. With metrics off
+ the series is absent rather than 0, so the rule could never fire - it would
+ sit in the UI looking like coverage while providing none. The restart alert
+ below needs no gate: it reads kube-state-metrics, not our own endpoint.
+ */}}
+ - alert: N8nDown
+ expr: up{job="{{ include "n8n.fullname" . }}",namespace="{{ .Release.Namespace }}"} == 0
+ for: 5m
+ labels:
+ severity: "critical"
+ # Every alert rule in this repo carries servicealert; the zop.dev
+ # pipeline routes on it, so a rule without it renders but goes nowhere.
+ servicealert: "true"
+ service: {{ include "n8n.fullname" . | quote }}
+ namespace: {{ .Release.Namespace | quote }}
+ annotations:
+ summary: "n8n is not responding"
+ description: "n8n in namespace {{ .Release.Namespace }} has been unreachable for 5 minutes. Scheduled workflows and webhook deliveries are not running."
+
+ {{- end }}
+
+ # A restarting pod is worth alerting on here in a way it would not be for
+ # a stateless replica: this is a single instance, and every restart is a
+ # window where cron triggers do not fire and webhook calls get refused.
+ - alert: N8nRestarting
+ expr: sum(increase(kube_pod_container_status_restarts_total{namespace="{{ .Release.Namespace }}",pod=~"{{ include "n8n.fullname" . }}-.*"}[15m])) > 2
+ for: 5m
+ labels:
+ severity: "warning"
+ servicealert: "true"
+ service: {{ include "n8n.fullname" . | quote }}
+ namespace: {{ .Release.Namespace | quote }}
+ annotations:
+ summary: "n8n is restarting repeatedly"
+ description: "The n8n container in namespace {{ .Release.Namespace }} has restarted more than twice in 15 minutes."
+{{- end }}
diff --git a/charts/n8n/templates/configmap.yaml b/charts/n8n/templates/configmap.yaml
new file mode 100644
index 0000000..68b7ca3
--- /dev/null
+++ b/charts/n8n/templates/configmap.yaml
@@ -0,0 +1,98 @@
+{{- $db := include "n8n.db" . | fromYaml }}
+{{- $public := include "n8n.public" . | fromYaml }}
+apiVersion: v1
+kind: ConfigMap
+metadata:
+ name: {{ include "n8n.fullname" . }}-config
+ namespace: {{ .Release.Namespace }}
+ labels:
+ {{- include "n8n.labels" . | nindent 4 }}
+data:
+ DB_TYPE: "postgresdb"
+ DB_POSTGRESDB_HOST: {{ $db.host | quote }}
+ DB_POSTGRESDB_PORT: {{ $db.port | quote }}
+ DB_POSTGRESDB_DATABASE: {{ $db.database | quote }}
+ DB_POSTGRESDB_SCHEMA: "public"
+
+ # Without queue mode there is one process, and it both serves the editor and
+ # runs the executions.
+ EXECUTIONS_MODE: "regular"
+
+ N8N_PORT: "5678"
+ {{/*
+ N8N_LISTEN_ADDRESS is deliberately not set. n8n defaults to `::`, which accepts
+ both IPv4 and IPv6; pinning 0.0.0.0 would narrow that to IPv4 only for no gain,
+ since the kubelet's probes and the Service reach `::` perfectly well. Set it
+ through `env` if a node genuinely has IPv6 disabled.
+ */}}
+
+ # Number of proxies between a client and n8n, used to pick the real client IP
+ # out of X-Forwarded-For. Typically 1 behind an ingress, more behind a CDN.
+ # Left at n8n's own default of 0 because the unsafe direction is upward: trust
+ # more hops than exist and a client can spoof its own address.
+ N8N_PROXY_HOPS: {{ .Values.proxyHops | quote }}
+
+ {{- if .Values.persistence.enabled }}
+ # Binary payloads go to the mounted volume, keeping them out of the execution
+ # rows in Postgres, which is what stops execution_data growing without bound.
+ N8N_DEFAULT_BINARY_DATA_MODE: "filesystem"
+ {{- else }}
+ # No volume, so payloads go into Postgres. NOT "default": that mode keeps
+ # binary data in the process heap, which would OOMKill the pod against its
+ # memory limit and is removed in n8n 3.x. "database" is the Postgres-backed
+ # mode. Payloads are capped by N8N_BINARY_DATA_DATABASE_MAX_FILE_SIZE.
+ N8N_DEFAULT_BINARY_DATA_MODE: "database"
+ {{- end }}
+
+ # Self-hosted installs should not report usage back to n8n's servers unless
+ # the operator opts in.
+ N8N_DIAGNOSTICS_ENABLED: "false"
+
+ {{- if $public.url }}
+ # Baked into every registered webhook and OAuth callback URL. Derived from the
+ # ingress host unless webhookUrl overrides it. All three come from one value, so
+ # the protocol n8n advertises cannot contradict the URL it hands out.
+ #
+ # N8N_WEBHOOK_URL, not WEBHOOK_URL: the latter is deprecated and, unlike the
+ # four variables this chart pins deliberately, it warns whenever it is SET
+ # rather than when it is unset.
+ N8N_WEBHOOK_URL: {{ $public.url | quote }}
+ N8N_HOST: {{ $public.host | quote }}
+ N8N_PROTOCOL: {{ $public.protocol | quote }}
+ # Base URL the editor advertises for itself - the address in invite emails and
+ # password resets. Same public URL, so those links cannot point somewhere the
+ # webhooks do not.
+ N8N_EDITOR_BASE_URL: {{ $public.url | quote }}
+ {{- end }}
+
+ {{- if .Values.insecureCookie }}
+ # Explicitly opted in. n8n marks its auth cookie Secure by default and no
+ # browser sends a Secure cookie over plain http, so a genuinely http instance
+ # needs this or nobody can log in.
+ #
+ # Deliberately NOT inferred from "no ingress.tlsSecretName". TLS is often
+ # terminated upstream - an ALB with an ACM certificate, a GKE managed
+ # certificate, a cert-manager annotation - and those render no tls: block at
+ # all. Inferring insecurity from a missing field would drop Secure on sites
+ # that are HTTPS-only, silently, which is worse than an instance that refuses
+ # to log in and says why.
+ N8N_SECURE_COOKIE: "false"
+ {{- end }}
+
+ N8N_METRICS: {{ .Values.metrics.enabled | quote }}
+
+ GENERIC_TIMEZONE: {{ .Values.timezone | quote }}
+ TZ: {{ .Values.timezone | quote }}
+
+ {{/*
+ Chart-owned keys are skipped rather than emitted a second time. validate.yaml
+ already fails the render on them, so this is unreachable in practice - but it
+ means no ordering of templates can produce a ConfigMap carrying the same key
+ twice, where the last one silently wins.
+ */}}
+ {{- $owned := splitList "," (include "n8n.ownedEnv" .) }}
+ {{- range $key, $value := .Values.env }}
+ {{- if not (has $key $owned) }}
+ {{ $key }}: {{ $value | quote }}
+ {{- end }}
+ {{- end }}
diff --git a/charts/n8n/templates/deployment.yaml b/charts/n8n/templates/deployment.yaml
new file mode 100644
index 0000000..503cc21
--- /dev/null
+++ b/charts/n8n/templates/deployment.yaml
@@ -0,0 +1,176 @@
+{{- $db := include "n8n.db" . | fromYaml }}
+apiVersion: apps/v1
+kind: Deployment
+metadata:
+ name: {{ include "n8n.fullname" . }}
+ namespace: {{ .Release.Namespace }}
+ labels:
+ {{- include "n8n.labels" . | nindent 4 }}
+spec:
+ # One replica is a property of this topology, not a limit to raise. Without
+ # queue mode each pod runs its own scheduler, so a second one would fire every
+ # cron-triggered workflow twice.
+ replicas: 1
+ strategy:
+ # The data volume is ReadWriteOnce, so a rolling update would deadlock: the
+ # new pod cannot attach the volume until the old one releases it, and the old
+ # one is not torn down until the new one is ready.
+ type: Recreate
+ selector:
+ matchLabels:
+ {{- include "n8n.selectorLabels" . | nindent 6 }}
+ template:
+ metadata:
+ annotations:
+ # Environment is read once at process start, so a ConfigMap edit alone
+ # would leave the running pod on the old values.
+ checksum/config: {{ include (print $.Template.BasePath "/configmap.yaml") . | sha256sum }}
+ labels:
+ {{- include "n8n.selectorLabels" . | nindent 8 }}
+ spec:
+ # n8n's own graceful shutdown budget (N8N_GRACEFUL_SHUTDOWN_TIMEOUT) is 30s.
+ # Kubernetes also defaults to 30s, so SIGKILL would land at the exact moment
+ # n8n expects to finish draining. The extra 10s is that headroom; raise it
+ # alongside the timeout if you lengthen n8n's.
+ terminationGracePeriodSeconds: 40
+ securityContext:
+ # The image runs as the `node` user, uid/gid 1000, and cannot write a
+ # freshly provisioned volume that comes up owned by root.
+ runAsUser: 1000
+ runAsGroup: 1000
+ fsGroup: 1000
+ {{- if .Values.waitForDatabase.enabled }}
+ initContainers:
+ # The postgres subchart provisions the database and role from a Pod that
+ # sleeps before it runs, so on a fresh install the role n8n authenticates
+ # as does not exist yet. Blocking here turns what would be a crash loop
+ # for the first minute into a clean install.
+ - name: wait-for-db
+ image: "{{ .Values.waitForDatabase.image.repository }}:{{ .Values.waitForDatabase.image.tag }}"
+ imagePullPolicy: {{ .Values.waitForDatabase.image.pullPolicy }}
+ command:
+ - /bin/sh
+ - -c
+ # Authenticating is the check. A TCP probe would pass as soon as
+ # postgres accepts connections, which happens before the role and
+ # database this release needs have been created.
+ - |
+ until psql -h "$DB_HOST" -p "$DB_PORT" -U "$DB_USER" -d "$DB_NAME" -c 'select 1' >/dev/null 2>&1; do
+ echo "waiting for postgres at $DB_HOST:$DB_PORT/$DB_NAME as $DB_USER"
+ sleep 2
+ done
+ echo "database is ready"
+ env:
+ - name: DB_HOST
+ value: {{ $db.host | quote }}
+ - name: DB_PORT
+ value: {{ $db.port | quote }}
+ - name: DB_NAME
+ value: {{ $db.database | quote }}
+ {{- if .Values.postgres.enabled }}
+ - name: DB_USER
+ valueFrom:
+ secretKeyRef:
+ name: {{ include "n8n.postgresSecretName" . }}
+ key: DB_USER
+ - name: PGPASSWORD
+ valueFrom:
+ secretKeyRef:
+ name: {{ include "n8n.postgresSecretName" . }}
+ key: DB_PASSWORD
+ {{- else }}
+ - name: DB_USER
+ value: {{ .Values.externalDatabase.user | quote }}
+ - name: PGPASSWORD
+ valueFrom:
+ secretKeyRef:
+ name: {{ .Values.externalDatabase.existingSecret }}
+ key: {{ .Values.externalDatabase.passwordKey }}
+ {{- end }}
+ resources:
+ requests:
+ cpu: 10m
+ memory: 32Mi
+ limits:
+ cpu: 100m
+ memory: 128Mi
+ {{- end }}
+ containers:
+ - name: {{ .Chart.Name }}
+ image: "{{ .Values.image.repository }}:{{ .Values.image.tag | default .Chart.AppVersion }}"
+ imagePullPolicy: {{ .Values.image.pullPolicy }}
+ ports:
+ - name: http
+ containerPort: 5678
+ protocol: TCP
+ envFrom:
+ - configMapRef:
+ name: {{ include "n8n.fullname" . }}-config
+ {{- range .Values.extraEnvFrom }}
+ - secretRef:
+ name: {{ .secretName }}
+ {{- end }}
+ env:
+ {{- if .Values.postgres.enabled }}
+ # The subchart publishes these as DB_USER / DB_PASSWORD, so they are
+ # mapped key by key rather than pulled in wholesale with envFrom.
+ - name: DB_POSTGRESDB_USER
+ valueFrom:
+ secretKeyRef:
+ name: {{ include "n8n.postgresSecretName" . }}
+ key: DB_USER
+ - name: DB_POSTGRESDB_PASSWORD
+ valueFrom:
+ secretKeyRef:
+ name: {{ include "n8n.postgresSecretName" . }}
+ key: DB_PASSWORD
+ {{- else }}
+ - name: DB_POSTGRESDB_USER
+ value: {{ .Values.externalDatabase.user | quote }}
+ - name: DB_POSTGRESDB_PASSWORD
+ valueFrom:
+ secretKeyRef:
+ name: {{ .Values.externalDatabase.existingSecret }}
+ key: {{ .Values.externalDatabase.passwordKey }}
+ {{- end }}
+ - name: N8N_ENCRYPTION_KEY
+ valueFrom:
+ secretKeyRef:
+ name: {{ include "n8n.encryptionSecretName" . }}
+ key: {{ .Values.encryptionKey.secretKey }}
+ volumeMounts:
+ - name: data
+ mountPath: /home/node/.n8n
+ # Database migrations run before the HTTP server binds, and on a first
+ # install that is the slowest part of startup, so readiness is gated by
+ # a long startup budget instead of a long delay on every probe.
+ startupProbe:
+ httpGet:
+ path: /healthz
+ port: http
+ periodSeconds: 5
+ failureThreshold: 60
+ readinessProbe:
+ httpGet:
+ path: /healthz/readiness
+ port: http
+ periodSeconds: 10
+ timeoutSeconds: 5
+ failureThreshold: 3
+ livenessProbe:
+ httpGet:
+ path: /healthz
+ port: http
+ periodSeconds: 20
+ timeoutSeconds: 5
+ failureThreshold: 6
+ resources:
+ {{- toYaml .Values.resources | nindent 12 }}
+ volumes:
+ - name: data
+ {{- if .Values.persistence.enabled }}
+ persistentVolumeClaim:
+ claimName: {{ include "n8n.claimName" . }}
+ {{- else }}
+ emptyDir: {}
+ {{- end }}
diff --git a/charts/n8n/templates/ingress.yaml b/charts/n8n/templates/ingress.yaml
new file mode 100644
index 0000000..262452f
--- /dev/null
+++ b/charts/n8n/templates/ingress.yaml
@@ -0,0 +1,43 @@
+{{- if .Values.ingress.enabled }}
+{{/*
+A hostless Ingress would render a catch-all rule, and the chart could not derive
+a webhook URL from it. n8n would fall back to its localhost default, leaving a
+working editor whose registered webhooks all point somewhere unreachable - the
+failure this chart is most concerned with preventing.
+*/}}
+{{- if not .Values.ingress.host }}
+{{- fail "ingress.enabled requires ingress.host; n8n bakes that hostname into every webhook it registers and into OAuth callback URLs." }}
+{{- end }}
+apiVersion: networking.k8s.io/v1
+kind: Ingress
+metadata:
+ name: {{ include "n8n.fullname" . }}
+ namespace: {{ .Release.Namespace }}
+ labels:
+ {{- include "n8n.labels" . | nindent 4 }}
+ {{- with .Values.ingress.annotations }}
+ annotations:
+ {{- toYaml . | nindent 4 }}
+ {{- end }}
+spec:
+ {{- if .Values.ingress.className }}
+ ingressClassName: {{ .Values.ingress.className }}
+ {{- end }}
+ {{- if .Values.ingress.tlsSecretName }}
+ tls:
+ - hosts:
+ - {{ .Values.ingress.host | quote }}
+ secretName: {{ .Values.ingress.tlsSecretName }}
+ {{- end }}
+ rules:
+ - host: {{ .Values.ingress.host | quote }}
+ http:
+ paths:
+ - path: /
+ pathType: Prefix
+ backend:
+ service:
+ name: {{ include "n8n.fullname" . }}
+ port:
+ number: {{ .Values.service.port }}
+{{- end }}
diff --git a/charts/n8n/templates/pvc.yaml b/charts/n8n/templates/pvc.yaml
new file mode 100644
index 0000000..13e2453
--- /dev/null
+++ b/charts/n8n/templates/pvc.yaml
@@ -0,0 +1,31 @@
+{{- if and .Values.persistence.enabled (not .Values.persistence.existingClaim) }}
+{{/*
+Holds the config file n8n writes on first boot, any custom nodes installed into
+the instance, and binary payloads under filesystem mode.
+
+Deliberately not a volumeClaimTemplate on a StatefulSet: a Deployment is the
+right controller for a single stateless-ish process, and keeping the claim as its
+own object means `helm uninstall` leaves the data behind rather than depending on
+the cluster's StatefulSet retention policy.
+*/}}
+apiVersion: v1
+kind: PersistentVolumeClaim
+metadata:
+ name: {{ include "n8n.fullname" . }}
+ namespace: {{ .Release.Namespace }}
+ labels:
+ {{- include "n8n.labels" . | nindent 4 }}
+ annotations:
+ # The volume outlives the release. Losing it means losing the instance's
+ # binary data and its generated config.
+ helm.sh/resource-policy: keep
+spec:
+ accessModes:
+ - ReadWriteOnce
+ {{- if .Values.persistence.storageClass }}
+ storageClassName: {{ .Values.persistence.storageClass | quote }}
+ {{- end }}
+ resources:
+ requests:
+ storage: {{ .Values.persistence.size | quote }}
+{{- end }}
diff --git a/charts/n8n/templates/secret.yaml b/charts/n8n/templates/secret.yaml
new file mode 100644
index 0000000..72e9ed6
--- /dev/null
+++ b/charts/n8n/templates/secret.yaml
@@ -0,0 +1,38 @@
+{{- if not .Values.encryptionKey.existingSecret }}
+{{/*
+n8n encrypts stored credentials with this key. If it changes, every credential
+already in the database becomes undecryptable - the workflows survive, but each
+credential has to be entered again. So it is generated once on install and read
+back from the live Secret on every upgrade, never regenerated.
+
+`lookup` returns nothing during `helm template` and `--dry-run`, so a rendered
+manifest always shows a fresh key. That is an artefact of rendering without a
+cluster, not what an upgrade does to a real release.
+*/}}
+{{- $secretName := printf "%s-encryption" (include "n8n.fullname" .) }}
+{{- $existing := lookup "v1" "Secret" .Release.Namespace $secretName }}
+{{- $key := randAlphaNum 32 }}
+{{- if and $existing $existing.data (hasKey $existing.data .Values.encryptionKey.secretKey) }}
+{{- $key = index $existing.data .Values.encryptionKey.secretKey | b64dec }}
+{{- end }}
+apiVersion: v1
+kind: Secret
+metadata:
+ name: {{ $secretName }}
+ namespace: {{ .Release.Namespace }}
+ annotations:
+ # Kept for the same reason the data volume is kept. The n8n PVC carries
+ # resource-policy: keep and the postgres subchart uses volumeClaimTemplates,
+ # which Kubernetes never deletes - so an uninstall leaves the database intact
+ # while, without this, deleting the only key that can decrypt the credentials
+ # inside it. Note this is not enough to make uninstall reversible: the
+ # postgres subchart does not retain ITS root secret, so a reinstall mints a
+ # superuser password the retained data directory rejects. Keeping this one
+ # means the key still exists to restore alongside a database backup.
+ helm.sh/resource-policy: keep
+ labels:
+ {{- include "n8n.labels" . | nindent 4 }}
+type: Opaque
+data:
+ {{ .Values.encryptionKey.secretKey }}: {{ $key | b64enc }}
+{{- end }}
diff --git a/charts/n8n/templates/service.yaml b/charts/n8n/templates/service.yaml
new file mode 100644
index 0000000..3ba5912
--- /dev/null
+++ b/charts/n8n/templates/service.yaml
@@ -0,0 +1,18 @@
+apiVersion: v1
+kind: Service
+metadata:
+ name: {{ include "n8n.fullname" . }}
+ namespace: {{ .Release.Namespace }}
+ labels:
+ {{- include "n8n.labels" . | nindent 4 }}
+spec:
+ type: {{ .Values.service.type }}
+ ports:
+ # n8n serves the editor UI, the REST API, the webhook endpoints and, when
+ # metrics are on, /metrics all on this one port.
+ - name: http
+ port: {{ .Values.service.port }}
+ targetPort: http
+ protocol: TCP
+ selector:
+ {{- include "n8n.selectorLabels" . | nindent 4 }}
diff --git a/charts/n8n/templates/serviceMonitor.yaml b/charts/n8n/templates/serviceMonitor.yaml
new file mode 100644
index 0000000..e7e1efc
--- /dev/null
+++ b/charts/n8n/templates/serviceMonitor.yaml
@@ -0,0 +1,26 @@
+{{- if .Values.metrics.enabled }}
+{{/*
+n8n only serves /metrics when N8N_METRICS is set, which the ConfigMap derives
+from this same flag - so the endpoint and the scrape config can never disagree
+and leave a permanently failing target.
+*/}}
+apiVersion: monitoring.coreos.com/v1
+kind: ServiceMonitor
+metadata:
+ name: {{ include "n8n.fullname" . }}
+ namespace: {{ .Release.Namespace }}
+ labels:
+ release: prometheus
+ {{- include "n8n.labels" . | nindent 4 }}
+spec:
+ selector:
+ matchLabels:
+ {{- include "n8n.selectorLabels" . | nindent 6 }}
+ endpoints:
+ - port: http
+ path: /metrics
+ interval: {{ .Values.metrics.scrapeInterval }}
+ namespaceSelector:
+ matchNames:
+ - {{ .Release.Namespace }}
+{{- end }}
diff --git a/charts/n8n/templates/validate.yaml b/charts/n8n/templates/validate.yaml
new file mode 100644
index 0000000..c8a1cba
--- /dev/null
+++ b/charts/n8n/templates/validate.yaml
@@ -0,0 +1,47 @@
+{{/*
+Fail rendering on configurations that would install cleanly and then misbehave at
+runtime, where the symptom is a crash loop or silent data loss rather than a
+message pointing at the cause.
+*/}}
+
+{{- if and .Values.postgres.enabled .Values.externalDatabase.host }}
+{{- fail "postgres.enabled and externalDatabase.host are both set, so it is ambiguous which database n8n should use. Leave postgres.enabled=true to have this release install one, or set postgres.enabled=false to point at externalDatabase." }}
+{{- end }}
+
+{{- if and (not .Values.postgres.enabled) (not .Values.externalDatabase.host) }}
+{{- fail "n8n requires PostgreSQL: leave postgres.enabled=true to install it with this release, or set externalDatabase.host to use an existing server. Workflows, credentials and execution history all live there." }}
+{{- end }}
+
+{{- if .Values.postgres.enabled }}
+{{- if not .Values.postgres.services }}
+{{- fail "postgres.services must list one entry (name and database); it is what provisions the n8n database, its role, and the Secret holding those credentials." }}
+{{- end }}
+{{- end }}
+
+{{- if .Values.externalDatabase.host }}
+{{- if not .Values.externalDatabase.user }}
+{{- fail "externalDatabase.host is set without externalDatabase.user. n8n does not fall back to a default role." }}
+{{- end }}
+{{- if not .Values.externalDatabase.existingSecret }}
+{{- fail "externalDatabase.host is set without externalDatabase.existingSecret. The password must come from a Secret; this chart will not take it as a plain value, because everything in values.yaml ends up readable in the release manifest." }}
+{{- end }}
+{{- end }}
+
+{{- if .Values.webhookUrl }}
+{{- if not (or (hasPrefix "http://" .Values.webhookUrl) (hasPrefix "https://" .Values.webhookUrl)) }}
+{{- fail (printf "webhookUrl must start with http:// or https:// - got %q. n8n advertises this verbatim in every registered webhook, so a schemeless value produces URLs no caller can resolve, and the scheme is also what tells the chart whether the site is https." .Values.webhookUrl) }}
+{{- end }}
+{{- end }}
+
+{{/*
+Variables the chart derives from other values. Setting them through `env` would
+leave the two disagreeing, with the override winning silently: a DB_POSTGRESDB_HOST
+pointing away from the provisioned database, or a binary data mode writing to a
+path no volume is mounted at.
+*/}}
+{{- $owned := splitList "," (include "n8n.ownedEnv" .) }}
+{{- range $key := $owned }}
+{{- if hasKey $.Values.env $key }}
+{{- fail (printf "%s is set by the chart and cannot be overridden through `env`. See values.yaml for the value it is derived from." $key) }}
+{{- end }}
+{{- end }}
diff --git a/charts/n8n/values.schema.json b/charts/n8n/values.schema.json
new file mode 100644
index 0000000..bbfa9fe
--- /dev/null
+++ b/charts/n8n/values.schema.json
@@ -0,0 +1,138 @@
+{
+ "$schema": "https://json-schema.org/draft-07/schema#",
+ "type": "object",
+ "title": "n8n Helm Chart Values",
+ "description": "Configuration values for the n8n workflow automation Helm chart",
+ "properties": {
+ "image": {
+ "type": "object",
+ "category": "runtime",
+ "description": "n8n container image",
+ "properties": {
+ "repository": {
+ "type": "string",
+ "description": "Image repository",
+ "default": "n8nio/n8n",
+ "editDisabled": true
+ },
+ "tag": {
+ "type": "string",
+ "description": "Image tag; falls back to the chart's appVersion when empty",
+ "default": "",
+ "mutable": true
+ },
+ "pullPolicy": {
+ "type": "string",
+ "description": "Image pull policy",
+ "default": "IfNotPresent",
+ "mutable": true
+ }
+ },
+ "required": ["repository"]
+ },
+ "ingress": {
+ "type": "object",
+ "category": "runtime",
+ "description": "How n8n is reached from outside the cluster. The host is also written into every webhook URL n8n registers",
+ "properties": {
+ "enabled": {
+ "type": "boolean",
+ "description": "Expose n8n through an Ingress",
+ "default": false,
+ "mutable": true
+ },
+ "className": {
+ "type": "string",
+ "description": "IngressClass name; empty uses the cluster default",
+ "default": "",
+ "mutable": true
+ },
+ "host": {
+ "type": "string",
+ "description": "Hostname to serve n8n on; required when enabled",
+ "default": "",
+ "mutable": true
+ },
+ "tlsSecretName": {
+ "type": "string",
+ "description": "Existing TLS certificate secret for the host; serving over https is strongly recommended",
+ "default": "",
+ "mutable": true
+ }
+ },
+ "required": ["enabled"]
+ },
+ "persistence": {
+ "type": "object",
+ "category": "compute",
+ "description": "Disk for n8n's own data - its generated config, any custom nodes, and binary payloads from executions",
+ "properties": {
+ "enabled": {
+ "type": "boolean",
+ "description": "Provision a disk; when off, binary payloads are stored in the database instead",
+ "default": true
+ },
+ "size": {
+ "type": "string",
+ "description": "Disk size",
+ "default": "10Gi",
+ "mutable": true,
+ "editDisabled": true
+ }
+ },
+ "required": ["enabled", "size"]
+ },
+ "timezone": {
+ "type": "string",
+ "category": "runtime",
+ "description": "Timezone that scheduled workflows are evaluated against; a wrong value shifts when they run",
+ "default": "UTC",
+ "mutable": true
+ },
+ "resources": {
+ "type": "object",
+ "category": "compute",
+ "description": "CPU and memory for the n8n container",
+ "properties": {
+ "requests": {
+ "type": "object",
+ "properties": {
+ "cpu": {
+ "type": "string",
+ "description": "CPU request",
+ "default": "500m",
+ "mutable": true
+ },
+ "memory": {
+ "type": "string",
+ "description": "Memory request",
+ "default": "1Gi",
+ "mutable": true
+ }
+ },
+ "required": ["cpu", "memory"]
+ },
+ "limits": {
+ "type": "object",
+ "properties": {
+ "cpu": {
+ "type": "string",
+ "description": "CPU limit",
+ "default": "1",
+ "mutable": true
+ },
+ "memory": {
+ "type": "string",
+ "description": "Memory limit",
+ "default": "2Gi",
+ "mutable": true
+ }
+ },
+ "required": ["cpu", "memory"]
+ }
+ },
+ "required": ["requests", "limits"]
+ }
+ },
+ "required": ["image", "ingress", "persistence", "resources"]
+}
diff --git a/charts/n8n/values.yaml b/charts/n8n/values.yaml
new file mode 100644
index 0000000..7d5af3f
--- /dev/null
+++ b/charts/n8n/values.yaml
@@ -0,0 +1,166 @@
+# n8n is a workflow automation platform. This chart runs a single instance that
+# serves the editor UI, the REST API and the webhook endpoints, with PostgreSQL
+# holding workflows, credentials and execution history.
+#
+# Executions run in the same process as the editor (EXECUTIONS_MODE=regular).
+# Queue mode, which spreads executions across dedicated worker pods and needs
+# Redis, is not part of this chart.
+
+image:
+ repository: n8nio/n8n
+ # Empty falls back to .Chart.AppVersion, which is pinned to an immutable
+ # release tag. `latest` and `stable` both move, so naming either here would
+ # make two installs of this chart version run different code.
+ tag: ""
+ pullPolicy: IfNotPresent
+
+service:
+ type: ClusterIP
+ # The editor, the API, the webhook endpoints and /metrics all answer here.
+ port: 5678
+
+# Holds the config file n8n writes on first boot, any custom nodes, and binary
+# payloads. Turning this off switches binary storage into Postgres (n8n's
+# `database` mode) rather than writing to a container filesystem that is lost on
+# restart. The chart never selects n8n's `default` mode: despite the name it
+# keeps payloads in the process heap, which OOMKills the pod against its memory
+# limit, and it is removed in n8n 3.x.
+persistence:
+ enabled: true
+ size: "10Gi"
+ # Empty uses the cluster's default StorageClass.
+ storageClass: ""
+ # Bind to a claim you already have instead of creating one.
+ existingClaim: ""
+
+# n8n writes its own hostname into every webhook it registers and into OAuth
+# callback URLs, so enabling the ingress is also what makes those URLs correct.
+ingress:
+ enabled: false
+ className: ""
+ host: ""
+ annotations: {}
+ # Set to serve the host over TLS from an existing certificate secret. Its
+ # presence is also what decides whether webhook URLs are https.
+ tlsSecretName: ""
+
+# Overrides the URL derived from ingress.host. Set this when something else
+# terminates traffic - a tunnel, a proxy on another hostname, or TLS terminated
+# by the load balancer - and n8n would otherwise advertise an address callers
+# cannot reach. Must include the scheme; a schemeless value fails the render.
+webhookUrl: ""
+
+# Sends the auth cookie without the Secure flag (N8N_SECURE_COOKIE=false).
+#
+# Required for a genuinely plain-http instance: n8n marks the cookie Secure by
+# default, no browser returns a Secure cookie over http, and the result is an
+# editor that loads and then refuses every login. localhost is exempt - browsers
+# treat it as a secure context - so a port-forward works without this.
+#
+# It is an explicit opt-in rather than something the chart infers from a missing
+# ingress.tlsSecretName, because TLS is frequently terminated upstream (ALB with
+# an ACM certificate, GKE managed certificate, cert-manager annotation) and those
+# render no tls: block at all. Guessing would drop Secure on HTTPS-only sites.
+insecureCookie: false
+
+# How many proxies sit between a client and n8n, so it can resolve the real
+# client IP from X-Forwarded-For - which is what per-client rate limiting and
+# audit logging depend on. Typically 1 behind an ingress, 2 behind a CDN as well.
+# Left at n8n's default of 0 because the unsafe direction is upward: trusting more
+# hops than exist lets a client spoof its own address.
+proxyHops: 0
+
+# Encrypts every credential stored in n8n. Generated on install and read back on
+# upgrade, so it stays stable for the life of the secret. It cannot be recovered
+# from the database: if it is lost, every stored credential must be re-entered.
+encryptionKey:
+ # Use a pre-created secret instead of generating one.
+ existingSecret: ""
+ secretKey: N8N_ENCRYPTION_KEY
+
+# Applied as both GENERIC_TIMEZONE and TZ. Cron-triggered workflows are
+# scheduled against this, so a wrong value silently shifts when they run.
+timezone: "UTC"
+
+# Renders a ServiceMonitor and sets N8N_METRICS, which is what makes n8n serve
+# /metrics at all. Needs the Prometheus Operator CRDs.
+metrics:
+ enabled: true
+ scrapeInterval: 30s
+
+# Renders a PrometheusRule. Needs the Prometheus Operator CRDs.
+alerts:
+ enabled: true
+
+resources:
+ requests:
+ cpu: "500m"
+ memory: "1Gi"
+ limits:
+ cpu: "1"
+ memory: "2Gi"
+
+# Extra plain environment variables, e.g.
+# env:
+# N8N_LOG_LEVEL: debug
+# Variables this chart derives from other values are rejected at render time
+# rather than silently overridden - see templates/validate.yaml.
+#
+# The four defaults below are settings n8n warns it is about to change. Pinning
+# them here means an image bump cannot quietly alter how this release behaves;
+# override or remove any of them freely.
+env:
+ # Community nodes that have not been vetted. n8n's default becomes false in a
+ # future version and that is the safer position, so the chart starts there
+ # rather than inheriting a permissive default that later flips.
+ N8N_UNVERIFIED_PACKAGES_ENABLED: "false"
+ # Seconds a Code node may run. n8n plans to cut its default to 60, which would
+ # start killing legitimate long-running tasks on an image bump, so the current
+ # value is pinned instead. Lower it if you would rather bound them tightly.
+ N8N_RUNNERS_TASK_TIMEOUT: "300"
+ # Decompression bounds for the Compression node, taken from where n8n is
+ # heading rather than from today's much looser defaults: 2 GiB of
+ # decompressed output from an untrusted archive is a memory-exhaustion risk,
+ # and this chart has no existing behaviour to preserve. Raise them if you
+ # genuinely process large archives.
+ N8N_COMPRESSION_NODE_MAX_DECOMPRESSED_SIZE_BYTES: "268435456"
+ N8N_COMPRESSION_NODE_MAX_ZIP_ENTRIES: "1000"
+
+# Existing secrets mounted with envFrom, for values that should not sit in
+# values.yaml. Useful for SMTP credentials or an external storage key.
+extraEnvFrom: []
+# - secretName: n8n-smtp
+
+# Blocks startup until the database accepts an authenticated connection. The
+# postgres chart provisions the role from a Job that sleeps before it runs, so
+# without this n8n crash-loops through the first minute of a fresh install.
+waitForDatabase:
+ enabled: true
+ image:
+ # The same image the postgres chart runs, so this introduces no new registry.
+ # Keep the tag in step with the postgres subchart's own `version`.
+ repository: docker.io/bitnamilegacy/postgresql
+ tag: "17.4.0"
+ pullPolicy: IfNotPresent
+
+# The zopdev postgres chart. It provisions the database, a dedicated role, and
+# the secret this chart reads those credentials from.
+postgres:
+ enabled: true
+ # Used as the `service` label on the postgres alerts, attributing them to this
+ # release rather than to the datastore in isolation.
+ name: n8n
+ services:
+ - name: n8n
+ database: n8n
+
+# Point at a PostgreSQL server this release does not manage. Setting host turns
+# the subchart off; the two are mutually exclusive and setting both fails the
+# render. The password is only ever read from a secret.
+externalDatabase:
+ host: ""
+ port: 5432
+ database: n8n
+ user: ""
+ existingSecret: ""
+ passwordKey: password
diff --git a/docs/index.yaml b/docs/index.yaml
index 0a2026e..dad656f 100644
--- a/docs/index.yaml
+++ b/docs/index.yaml
@@ -5,7 +5,7 @@ entries:
type: datasource
apiVersion: v1
appVersion: "1.0"
- created: "2026-08-19T16:41:33.135731+05:30"
+ created: "2026-08-28T12:22:53.439846+05:30"
description: Helm chart for deploying cassandra
digest: 0b1d9c5e9e7e621bb4f42722301f64d55517e641b8bf4c12864ec46bbba9c983
icon: https://storage.googleapis.com/zopdev-test-bucket/zop/files/originals/20241223/d7c22b49-c87b-4d41-a109-334a83b44f8d-cassandra.png
@@ -20,7 +20,7 @@ entries:
type: datasource
apiVersion: v1
appVersion: "1.0"
- created: "2026-08-19T16:41:33.135454+05:30"
+ created: "2026-08-28T12:22:53.439619+05:30"
description: Helm chart for deploying cassandra
digest: 5ad8c3dd137ecef4ee348b7f855f0b6e2f0860040a5faea921bac812ebe0344e
icon: https://storage.googleapis.com/zopdev-test-bucket/zop/files/originals/20241223/d7c22b49-c87b-4d41-a109-334a83b44f8d-cassandra.png
@@ -35,7 +35,7 @@ entries:
type: datasource
apiVersion: v1
appVersion: "1.0"
- created: "2026-08-19T16:41:33.134559+05:30"
+ created: "2026-08-28T12:22:53.439441+05:30"
description: Helm chart for deploying cassandra
digest: 8204a7e66878a8c14cd517fb4db71afe9980a1f194f850aba1d0b972f708604a
icon: https://storage.googleapis.com/zopdev-test-bucket/zop/files/originals/20241223/d7c22b49-c87b-4d41-a109-334a83b44f8d-cassandra.png
@@ -50,7 +50,7 @@ entries:
type: datasource
apiVersion: v1
appVersion: "1.0"
- created: "2026-08-19T16:41:33.134332+05:30"
+ created: "2026-08-28T12:22:53.439281+05:30"
description: Helm chart for deploying cassandra
digest: d8c73f81cbbf8d9c32118c2939ff855a36a1b6c8c593baf77bfb6b99f161c8a3
icon: https://storage.googleapis.com/zopdev-test-bucket/zop/files/originals/20241223/d7c22b49-c87b-4d41-a109-334a83b44f8d-cassandra.png
@@ -63,7 +63,7 @@ entries:
version: v0.0.3
- apiVersion: v1
appVersion: "1.0"
- created: "2026-08-19T16:41:33.134037+05:30"
+ created: "2026-08-28T12:22:53.438596+05:30"
description: Helm chart for deploying cassandra
digest: f45dea69d490bc1e07764fc2e632cabda6465b4a99d12ed6c78eb4646b742e11
icon: https://zop.dev/logo.png
@@ -76,7 +76,7 @@ entries:
version: v0.0.2
- apiVersion: v1
appVersion: "1.0"
- created: "2026-08-19T16:41:33.133834+05:30"
+ created: "2026-08-28T12:22:53.438358+05:30"
description: Helm chart for deploying cassandra
digest: 87dcf6e85af6afe5ff9c90bb29272edbc9cb21ce8019361015b1733442644ca9
icon: https://zop.dev/logo.png
@@ -92,7 +92,7 @@ entries:
type: datasource
apiVersion: v2
appVersion: "1.0"
- created: "2026-08-19T16:41:33.136443+05:30"
+ created: "2026-08-28T12:22:53.440234+05:30"
description: Helm chart for deploying chromadb datastore
digest: 94ca640fc537837c955a55a41e53da01b38203fe28e9e5df92f7f121ac51f68e
icon: https://storage.googleapis.com/zopdev-test-bucket/zop/files/originals/20241205/f21ef909-e0ea-4969-8963-0848602a5e4b-ImageEditor.jpg
@@ -107,7 +107,7 @@ entries:
type: datasource
apiVersion: v2
appVersion: "1.0"
- created: "2026-08-19T16:41:33.136107+05:30"
+ created: "2026-08-28T12:22:53.440112+05:30"
description: Helm chart for deploying chromadb datastore
digest: ba37d2c0312b72096223fae3329696dd8b5c0f050712369a7d17d61136c7a91b
icon: https://storage.googleapis.com/zopdev-test-bucket/zop/files/originals/20241205/f21ef909-e0ea-4969-8963-0848602a5e4b-ImageEditor.jpg
@@ -122,7 +122,7 @@ entries:
type: datasource
apiVersion: v2
appVersion: "1.0"
- created: "2026-08-19T16:41:33.135916+05:30"
+ created: "2026-08-28T12:22:53.439986+05:30"
description: Helm chart for deploying chromadb datastore
digest: 4b595dd52a315a9c5731a2407c33840e5f9d838c0faa534a65348a927e63ea7d
icon: https://zop.dev/logo.png
@@ -135,7 +135,7 @@ entries:
version: v0.0.2
- apiVersion: v1
appVersion: "1.0"
- created: "2026-08-19T16:41:33.13362+05:30"
+ created: "2026-08-28T12:22:53.438138+05:30"
description: Helm chart for deploying chromadb datastore
digest: e80e4a44755d08f58044aaffc16074668015f121b5a7359cd20b75526a46ee3a
icon: https://zop.dev/logo.png
@@ -151,7 +151,7 @@ entries:
type: datasource
apiVersion: v2
appVersion: "1.0"
- created: "2026-08-19T16:41:33.138588+05:30"
+ created: "2026-08-28T12:22:53.441651+05:30"
description: Helm chart for deploying clickhouse datastore
digest: a06c43648285f68a7deece96385dd133c32593bcee6026aba40323889fc954ff
icon: https://storage.googleapis.com/zopdev-blog-resources/1/files/originals/20260608/f641a725-da8d-450a-b57b-c959551a07bc-clickhouse.png
@@ -166,7 +166,7 @@ entries:
type: datasource
apiVersion: v2
appVersion: "1.0"
- created: "2026-08-19T16:41:33.1382+05:30"
+ created: "2026-08-28T12:22:53.441217+05:30"
description: Helm chart for deploying clickhouse datastore
digest: e5f9f77310ec4711db0707ce0ba8f5ac73607ae41ce46e71463cca580fc50b77
icon: https://storage.googleapis.com/zopdev-blog-resources/1/files/originals/20260608/f641a725-da8d-450a-b57b-c959551a07bc-clickhouse.png
@@ -181,7 +181,7 @@ entries:
type: datasource
apiVersion: v2
appVersion: "1.0"
- created: "2026-08-19T16:41:33.137881+05:30"
+ created: "2026-08-28T12:22:53.440911+05:30"
description: Helm chart for deploying clickhouse datastore
digest: 2681560fcf0c2d1a8efb989cf609b29308336c2991992a8d0a852c84b1de66c2
icon: https://storage.googleapis.com/zopdev-blog-resources/1/files/originals/20260608/f641a725-da8d-450a-b57b-c959551a07bc-clickhouse.png
@@ -196,7 +196,7 @@ entries:
type: datasource
apiVersion: v2
appVersion: "1.0"
- created: "2026-08-19T16:41:33.136815+05:30"
+ created: "2026-08-28T12:22:53.440491+05:30"
description: Helm chart for deploying clickhouse datastore
digest: cff6f6d0fc4bf6ce09c435816f071c0057df9e8fe475f2d3ee7cbef41ccea2e6
icon: https://storage.googleapis.com/zopdev-blog-resources/1/files/originals/20260608/f641a725-da8d-450a-b57b-c959551a07bc-clickhouse.png
@@ -212,7 +212,7 @@ entries:
type: datasource
apiVersion: v2
appVersion: "1.0"
- created: "2026-08-19T16:41:33.139646+05:30"
+ created: "2026-08-28T12:22:53.442437+05:30"
description: Helm chart for deploying cockroachdb datastore
digest: 063c06a5758ec40aabaf8390a5004964f039dc2bf699999054d4f5adef76fd27
icon: https://storage.googleapis.com/zopdev-test-bucket/zop/files/originals/20250402/331014cf-f38d-484f-9246-1c9a045cb9a0-cockroachicon.png
@@ -227,7 +227,7 @@ entries:
type: datasource
apiVersion: v2
appVersion: "1.0"
- created: "2026-08-19T16:41:33.13939+05:30"
+ created: "2026-08-28T12:22:53.442292+05:30"
description: Helm chart for deploying cockroachdb datastore
digest: aafca1db83b781cfc87de37fae49dc57122fb7c0b57dacee765a7fb8de72cfc1
icon: https://storage.googleapis.com/zopdev-test-bucket/zop/files/originals/20250402/331014cf-f38d-484f-9246-1c9a045cb9a0-cockroachicon.png
@@ -242,7 +242,7 @@ entries:
type: datasource
apiVersion: v2
appVersion: "1.0"
- created: "2026-08-19T16:41:33.139244+05:30"
+ created: "2026-08-28T12:22:53.442158+05:30"
description: Helm chart for deploying cockroachdb datastore
digest: 2bea5770d823248ddf13b2930796e7c58ee72323683f7e5d39851d500d680b29
icon: https://storage.googleapis.com/zopdev-test-bucket/zop/files/originals/20250402/331014cf-f38d-484f-9246-1c9a045cb9a0-cockroachicon.png
@@ -257,7 +257,7 @@ entries:
type: datasource
apiVersion: v2
appVersion: "1.0"
- created: "2026-08-19T16:41:33.139096+05:30"
+ created: "2026-08-28T12:22:53.442024+05:30"
description: Helm chart for deploying cockroachdb datastore
digest: 413d30a76f216aaba3e6e8768d3195006d5248e15f26884291031ad311c111d2
icon: https://storage.googleapis.com/zopdev-test-bucket/zop/files/originals/20250402/331014cf-f38d-484f-9246-1c9a045cb9a0-cockroachicon.png
@@ -270,7 +270,7 @@ entries:
version: v0.0.2
- apiVersion: v1
appVersion: "1.0"
- created: "2026-08-19T16:41:33.138943+05:30"
+ created: "2026-08-28T12:22:53.441887+05:30"
description: Helm chart for deploying cockroachdb datastore
digest: 34f77cf414230048d6da77866c1ac39093625e761b5c68c71b7e214a4191da09
icon: https://zop.dev/logo.png
@@ -284,7 +284,7 @@ entries:
cron-job:
- apiVersion: v1
appVersion: "1.0"
- created: "2026-08-19T16:41:33.141785+05:30"
+ created: "2026-08-28T12:22:53.444451+05:30"
description: Helm chart creates a cron-job, service, alerts along with serviceMonitor
etc
digest: 66c0ffbdb63c5bc7b3e67c06ffac12001d6bc836bfee45502830dbefd288ecd2
@@ -298,7 +298,7 @@ entries:
version: v0.0.18
- apiVersion: v1
appVersion: "1.0"
- created: "2026-08-19T16:41:33.141478+05:30"
+ created: "2026-08-28T12:22:53.444299+05:30"
description: Helm chart creates a cron-job, service, alerts along with serviceMonitor
etc
digest: df89a1f9b87ee180ff45fed5106197ebc98dde611fe12fc26665096d8ad22071
@@ -312,7 +312,7 @@ entries:
version: v0.0.17
- apiVersion: v1
appVersion: "1.0"
- created: "2026-08-19T16:41:33.141317+05:30"
+ created: "2026-08-28T12:22:53.44414+05:30"
description: Helm chart creates a cron-job, service, alerts along with serviceMonitor
etc
digest: b09b48b17c5518b18ff360770bcdb54f1babd195d1f9eabaccbc2dd0041a0ab3
@@ -326,7 +326,7 @@ entries:
version: v0.0.16
- apiVersion: v1
appVersion: "1.0"
- created: "2026-08-19T16:41:33.14111+05:30"
+ created: "2026-08-28T12:22:53.443897+05:30"
description: Helm chart creates a cron-job, service, alerts along with serviceMonitor
etc
digest: 56cb5aa749ecb2d7b6a44b1cc7598bdab04319be280731233e7f1c3edaf0c81a
@@ -340,7 +340,7 @@ entries:
version: v0.0.15
- apiVersion: v1
appVersion: "1.0"
- created: "2026-08-19T16:41:33.140951+05:30"
+ created: "2026-08-28T12:22:53.443743+05:30"
description: Helm chart creates a cron-job, service, alerts along with serviceMonitor
etc
digest: 9fe2649ba7a57a70efbadd6fc7f630f689a285411b6a9a82fa71797f3729d7d1
@@ -354,7 +354,7 @@ entries:
version: v0.0.14
- apiVersion: v1
appVersion: "1.0"
- created: "2026-08-19T16:41:33.140789+05:30"
+ created: "2026-08-28T12:22:53.443579+05:30"
description: Helm chart creates a cron-job, service, alerts along with serviceMonitor
etc
digest: cea536911b8a40c81d0dea88039b651e822f7f520cac1bc7984f1436f6d2db1e
@@ -368,7 +368,7 @@ entries:
version: v0.0.13
- apiVersion: v1
appVersion: "1.0"
- created: "2026-08-19T16:41:33.140619+05:30"
+ created: "2026-08-28T12:22:53.443393+05:30"
description: Helm chart creates a cron-job, service, alerts along with serviceMonitor
etc
digest: 462e6ec152db5248ef7f16884414dc5230e07800b7b068f3f57cb759439f2051
@@ -382,7 +382,7 @@ entries:
version: v0.0.12
- apiVersion: v1
appVersion: "1.0"
- created: "2026-08-19T16:41:33.140442+05:30"
+ created: "2026-08-28T12:22:53.443177+05:30"
description: Helm chart creates a cron-job, service, alerts along with serviceMonitor
etc
digest: 5ec17930747dbefa44d30240d1ecc94f649084f8a252ad3351b5a5f7463bb592
@@ -396,7 +396,7 @@ entries:
version: v0.0.11
- apiVersion: v1
appVersion: "1.0"
- created: "2026-08-19T16:41:33.140103+05:30"
+ created: "2026-08-28T12:22:53.442733+05:30"
description: Helm chart creates a cron-job, service, alerts along with serviceMonitor
etc
digest: ebc0c13fa2b4c085475168759a66c464801a099c00e60790ee3c141a619208e6
@@ -410,7 +410,7 @@ entries:
version: v0.0.10
- apiVersion: v1
appVersion: "1.0"
- created: "2026-08-19T16:41:33.144034+05:30"
+ created: "2026-08-28T12:22:53.445523+05:30"
description: Helm chart creates a cron-job, service, alerts along with serviceMonitor
etc
digest: c59e1c2ca03efcd354674efd6c6142bb897a522511b21ab2204d758c0ad7838d
@@ -424,7 +424,7 @@ entries:
version: v0.0.9
- apiVersion: v1
appVersion: "1.0"
- created: "2026-08-19T16:41:33.143687+05:30"
+ created: "2026-08-28T12:22:53.445388+05:30"
description: Helm chart creates a cron-job, service, alerts along with serviceMonitor
etc
digest: b0b0f1b080fb355d0c0a4c9a793aa08c42ae3d346d3d35924b160402146f3ba4
@@ -438,7 +438,7 @@ entries:
version: v0.0.8
- apiVersion: v1
appVersion: "1.0"
- created: "2026-08-19T16:41:33.143474+05:30"
+ created: "2026-08-28T12:22:53.445253+05:30"
description: Helm chart creates a cron-job, service, alerts along with serviceMonitor
etc
digest: 68deab7c093b6399751337046e2e3d44b2f92583ff5897268b2e7096c3ecc7d4
@@ -452,7 +452,7 @@ entries:
version: v0.0.7
- apiVersion: v1
appVersion: "1.0"
- created: "2026-08-19T16:41:33.143281+05:30"
+ created: "2026-08-28T12:22:53.44512+05:30"
description: Helm chart creates a cron-job, service, alerts along with serviceMonitor
etc
digest: 12ef691b470c85021dea5a2abb22ed85a1eeb0eebb639b4e961ebc9e48b77379
@@ -466,7 +466,7 @@ entries:
version: v0.0.6
- apiVersion: v1
appVersion: "1.0"
- created: "2026-08-19T16:41:33.143117+05:30"
+ created: "2026-08-28T12:22:53.444988+05:30"
description: Helm chart creates a cron-job, service, alerts along with serviceMonitor
etc
digest: feacad697b021e3101356c723937a67384ce40b20d8262f8cb0dccb778ce3409
@@ -480,7 +480,7 @@ entries:
version: v0.0.5
- apiVersion: v1
appVersion: "1.0"
- created: "2026-08-19T16:41:33.142614+05:30"
+ created: "2026-08-28T12:22:53.444855+05:30"
description: Helm chart creates a cron-job, service, alerts along with serviceMonitor
etc
digest: a0b223548907a6e97153e62a80c71fa20a2d1b44d6ddd6f86c99ee1d0bded277
@@ -494,7 +494,7 @@ entries:
version: v0.0.4
- apiVersion: v1
appVersion: "1.0"
- created: "2026-08-19T16:41:33.14236+05:30"
+ created: "2026-08-28T12:22:53.44472+05:30"
description: Helm chart creates a cron-job, service, alerts along with serviceMonitor
etc
digest: 915559e842b254eb709dae62904e6021123d76fba00367c0f676ea471fd9bb34
@@ -508,7 +508,7 @@ entries:
version: v0.0.3
- apiVersion: v1
appVersion: "1.0"
- created: "2026-08-19T16:41:33.142133+05:30"
+ created: "2026-08-28T12:22:53.444582+05:30"
description: Helm chart creates a cron-job, service, alerts along with serviceMonitor
etc
digest: 8647eaeb33477970ec574dfea3549f71d480bb89cac42b99fba36a4f56d2c64f
@@ -522,7 +522,7 @@ entries:
version: v0.0.2
- apiVersion: v1
appVersion: "1.0"
- created: "2026-08-19T16:41:33.139876+05:30"
+ created: "2026-08-28T12:22:53.442576+05:30"
description: Helm chart creates a cron-job, service, alerts along with serviceMonitor
etc
digest: d8ab447cd5bff82957fc1bafdd4a1bdab91cea3b9eba179f17359d4b6265718b
@@ -539,7 +539,7 @@ entries:
type: datasource
apiVersion: v2
appVersion: "1.0"
- created: "2026-08-19T16:41:33.14526+05:30"
+ created: "2026-08-28T12:22:53.446671+05:30"
description: Helm chart for deploying dgraph datastore
digest: 39df09aa5c2fd7d4ff91f023a4257a3fc5690538b99a5a666f9a22d99d3f3c9c
icon: https://storage.googleapis.com/zopdev-test-bucket/zop/files/originals/20250402/b62a941f-db26-4b89-a1c0-6758a616c028-dgraph.png
@@ -554,7 +554,7 @@ entries:
type: datasource
apiVersion: v2
appVersion: "1.0"
- created: "2026-08-19T16:41:33.144956+05:30"
+ created: "2026-08-28T12:22:53.446259+05:30"
description: Helm chart for deploying dgraph datastore
digest: da8b3703d231048d9831066e82fd1a6c6dff59da7a786e8396137b2c22d6ef62
icon: https://storage.googleapis.com/zopdev-test-bucket/zop/files/originals/20250402/b62a941f-db26-4b89-a1c0-6758a616c028-dgraph.png
@@ -567,7 +567,7 @@ entries:
version: v0.0.2
- apiVersion: v1
appVersion: "1.0"
- created: "2026-08-19T16:41:33.144635+05:30"
+ created: "2026-08-28T12:22:53.446068+05:30"
description: Helm chart for deploying dgraph datastore
digest: 81cd012d3d9b7a4b5275d4e0bc16f15cf4c4636eee17d7177c124c37c3f70a34
icon: https://zop.dev/logo.png
@@ -583,7 +583,7 @@ entries:
type: application
apiVersion: v2
appVersion: 0.39.0
- created: "2026-08-19T16:41:33.145847+05:30"
+ created: "2026-08-28T12:22:53.447468+05:30"
description: Helm chart for deploying HolmesGPT, an AI agent for investigating
production incidents
digest: 9fe40f4d3c872120784eb3ba92ef62c21a98958423b1c486b2a84bf28453e96b
@@ -601,7 +601,7 @@ entries:
type: application
apiVersion: v2
appVersion: "1.0"
- created: "2026-08-19T16:41:33.148996+05:30"
+ created: "2026-08-28T12:22:53.450168+05:30"
description: Helm chart for Deploying JupyterHub
digest: 7ff775eacab9ff759dfffc80f435293e04946628eb8b60d291dcfa215d2eaa36
icon: https://storage.googleapis.com/zopdev-test-bucket/zop/files/originals/20250313/e2540703-3750-4d46-ba32-32445e506332-jupyter.png
@@ -617,7 +617,7 @@ entries:
type: application
apiVersion: v2
appVersion: "1.0"
- created: "2026-08-19T16:41:33.148142+05:30"
+ created: "2026-08-28T12:22:53.449388+05:30"
description: Helm chart for Deploying JupyterHub
digest: f84e94e60206ce31fd483c8f95509e3a0633bd37ac69ead5260d25b49c7c2e3d
icon: https://storage.googleapis.com/zopdev-test-bucket/zop/files/originals/20250313/e2540703-3750-4d46-ba32-32445e506332-jupyter.png
@@ -633,7 +633,7 @@ entries:
type: application
apiVersion: v2
appVersion: "1.0"
- created: "2026-08-19T16:41:33.147437+05:30"
+ created: "2026-08-28T12:22:53.448863+05:30"
description: Helm chart for Deploying JupyterHub
digest: 557ab4461adc4e40e2e1ddd0de44f12d06d76ff0b0a42f29feb39b63c7e49360
icon: https://storage.googleapis.com/zopdev-test-bucket/zop/files/originals/20250313/e2540703-3750-4d46-ba32-32445e506332-jupyter.png
@@ -646,7 +646,7 @@ entries:
version: v0.0.2
- apiVersion: v2
appVersion: "1.0"
- created: "2026-08-19T16:41:33.146661+05:30"
+ created: "2026-08-28T12:22:53.448294+05:30"
description: Helm chart for Deploying JupyterHub
digest: 93a2b8063b3bc5ec24e4b9e0978913fa0f79b951e73913f562746cbc9353b0bd
icon: https://storage.googleapis.com/zopdev-test-bucket/zop/files/originals/20250313/e2540703-3750-4d46-ba32-32445e506332-jupyter.png
@@ -663,7 +663,7 @@ entries:
type: datasource
apiVersion: v2
appVersion: "1.0"
- created: "2026-08-19T16:41:33.150574+05:30"
+ created: "2026-08-28T12:22:53.451268+05:30"
dependencies:
- alias: zookeeper
condition: zookeeper.enabled
@@ -684,7 +684,7 @@ entries:
type: datasource
apiVersion: v2
appVersion: "1.0"
- created: "2026-08-19T16:41:33.150209+05:30"
+ created: "2026-08-28T12:22:53.451+05:30"
dependencies:
- alias: zookeeper
condition: zookeeper.enabled
@@ -705,7 +705,7 @@ entries:
type: datasource
apiVersion: v2
appVersion: "1.0"
- created: "2026-08-19T16:41:33.149862+05:30"
+ created: "2026-08-28T12:22:53.450751+05:30"
dependencies:
- alias: zookeeper
condition: zookeeper.enabled
@@ -724,7 +724,7 @@ entries:
version: v0.0.2
- apiVersion: v1
appVersion: "1.0"
- created: "2026-08-19T16:41:33.149458+05:30"
+ created: "2026-08-28T12:22:53.450489+05:30"
description: Helm chart deploys kafka
digest: 1a6d2313a07f4a2786e0fb94acb3cdf30215cf652628f397a91bb68aaa1717e1
icon: https://zop.dev/logo.png
@@ -738,7 +738,7 @@ entries:
karpenter-gcp:
- apiVersion: v2
appVersion: "1.0"
- created: "2026-08-19T16:41:33.152178+05:30"
+ created: "2026-08-28T12:22:53.453008+05:30"
description: A Helm chart for deploying Karpenter in gke cluster
digest: d725414ec4face5ee25f9f6ffc1bea1e3aaccf934cb9bae4ec72f898cf846fa8
maintainers:
@@ -750,7 +750,7 @@ entries:
version: v0.0.3
- apiVersion: v2
appVersion: "1.0"
- created: "2026-08-19T16:41:33.151599+05:30"
+ created: "2026-08-28T12:22:53.452502+05:30"
description: A Helm chart for deploying Karpenter in gke cluster
digest: 4d6c4098860bdaa0d6386e2f638be1ed735b41a2c5e17d31689a33b510b22a40
maintainers:
@@ -762,7 +762,7 @@ entries:
version: v0.0.2
- apiVersion: v2
appVersion: "1.0"
- created: "2026-08-19T16:41:33.151178+05:30"
+ created: "2026-08-28T12:22:53.452045+05:30"
description: A Helm chart for deploying Karpenter in gke cluster
digest: 15f592f10d3084e81219099025ebbe1cef95da8fa50c4874db5b00fe6c8042ad
maintainers:
@@ -777,7 +777,7 @@ entries:
type: application
apiVersion: v2
appVersion: 1.83.14
- created: "2026-08-19T16:41:33.153339+05:30"
+ created: "2026-08-28T12:22:53.454225+05:30"
dependencies:
- condition: postgres.enabled
name: postgres
@@ -798,7 +798,7 @@ entries:
type: application
apiVersion: v2
appVersion: 1.83.14
- created: "2026-08-19T16:41:33.152769+05:30"
+ created: "2026-08-28T12:22:53.453546+05:30"
dependencies:
- condition: postgres.enabled
name: postgres
@@ -820,7 +820,7 @@ entries:
type: application
apiVersion: v2
appVersion: "1.0"
- created: "2026-08-19T16:41:33.154618+05:30"
+ created: "2026-08-28T12:22:53.455802+05:30"
dependencies:
- condition: postgres.enabled
name: postgres
@@ -847,7 +847,7 @@ entries:
type: datasource
apiVersion: v2
appVersion: "1.0"
- created: "2026-08-19T16:41:33.156115+05:30"
+ created: "2026-08-28T12:22:53.457408+05:30"
description: Helm chart for deploying mariadb datastore
digest: c8fbfa56d9332447a678de155e5b3b574edcc0e0c4cf215acb93130f27150e18
icon: https://storage.googleapis.com/zopdev-test-bucket/zop/files/originals/20241210/f80d4fa9-22ff-4ea8-9558-abb1ab3dc4f3-mariadb.png
@@ -862,7 +862,7 @@ entries:
type: datasource
apiVersion: v2
appVersion: "1.0"
- created: "2026-08-19T16:41:33.155797+05:30"
+ created: "2026-08-28T12:22:53.457179+05:30"
description: Helm chart for deploying mariadb datastore
digest: 6b45a459eee41308010175d20ab5caf884bdef6bd9f75e9327c02e9703eace6f
icon: https://storage.googleapis.com/zopdev-test-bucket/zop/files/originals/20241210/f80d4fa9-22ff-4ea8-9558-abb1ab3dc4f3-mariadb.png
@@ -877,7 +877,7 @@ entries:
type: datasource
apiVersion: v2
appVersion: "1.0"
- created: "2026-08-19T16:41:33.155541+05:30"
+ created: "2026-08-28T12:22:53.456902+05:30"
description: Helm chart for deploying mariadb datastore
digest: 301f9f4ce7bc4ed7c87078ba28ecbb9b41527eb244cce884c57b684bbcabc156
icon: https://storage.googleapis.com/zopdev-test-bucket/zop/files/originals/20241210/f80d4fa9-22ff-4ea8-9558-abb1ab3dc4f3-mariadb.png
@@ -892,7 +892,7 @@ entries:
type: datasource
apiVersion: v2
appVersion: "1.0"
- created: "2026-08-19T16:41:33.15525+05:30"
+ created: "2026-08-28T12:22:53.45646+05:30"
description: Helm chart for deploying mariadb datastore
digest: 5f5b91c6e5b772c5b4b862b7dab3bb3c89b346c0af1c53414afcc5beae74f6a6
icon: https://storage.googleapis.com/zopdev-test-bucket/zop/files/originals/20241210/f80d4fa9-22ff-4ea8-9558-abb1ab3dc4f3-mariadb.png
@@ -905,7 +905,7 @@ entries:
version: v0.0.2
- apiVersion: v1
appVersion: "1.0"
- created: "2026-08-19T16:41:33.154948+05:30"
+ created: "2026-08-28T12:22:53.456204+05:30"
description: Helm chart for deploying mariadb datastore
digest: 27f9e8208c4c87915296c1e4a00c2bd0cb6ff48806b2f4e62a11cc85ec66567b
icon: https://zop.dev/logo.png
@@ -921,7 +921,7 @@ entries:
type: datasource
apiVersion: v2
appVersion: "1.0"
- created: "2026-08-19T16:41:33.159026+05:30"
+ created: "2026-08-28T12:22:53.458889+05:30"
description: Helm chart for deploying mysql datastore
digest: 8933b31aae8522b26b7b9e8dbce870674a3f75b9b071df5ae66d44f2d3cb8d90
icon: https://storage.googleapis.com/zopdev-test-bucket/zop/files/originals/20241119/c647e8cc-f958-4e6b-ba08-22dc79ca703a-pngtransparentmysqldatabasemariadbdolphinmarinemammalanimalstextthumbnail.png
@@ -936,7 +936,7 @@ entries:
type: datasource
apiVersion: v2
appVersion: "1.0"
- created: "2026-08-19T16:41:33.158767+05:30"
+ created: "2026-08-28T12:22:53.458649+05:30"
description: Helm chart for deploying mysql datastore
digest: f9a418fb02ae3cee19f627015c84eadf2d9d97dd53e0a2bf0ee8f0b416ebeacc
icon: https://storage.googleapis.com/zopdev-test-bucket/zop/files/originals/20241119/c647e8cc-f958-4e6b-ba08-22dc79ca703a-pngtransparentmysqldatabasemariadbdolphinmarinemammalanimalstextthumbnail.png
@@ -951,7 +951,7 @@ entries:
type: datasource
apiVersion: v2
appVersion: "1.0"
- created: "2026-08-19T16:41:33.158495+05:30"
+ created: "2026-08-28T12:22:53.458491+05:30"
description: Helm chart for deploying mysql datastore
digest: 54bb226a20cf47b56ae0a07585b450f0c0b98e228a4c44567910c1eac18fb858
icon: https://storage.googleapis.com/zopdev-test-bucket/zop/files/originals/20241119/c647e8cc-f958-4e6b-ba08-22dc79ca703a-pngtransparentmysqldatabasemariadbdolphinmarinemammalanimalstextthumbnail.png
@@ -966,7 +966,7 @@ entries:
type: datasource
apiVersion: v2
appVersion: "1.0"
- created: "2026-08-19T16:41:33.15828+05:30"
+ created: "2026-08-28T12:22:53.458335+05:30"
description: Helm chart for deploying mysql datastore
digest: ba225be6ddab11b576bdbfa7ce977fd8b82e47d427f8fa022c122443c872b119
icon: https://storage.googleapis.com/zopdev-test-bucket/zop/files/originals/20241119/c647e8cc-f958-4e6b-ba08-22dc79ca703a-pngtransparentmysqldatabasemariadbdolphinmarinemammalanimalstextthumbnail.png
@@ -981,7 +981,7 @@ entries:
type: datasource
apiVersion: v2
appVersion: "1.0"
- created: "2026-08-19T16:41:33.158048+05:30"
+ created: "2026-08-28T12:22:53.458181+05:30"
description: Helm chart for deploying mysql datastore
digest: 47cd9bffa81e71ce96fdea4303d407d20ed17fc52eeaa29bca329553a5aca117
icon: https://storage.googleapis.com/zopdev-test-bucket/zop/files/originals/20241119/c647e8cc-f958-4e6b-ba08-22dc79ca703a-pngtransparentmysqldatabasemariadbdolphinmarinemammalanimalstextthumbnail.png
@@ -996,7 +996,7 @@ entries:
type: datasource
apiVersion: v2
appVersion: "1.0"
- created: "2026-08-19T16:41:33.15723+05:30"
+ created: "2026-08-28T12:22:53.458035+05:30"
description: Helm chart for deploying mysql datastore
digest: 0a700f2d21091b08e4dffe41fcfe951a31bfcea320df10051e2d27175979a8d6
icon: https://storage.googleapis.com/zopdev-test-bucket/zop/files/originals/20241119/c647e8cc-f958-4e6b-ba08-22dc79ca703a-pngtransparentmysqldatabasemariadbdolphinmarinemammalanimalstextthumbnail.png
@@ -1011,7 +1011,7 @@ entries:
type: datasource
apiVersion: v2
appVersion: "1.0"
- created: "2026-08-19T16:41:33.157+05:30"
+ created: "2026-08-28T12:22:53.457894+05:30"
description: Helm chart for deploying mysql datastore
digest: 61ec682378d67ee959c57acb2a6cb0f60d54bd5a1cf0cac4f8dc88f31b6771e6
icon: https://storage.googleapis.com/zopdev-test-bucket/zop/files/originals/20241119/c647e8cc-f958-4e6b-ba08-22dc79ca703a-pngtransparentmysqldatabasemariadbdolphinmarinemammalanimalstextthumbnail.png
@@ -1026,7 +1026,7 @@ entries:
type: datasource
apiVersion: v2
appVersion: "1.0"
- created: "2026-08-19T16:41:33.156695+05:30"
+ created: "2026-08-28T12:22:53.457753+05:30"
description: Helm chart for deploying mysql datastore
digest: 693f49466f3aa2741fef88115d1cd7c220c2580747cd58801244cdafceb54df1
icon: https://storage.googleapis.com/zopdev-test-bucket/zop/files/originals/20241119/c647e8cc-f958-4e6b-ba08-22dc79ca703a-pngtransparentmysqldatabasemariadbdolphinmarinemammalanimalstextthumbnail.png
@@ -1041,7 +1041,7 @@ entries:
type: datasource
apiVersion: v2
appVersion: "1.0"
- created: "2026-08-19T16:41:33.161551+05:30"
+ created: "2026-08-28T12:22:53.460267+05:30"
description: Helm chart for deploying mysql datastore
digest: f6cea40dae37912aeb37318baeaf51dc048758031492a22ecd7d5d66c12b23bc
icon: https://storage.googleapis.com/zopdev-test-bucket/zop/files/originals/20241119/c647e8cc-f958-4e6b-ba08-22dc79ca703a-pngtransparentmysqldatabasemariadbdolphinmarinemammalanimalstextthumbnail.png
@@ -1056,7 +1056,7 @@ entries:
type: datasource
apiVersion: v2
appVersion: "1.0"
- created: "2026-08-19T16:41:33.161229+05:30"
+ created: "2026-08-28T12:22:53.460007+05:30"
description: Helm chart for deploying mysql datastore
digest: 72cfd04c203bb9e90d50aa06ad2bdd090b546e92c1132f51d485122c7f483105
icon: https://storage.googleapis.com/zopdev-test-bucket/zop/files/originals/20241119/c647e8cc-f958-4e6b-ba08-22dc79ca703a-pngtransparentmysqldatabasemariadbdolphinmarinemammalanimalstextthumbnail.png
@@ -1071,7 +1071,7 @@ entries:
type: datasource
apiVersion: v2
appVersion: "1.0"
- created: "2026-08-19T16:41:33.160916+05:30"
+ created: "2026-08-28T12:22:53.459863+05:30"
description: Helm chart for deploying mysql datastore
digest: cd4a6304ec32384c5a278ba4cc356d5d36abecf639f5c1b49ce8fc0eff4016d6
icon: https://storage.googleapis.com/zopdev-test-bucket/zop/files/originals/20241119/c647e8cc-f958-4e6b-ba08-22dc79ca703a-pngtransparentmysqldatabasemariadbdolphinmarinemammalanimalstextthumbnail.png
@@ -1086,7 +1086,7 @@ entries:
type: datasource
apiVersion: v2
appVersion: "1.0"
- created: "2026-08-19T16:41:33.16063+05:30"
+ created: "2026-08-28T12:22:53.459712+05:30"
description: Helm chart for deploying mysql datastore
digest: 3eb4fdd1593a952a7ff7a10310b48484047eabeacadcf3f039e32d7f1a130c13
icon: https://storage.googleapis.com/zopdev-test-bucket/zop/files/originals/20241119/c647e8cc-f958-4e6b-ba08-22dc79ca703a-pngtransparentmysqldatabasemariadbdolphinmarinemammalanimalstextthumbnail.png
@@ -1101,7 +1101,7 @@ entries:
type: datasource
apiVersion: v2
appVersion: "1.0"
- created: "2026-08-19T16:41:33.160384+05:30"
+ created: "2026-08-28T12:22:53.459552+05:30"
description: Helm chart for deploying mysql datastore
digest: d3635b40f2b416a5616ff1ba50d9572318e285ead03213ee7a5a45caaa8ab5e8
icon: https://storage.googleapis.com/zopdev-test-bucket/zop/files/originals/20241119/c647e8cc-f958-4e6b-ba08-22dc79ca703a-pngtransparentmysqldatabasemariadbdolphinmarinemammalanimalstextthumbnail.png
@@ -1116,7 +1116,7 @@ entries:
type: datasource
apiVersion: v2
appVersion: "1.0"
- created: "2026-08-19T16:41:33.160063+05:30"
+ created: "2026-08-28T12:22:53.459417+05:30"
description: Helm chart for deploying mysql datastore
digest: 22a84b7172e1424845524d9c2a06a3ec7c29f445349ff4650531001bd50fb5a8
icon: https://zop.dev/logo.png
@@ -1129,7 +1129,7 @@ entries:
version: v0.0.4
- apiVersion: v1
appVersion: "1.0"
- created: "2026-08-19T16:41:33.159399+05:30"
+ created: "2026-08-28T12:22:53.459285+05:30"
description: Helm chart for deploying mysql datastore
digest: cd72e08b2235de99a477dfad97c1d13fff7ae5e37397f0d6dbd682bf949b2046
icon: https://zop.dev/logo.png
@@ -1142,7 +1142,7 @@ entries:
version: v0.0.3
- apiVersion: v1
appVersion: "1.0"
- created: "2026-08-19T16:41:33.159219+05:30"
+ created: "2026-08-28T12:22:53.459043+05:30"
description: Helm chart for deploying mysql datastore
digest: 7e4bf128d43f03e3930457b8eb731935c98c82b2528a5c28559a921850cb5922
icon: https://zop.dev/logo.png
@@ -1155,7 +1155,7 @@ entries:
version: v0.0.2
- apiVersion: v1
appVersion: "1.0"
- created: "2026-08-19T16:41:33.156309+05:30"
+ created: "2026-08-28T12:22:53.457609+05:30"
description: Helm chart for deploying mysql datastore
digest: d1b0b8aff145de7076aa97054be6da52e769ac7be00d8453500a75ac82cc0d07
icon: https://zop.dev/logo.png
@@ -1166,10 +1166,32 @@ entries:
urls:
- https://helm.zop.dev/mysql-v0.0.1.tgz
version: v0.0.1
+ n8n:
+ - annotations:
+ type: application
+ apiVersion: v2
+ appVersion: 2.35.3
+ created: "2026-08-28T12:22:53.460916+05:30"
+ dependencies:
+ - condition: postgres.enabled
+ name: postgres
+ repository: https://helm.zop.dev
+ version: 0.0.14
+ description: Helm chart for deploying n8n, a workflow automation platform
+ digest: f1ae0551bd72d2b73eef305364aa4dd74ad0b5057648a53d9157acd35cbdff45
+ icon: https://storage.googleapis.com/zopdev-blog-resources/1/files/originals/20260812/71ab17a6-11d5-4280-a267-1749b533b756-n8n.png
+ maintainers:
+ - name: ZopDev
+ url: zop.dev
+ name: n8n
+ type: application
+ urls:
+ - https://helm.zop.dev/n8n-v0.0.1.tgz
+ version: v0.0.1
openobserve-standalone:
- apiVersion: v2
appVersion: v1.0.0
- created: "2026-08-19T16:41:33.16371+05:30"
+ created: "2026-08-28T12:22:53.462378+05:30"
dependencies:
- condition: minio.enabled
name: minio
@@ -1190,7 +1212,7 @@ entries:
type: datasource
apiVersion: v2
appVersion: "1.0"
- created: "2026-08-19T16:41:33.164606+05:30"
+ created: "2026-08-28T12:22:53.463169+05:30"
dependencies:
- name: zookeeper
repository: https://helm.zop.dev
@@ -1209,7 +1231,7 @@ entries:
type: datasource
apiVersion: v2
appVersion: "1.0"
- created: "2026-08-19T16:41:33.164302+05:30"
+ created: "2026-08-28T12:22:53.462753+05:30"
description: Helm chart for deploying opentsdb
digest: ceb20fb363bef19fbc077ba7647b389a9741f0b748b555f23e2e6bd6b5f97020
icon: https://storage.googleapis.com/zopdev-test-bucket/zop/files/originals/20241122/42ea9c53-055c-4441-8438-95d639dfc2f4-2086220.png
@@ -1224,7 +1246,7 @@ entries:
type: datasource
apiVersion: v2
appVersion: "1.0"
- created: "2026-08-19T16:41:33.164104+05:30"
+ created: "2026-08-28T12:22:53.46263+05:30"
description: Helm chart for deploying opentsdb
digest: e20e1734631e6079fe6e8e44b6c63d46c49c9888f99e0b9706d22bed09b4c8be
icon: https://storage.googleapis.com/zopdev-test-bucket/zop/files/originals/20241122/42ea9c53-055c-4441-8438-95d639dfc2f4-2086220.png
@@ -1237,7 +1259,7 @@ entries:
version: v0.0.2
- apiVersion: v1
appVersion: "1.0"
- created: "2026-08-19T16:41:33.163918+05:30"
+ created: "2026-08-28T12:22:53.462497+05:30"
description: Helm chart for deploying opentsdb
digest: fd3473ad09c60da40c8ddbb319a4c015774d0ae35c0e7da5556949bcbde39f7e
icon: https://zop.dev/logo.png
@@ -1253,7 +1275,7 @@ entries:
type: application
apiVersion: v2
appVersion: "1.0"
- created: "2026-08-19T16:41:33.171173+05:30"
+ created: "2026-08-28T12:22:53.469568+05:30"
dependencies:
- name: postgres
repository: https://helm.zop.dev
@@ -1279,7 +1301,7 @@ entries:
type: application
apiVersion: v2
appVersion: "1.0"
- created: "2026-08-19T16:41:33.169944+05:30"
+ created: "2026-08-28T12:22:53.468387+05:30"
dependencies:
- name: postgres
repository: https://helm.zop.dev
@@ -1305,7 +1327,7 @@ entries:
type: application
apiVersion: v2
appVersion: "1.0"
- created: "2026-08-19T16:41:33.169321+05:30"
+ created: "2026-08-28T12:22:53.467759+05:30"
dependencies:
- name: postgres
repository: https://helm.zop.dev
@@ -1331,7 +1353,7 @@ entries:
type: application
apiVersion: v2
appVersion: "1.0"
- created: "2026-08-19T16:41:33.168758+05:30"
+ created: "2026-08-28T12:22:53.467211+05:30"
dependencies:
- name: postgres
repository: https://helm.zop.dev
@@ -1357,7 +1379,7 @@ entries:
type: application
apiVersion: v2
appVersion: "1.0"
- created: "2026-08-19T16:41:33.168189+05:30"
+ created: "2026-08-28T12:22:53.466656+05:30"
dependencies:
- name: postgres
repository: https://helm.zop.dev
@@ -1383,7 +1405,7 @@ entries:
type: application
apiVersion: v2
appVersion: "1.0"
- created: "2026-08-19T16:41:33.167486+05:30"
+ created: "2026-08-28T12:22:53.465966+05:30"
dependencies:
- name: postgres
repository: https://helm.zop.dev
@@ -1406,7 +1428,7 @@ entries:
version: v0.0.4
- apiVersion: v2
appVersion: "1.0"
- created: "2026-08-19T16:41:33.166481+05:30"
+ created: "2026-08-28T12:22:53.465324+05:30"
dependencies:
- name: postgres
repository: https://helm.zop.dev
@@ -1430,7 +1452,7 @@ entries:
version: v0.0.3
- apiVersion: v2
appVersion: "1.0"
- created: "2026-08-19T16:41:33.165805+05:30"
+ created: "2026-08-28T12:22:53.464576+05:30"
dependencies:
- name: postgres
repository: https://helm.zop.dev
@@ -1454,7 +1476,7 @@ entries:
version: v0.0.2
- apiVersion: v1
appVersion: "1.0"
- created: "2026-08-19T16:41:33.1652+05:30"
+ created: "2026-08-28T12:22:53.463792+05:30"
description: Helm chart for deploying outline app
digest: 4a24106f04a0e89503000afc5a7fd2546eff2e092caf500b12a48bbd2d17e659
icon: https://zop.dev/logo.png
@@ -1470,7 +1492,7 @@ entries:
type: datasource
apiVersion: v2
appVersion: "1.0"
- created: "2026-08-19T16:41:33.172643+05:30"
+ created: "2026-08-28T12:22:53.471335+05:30"
description: Helm chart for deploying postgres datastore
digest: 3d916bf50ee92014d900f4a23c2a47d8ffa017cf1eddd651490ce29e94fb3a1d
icon: https://storage.googleapis.com/zopdev-test-bucket/zop/files/originals/20241119/e4d58134-93e4-478e-851b-3a70b58dcd81-Postgresqlelephantsvg.jpg
@@ -1485,7 +1507,7 @@ entries:
type: datasource
apiVersion: v2
appVersion: "1.0"
- created: "2026-08-19T16:41:33.172379+05:30"
+ created: "2026-08-28T12:22:53.471044+05:30"
description: Helm chart for deploying postgres datastore
digest: 561e553524e45ab009d9003bc44282d50186faab995df321563406897d78d7bc
icon: https://storage.googleapis.com/zopdev-test-bucket/zop/files/originals/20241119/e4d58134-93e4-478e-851b-3a70b58dcd81-Postgresqlelephantsvg.jpg
@@ -1500,7 +1522,7 @@ entries:
type: datasource
apiVersion: v2
appVersion: "1.0"
- created: "2026-08-19T16:41:33.172145+05:30"
+ created: "2026-08-28T12:22:53.470776+05:30"
description: Helm chart for deploying postgres datastore
digest: 7fb9fa1dc8d60d142b1033ce34e7c5e218719748fa9316308687d1fc1a881147
icon: https://storage.googleapis.com/zopdev-test-bucket/zop/files/originals/20241119/e4d58134-93e4-478e-851b-3a70b58dcd81-Postgresqlelephantsvg.jpg
@@ -1515,7 +1537,7 @@ entries:
type: datasource
apiVersion: v2
appVersion: "1.0"
- created: "2026-08-19T16:41:33.171886+05:30"
+ created: "2026-08-28T12:22:53.470369+05:30"
description: Helm chart for deploying postgres datastore
digest: d6cbd601071407c68195931900b60f04e4ef50a2f52413c60a3b24ed9d2581d6
icon: https://storage.googleapis.com/zopdev-test-bucket/zop/files/originals/20241119/e4d58134-93e4-478e-851b-3a70b58dcd81-Postgresqlelephantsvg.jpg
@@ -1530,7 +1552,7 @@ entries:
type: datasource
apiVersion: v2
appVersion: "1.0"
- created: "2026-08-19T16:41:33.171677+05:30"
+ created: "2026-08-28T12:22:53.470091+05:30"
description: Helm chart for deploying postgres datastore
digest: c017d3ee10187abf8e55c01a6aa197a889e2108d4177fd27a852ea0066f2702f
icon: https://storage.googleapis.com/zopdev-test-bucket/zop/files/originals/20241119/e4d58134-93e4-478e-851b-3a70b58dcd81-Postgresqlelephantsvg.jpg
@@ -1545,7 +1567,7 @@ entries:
type: datasource
apiVersion: v2
appVersion: "1.0"
- created: "2026-08-19T16:41:33.174892+05:30"
+ created: "2026-08-28T12:22:53.472693+05:30"
description: Helm chart for deploying postgres datastore
digest: 623814cf583d824ed687749f0b089cd8a7e7a2b2163a26ae45cd34450323df27
icon: https://storage.googleapis.com/zopdev-test-bucket/zop/files/originals/20241119/e4d58134-93e4-478e-851b-3a70b58dcd81-Postgresqlelephantsvg.jpg
@@ -1560,7 +1582,7 @@ entries:
type: datasource
apiVersion: v2
appVersion: "1.0"
- created: "2026-08-19T16:41:33.174628+05:30"
+ created: "2026-08-28T12:22:53.472528+05:30"
description: Helm chart for deploying postgres datastore
digest: 760b6075b10c9044cade7a1692a1a2b22363335710ac50a60e90890864665e41
icon: https://storage.googleapis.com/zopdev-test-bucket/zop/files/originals/20241119/e4d58134-93e4-478e-851b-3a70b58dcd81-Postgresqlelephantsvg.jpg
@@ -1575,7 +1597,7 @@ entries:
type: datasource
apiVersion: v2
appVersion: "1.0"
- created: "2026-08-19T16:41:33.174378+05:30"
+ created: "2026-08-28T12:22:53.472372+05:30"
description: Helm chart for deploying postgres datastore
digest: d155a052c1ede6249edb2b0b30720ddaf0e7dda52bc352d4f231359e40456068
icon: https://storage.googleapis.com/zopdev-test-bucket/zop/files/originals/20241119/e4d58134-93e4-478e-851b-3a70b58dcd81-Postgresqlelephantsvg.jpg
@@ -1590,7 +1612,7 @@ entries:
type: datasource
apiVersion: v2
appVersion: "1.0"
- created: "2026-08-19T16:41:33.174197+05:30"
+ created: "2026-08-28T12:22:53.47221+05:30"
description: Helm chart for deploying postgres datastore
digest: c1767b70e53d69d8680170e759780cdc4492f483f5896307412355331c16c7ea
icon: https://storage.googleapis.com/zopdev-test-bucket/zop/files/originals/20241119/e4d58134-93e4-478e-851b-3a70b58dcd81-Postgresqlelephantsvg.jpg
@@ -1605,7 +1627,7 @@ entries:
type: datasource
apiVersion: v2
appVersion: "1.0"
- created: "2026-08-19T16:41:33.173564+05:30"
+ created: "2026-08-28T12:22:53.472046+05:30"
description: Helm chart for deploying postgres datastore
digest: 06347f98453069747de484984e4dafe36bbf79f386ef76f3de735d6ece206085
icon: https://storage.googleapis.com/zopdev-test-bucket/zop/files/originals/20241119/e4d58134-93e4-478e-851b-3a70b58dcd81-Postgresqlelephantsvg.jpg
@@ -1620,7 +1642,7 @@ entries:
type: datasource
apiVersion: v2
appVersion: "1.0"
- created: "2026-08-19T16:41:33.173338+05:30"
+ created: "2026-08-28T12:22:53.471907+05:30"
description: Helm chart for deploying postgres datastore
digest: 75b652602f68dc46effc64332320aa5383b89561db869db77396bd1ab0ff55b6
icon: https://zop.dev/logo.png
@@ -1633,7 +1655,7 @@ entries:
version: v0.0.4
- apiVersion: v1
appVersion: "1.0"
- created: "2026-08-19T16:41:33.173119+05:30"
+ created: "2026-08-28T12:22:53.471772+05:30"
description: Helm chart for deploying postgres datastore
digest: 8d9d5a47255fc7d149c3975386c0adf8b3e9ad66ae9d6c1da0ca7ea7d9cf3f69
icon: https://zop.dev/logo.png
@@ -1646,7 +1668,7 @@ entries:
version: v0.0.3
- apiVersion: v1
appVersion: "1.0"
- created: "2026-08-19T16:41:33.172902+05:30"
+ created: "2026-08-28T12:22:53.471644+05:30"
description: Helm chart for deploying postgres datastore
digest: ffc38c1a1dbc3f4e2db9ff742475e2380094c912d9f84a3a2e6511fac6f04133
icon: https://zop.dev/logo.png
@@ -1659,7 +1681,7 @@ entries:
version: v0.0.2
- apiVersion: v1
appVersion: "1.0"
- created: "2026-08-19T16:41:33.171394+05:30"
+ created: "2026-08-28T12:22:53.469823+05:30"
description: Helm chart for deploying postgres datastore
digest: 6e8a630281561184374d252a30f3541faa49fed00d072d4e0b37b4363b1bdc7b
icon: https://zop.dev/logo.png
@@ -1675,7 +1697,7 @@ entries:
type: datasource
apiVersion: v2
appVersion: 1.19.0
- created: "2026-08-19T16:41:33.175062+05:30"
+ created: "2026-08-28T12:22:53.472871+05:30"
description: High-performance vector database for AI search, recommendations and
RAG
digest: fc7c2cc582f1738876a5fb64c63211e2fa225dbca5069ee274280dedb976822c
@@ -1692,7 +1714,7 @@ entries:
type: datasource
apiVersion: v2
appVersion: "1.0"
- created: "2026-08-19T16:41:33.176451+05:30"
+ created: "2026-08-28T12:22:53.474133+05:30"
description: Helm chart deploys redis instance
digest: 54cb3cd6a2fc657a8c9074177e0472a1363b190ec7fe359f8d537fbcc2ff33d0
icon: https://storage.googleapis.com/zopdev-test-bucket/zop/files/originals/20241119/a322e6a1-2433-4ff5-b778-6372fc27bedd-cdnlogocomredis2min111.jpg
@@ -1707,7 +1729,7 @@ entries:
type: datasource
apiVersion: v2
appVersion: "1.0"
- created: "2026-08-19T16:41:33.176249+05:30"
+ created: "2026-08-28T12:22:53.473996+05:30"
description: Helm chart deploys redis instance
digest: 09e347bc7fb6663917771eb3c345f3d86ed552d3fdafab6a4db4cefddd3da40b
icon: https://storage.googleapis.com/zopdev-test-bucket/zop/files/originals/20241119/a322e6a1-2433-4ff5-b778-6372fc27bedd-cdnlogocomredis2min111.jpg
@@ -1722,7 +1744,7 @@ entries:
type: datasource
apiVersion: v2
appVersion: "1.0"
- created: "2026-08-19T16:41:33.175623+05:30"
+ created: "2026-08-28T12:22:53.47385+05:30"
description: Helm chart deploys redis instance
digest: 29fea3bd4a21a6e3af62c433d46406361ec09348b65f7a761c55a8fe0f36d90c
icon: https://storage.googleapis.com/zopdev-test-bucket/zop/files/originals/20241119/a322e6a1-2433-4ff5-b778-6372fc27bedd-cdnlogocomredis2min111.jpg
@@ -1737,7 +1759,7 @@ entries:
type: datasource
apiVersion: v2
appVersion: "1.0"
- created: "2026-08-19T16:41:33.175393+05:30"
+ created: "2026-08-28T12:22:53.473721+05:30"
description: Helm chart deploys redis instance
digest: a25641daa9934bd778b27d537c2c3f5ed8bbc80df243e615b5abd78af43f1920
icon: https://storage.googleapis.com/zopdev-test-bucket/zop/files/originals/20241119/a322e6a1-2433-4ff5-b778-6372fc27bedd-cdnlogocomredis2min111.jpg
@@ -1750,7 +1772,7 @@ entries:
version: v0.0.2
- apiVersion: v1
appVersion: "1.0"
- created: "2026-08-19T16:41:33.175204+05:30"
+ created: "2026-08-28T12:22:53.473188+05:30"
description: Helm chart deploys redis instance
digest: a1181c8d8c0808bfcbcd59a7ba08d675f83285221fff6fa10bc3fbc6014305e2
icon: https://zop.dev/logo.png
@@ -1766,7 +1788,7 @@ entries:
type: datasource
apiVersion: v2
appVersion: "1.0"
- created: "2026-08-19T16:41:33.177215+05:30"
+ created: "2026-08-28T12:22:53.474845+05:30"
description: Helm chart deploys redis distributed instance
digest: ef079609c1fcb4d3fff8c961050551aed044cee88161f808a044d3fc8a7d7567
icon: https://storage.googleapis.com/zopdev-test-bucket/zop/files/originals/20241227/beaa0bf2-efc3-4096-9616-69568624a7d6-redisdistributed.png
@@ -1781,7 +1803,7 @@ entries:
type: datasource
apiVersion: v2
appVersion: "1.0"
- created: "2026-08-19T16:41:33.176985+05:30"
+ created: "2026-08-28T12:22:53.47467+05:30"
description: Helm chart deploys redis distributed instance
digest: 8e331db39a745eec8d28e365d044b82717631ef1c74cd8d1ded504546e55e586
icon: https://storage.googleapis.com/zopdev-test-bucket/zop/files/originals/20241227/beaa0bf2-efc3-4096-9616-69568624a7d6-redisdistributed.png
@@ -1796,7 +1818,7 @@ entries:
type: datasource
apiVersion: v2
appVersion: "1.0"
- created: "2026-08-19T16:41:33.176835+05:30"
+ created: "2026-08-28T12:22:53.474516+05:30"
description: Helm chart deploys redis distributed instance
digest: 46722cb13848de0ecd10e75b1ae0c34ae14d9bd648c46175357c3e1a4973be9c
icon: https://storage.googleapis.com/zopdev-test-bucket/zop/files/originals/20241227/beaa0bf2-efc3-4096-9616-69568624a7d6-redisdistributed.png
@@ -1811,7 +1833,7 @@ entries:
type: datasource
apiVersion: v2
appVersion: "1.0"
- created: "2026-08-19T16:41:33.17668+05:30"
+ created: "2026-08-28T12:22:53.474372+05:30"
description: Helm chart deploys redis distributed instance
digest: dca0d7799dc7c6f51ba5d64cb9708bade16a19446a543fa98b43093576291108
icon: https://storage.googleapis.com/zopdev-test-bucket/zop/files/originals/20241227/beaa0bf2-efc3-4096-9616-69568624a7d6-redisdistributed.png
@@ -1825,7 +1847,7 @@ entries:
scylladb:
- apiVersion: v1
appVersion: "1.0"
- created: "2026-08-19T16:41:33.177593+05:30"
+ created: "2026-08-28T12:22:53.475125+05:30"
description: Helm chart for deploying ScyllaDB
digest: 88843927b917732223dd0f0a09e9570dd507b8a7d5af519ea555f258a8bc009f
icon: https://zop.dev/logo.png
@@ -1838,7 +1860,7 @@ entries:
version: v0.0.2
- apiVersion: v1
appVersion: "1.0"
- created: "2026-08-19T16:41:33.177406+05:30"
+ created: "2026-08-28T12:22:53.474977+05:30"
description: Helm chart for deploying ScyllaDB
digest: 715797a89c9a8d06bfd839f68a18b4a720db459539581043daf153d72994e420
icon: https://zop.dev/logo.png
@@ -1852,7 +1874,7 @@ entries:
service:
- apiVersion: v1
appVersion: "1.0"
- created: "2026-08-19T16:41:33.188152+05:30"
+ created: "2026-08-28T12:22:53.485259+05:30"
description: Helm chart creates a deployment, service, hpa for a service along
with serviceMonitor etc
digest: 23b3e69dea6cb6f9af99f3d690aaa56802f9a8eec1bfeff46f48a5ef638b087e
@@ -1866,7 +1888,7 @@ entries:
version: v0.0.32
- apiVersion: v1
appVersion: "1.0"
- created: "2026-08-19T16:41:33.187664+05:30"
+ created: "2026-08-28T12:22:53.484775+05:30"
description: Helm chart creates a deployment, service, hpa for a service along
with serviceMonitor etc
digest: e91c0e50880aac92d0e5db2fbc4b05372d382f37c7289cf93068a99da777f989
@@ -1880,7 +1902,7 @@ entries:
version: v0.0.31
- apiVersion: v1
appVersion: "1.0"
- created: "2026-08-19T16:41:33.187179+05:30"
+ created: "2026-08-28T12:22:53.484303+05:30"
description: Helm chart creates a deployment, service, hpa for a service along
with serviceMonitor etc
digest: 260220b14ca4912bc17c3a6a6bde30b4f4e9f714701c48435a1bfc4ea1a4709d
@@ -1894,7 +1916,7 @@ entries:
version: v0.0.30
- apiVersion: v1
appVersion: "1.0"
- created: "2026-08-19T16:41:33.186398+05:30"
+ created: "2026-08-28T12:22:53.483588+05:30"
description: Helm chart creates a deployment, service, hpa for a service along
with serviceMonitor etc
digest: 696c79878cb5a290bf4433e01ff9525e219fd00134c4b9fdb7a1b9e8d81d590a
@@ -1908,7 +1930,7 @@ entries:
version: v0.0.29
- apiVersion: v1
appVersion: "1.0"
- created: "2026-08-19T16:41:33.185934+05:30"
+ created: "2026-08-28T12:22:53.48327+05:30"
description: Helm chart creates a deployment, service, hpa for a service along
with serviceMonitor etc
digest: 0721018c635b98bc7d6d51c71a3770f075eed1e3c859f568179b79e7d48ed130
@@ -1922,7 +1944,7 @@ entries:
version: v0.0.28
- apiVersion: v1
appVersion: "1.0"
- created: "2026-08-19T16:41:33.185616+05:30"
+ created: "2026-08-28T12:22:53.482954+05:30"
description: Helm chart creates a deployment, service, hpa for a service along
with serviceMonitor etc
digest: c110801168b355cc2c6de64d0adad1dc8e7c08cbefacffc54f07cc8abb9eb9fd
@@ -1936,7 +1958,7 @@ entries:
version: v0.0.27
- apiVersion: v1
appVersion: "1.0"
- created: "2026-08-19T16:41:33.184516+05:30"
+ created: "2026-08-28T12:22:53.481959+05:30"
description: Helm chart creates a deployment, service, hpa for a service along
with serviceMonitor etc
digest: abfe37cc7137ab2f6077b2dace85bb550dd60dcfbed009edcb804cf590143bef
@@ -1950,7 +1972,7 @@ entries:
version: v0.0.26
- apiVersion: v1
appVersion: "1.0"
- created: "2026-08-19T16:41:33.184215+05:30"
+ created: "2026-08-28T12:22:53.481624+05:30"
description: Helm chart creates a deployment, service, hpa for a service along
with serviceMonitor etc
digest: 3cabf00ba943c3e9d27a0b84df5175197b0f4105b732028eca650ad4ed402072
@@ -1964,7 +1986,7 @@ entries:
version: v0.0.25
- apiVersion: v1
appVersion: "1.0"
- created: "2026-08-19T16:41:33.183803+05:30"
+ created: "2026-08-28T12:22:53.480882+05:30"
description: Helm chart creates a deployment, service, hpa for a service along
with serviceMonitor etc
digest: 666480b58aca6a312a915fc1e51ac0c717444f0d95345a4367c70d73b891f566
@@ -1978,7 +2000,7 @@ entries:
version: v0.0.24
- apiVersion: v1
appVersion: "1.0"
- created: "2026-08-19T16:41:33.183366+05:30"
+ created: "2026-08-28T12:22:53.480433+05:30"
description: Helm chart creates a deployment, service, hpa for a service along
with serviceMonitor etc
digest: 0b397d47f66b85d9e14cad455c1328397c70f0483f39428d83c56839c99f7c29
@@ -1992,7 +2014,7 @@ entries:
version: v0.0.23
- apiVersion: v1
appVersion: "1.0"
- created: "2026-08-19T16:41:33.183002+05:30"
+ created: "2026-08-28T12:22:53.480077+05:30"
description: Helm chart creates a deployment, service, hpa for a service along
with serviceMonitor etc
digest: c763047324f4bf10eb76fe0ff1fc5dcb5ab9c1c5b0ca67003e73f50822a507b7
@@ -2006,7 +2028,7 @@ entries:
version: v0.0.22
- apiVersion: v1
appVersion: "1.0"
- created: "2026-08-19T16:41:33.182602+05:30"
+ created: "2026-08-28T12:22:53.479797+05:30"
description: Helm chart creates a deployment, service, hpa for a service along
with serviceMonitor etc
digest: ba222bd78f7fcf4bb6ff0cb192e19b68d968c1d2573ef71d18adb57bf8774678
@@ -2020,7 +2042,7 @@ entries:
version: v0.0.21
- apiVersion: v1
appVersion: "1.0"
- created: "2026-08-19T16:41:33.182242+05:30"
+ created: "2026-08-28T12:22:53.479509+05:30"
description: Helm chart creates a deployment, service, hpa for a service along
with serviceMonitor etc
digest: 2f64dfd5959cc287274fd582fc7308fb60971ac58881cb3458f79f7426c42c63
@@ -2034,7 +2056,7 @@ entries:
version: v0.0.20
- apiVersion: v1
appVersion: "1.0"
- created: "2026-08-19T16:41:33.181756+05:30"
+ created: "2026-08-28T12:22:53.479014+05:30"
description: Helm chart creates a deployment, service, hpa for a service along
with serviceMonitor etc
digest: 51b7fcff52739a83c4107516026ec0c270b0f8633e9399dccbdf2a8f6006a1d2
@@ -2048,7 +2070,7 @@ entries:
version: v0.0.19
- apiVersion: v1
appVersion: "1.0"
- created: "2026-08-19T16:41:33.18132+05:30"
+ created: "2026-08-28T12:22:53.478765+05:30"
description: Helm chart creates a deployment, service, hpa for a service along
with serviceMonitor etc
digest: 8ebbf53c27110582d1d3aa775eae4eb1028672776015dcbfe798ff0c5056b8b1
@@ -2062,7 +2084,7 @@ entries:
version: v0.0.18
- apiVersion: v1
appVersion: "1.0"
- created: "2026-08-19T16:41:33.180909+05:30"
+ created: "2026-08-28T12:22:53.478501+05:30"
description: Helm chart creates a deployment, service, hpa for a service along
with serviceMonitor etc
digest: 6901e261fe4617b08207cf498845614275ebac2bfaed54ad5eb8f640a7150ead
@@ -2076,7 +2098,7 @@ entries:
version: v0.0.17
- apiVersion: v1
appVersion: "1.0"
- created: "2026-08-19T16:41:33.180384+05:30"
+ created: "2026-08-28T12:22:53.478037+05:30"
description: Helm chart creates a deployment, service, hpa for a service along
with serviceMonitor etc
digest: 0b49c92f2075609563e6d596d205045f3299d2dcbcbe09a3194a7e12b4df617c
@@ -2090,7 +2112,7 @@ entries:
version: v0.0.16
- apiVersion: v1
appVersion: "1.0"
- created: "2026-08-19T16:41:33.180152+05:30"
+ created: "2026-08-28T12:22:53.477615+05:30"
description: Helm chart creates a deployment, service, hpa for a service along
with serviceMonitor etc
digest: 9b25ba867e6c7297bcae9a7795cc29348006f1d310e7f563b948ffaceb760149
@@ -2104,7 +2126,7 @@ entries:
version: v0.0.15
- apiVersion: v1
appVersion: "1.0"
- created: "2026-08-19T16:41:33.179695+05:30"
+ created: "2026-08-28T12:22:53.477146+05:30"
description: Helm chart creates a deployment, service, hpa for a service along
with serviceMonitor etc
digest: f74d351c335d5b9db31685da2bf5cab33079593bdc0b010f710cb54df9b6bab1
@@ -2118,7 +2140,7 @@ entries:
version: v0.0.14
- apiVersion: v1
appVersion: "1.0"
- created: "2026-08-19T16:41:33.179301+05:30"
+ created: "2026-08-28T12:22:53.476562+05:30"
description: Helm chart creates a deployment, service, hpa for a service along
with serviceMonitor etc
digest: eca3b5e28c90dcbed32071e7b28dfab4e88014a679bbd16a03729f34c9dccc5f
@@ -2132,7 +2154,7 @@ entries:
version: v0.0.13
- apiVersion: v1
appVersion: "1.0"
- created: "2026-08-19T16:41:33.179012+05:30"
+ created: "2026-08-28T12:22:53.476197+05:30"
description: Helm chart creates a deployment, service, hpa for a service along
with serviceMonitor etc
digest: 4cc6acd625ea36bdb9bd874c4d648efb379129438f48c91098a59e8d84ba3620
@@ -2146,7 +2168,7 @@ entries:
version: v0.0.12
- apiVersion: v1
appVersion: "1.0"
- created: "2026-08-19T16:41:33.178715+05:30"
+ created: "2026-08-28T12:22:53.475879+05:30"
description: Helm chart creates a deployment, service, hpa for a service along
with serviceMonitor etc
digest: 08769b7fe4e8be7e26a53329c764abd9013dca805e6249ccf3d8a8155a9a8959
@@ -2160,7 +2182,7 @@ entries:
version: v0.0.11
- apiVersion: v1
appVersion: "1.0"
- created: "2026-08-19T16:41:33.17817+05:30"
+ created: "2026-08-28T12:22:53.475614+05:30"
description: Helm chart creates a deployment, service, hpa for a service along
with serviceMonitor etc
digest: 1d3435fe1e7dc358e2941621aadf1ba21d16fa4f72d8320810c61f5a11ae7189
@@ -2174,7 +2196,7 @@ entries:
version: v0.0.10
- apiVersion: v1
appVersion: "1.0"
- created: "2026-08-19T16:41:33.19067+05:30"
+ created: "2026-08-28T12:22:53.487448+05:30"
description: Helm chart creates a deployment, service, hpa for a service along
with serviceMonitor etc
digest: 6c65c363d54c2463167d77451525c546b08ed030143fb911a51c34b1d5967f45
@@ -2188,7 +2210,7 @@ entries:
version: v0.0.9
- apiVersion: v1
appVersion: "1.0"
- created: "2026-08-19T16:41:33.190409+05:30"
+ created: "2026-08-28T12:22:53.487186+05:30"
description: Helm chart creates a deployment, service, hpa for a service along
with serviceMonitor etc
digest: e9feb789d09a51445657aa1a2c71e87411bcbae36a366c4ae8f6b200049addba
@@ -2202,7 +2224,7 @@ entries:
version: v0.0.8
- apiVersion: v1
appVersion: "1.0"
- created: "2026-08-19T16:41:33.189498+05:30"
+ created: "2026-08-28T12:22:53.48692+05:30"
description: Helm chart creates a deployment, service, hpa for a service along
with serviceMonitor etc
digest: c5793cb3415ae0b68cfdc44fb9927ce68f0f4b77e50c7ab3cef610ed5d1cb98e
@@ -2216,7 +2238,7 @@ entries:
version: v0.0.7
- apiVersion: v1
appVersion: "1.0"
- created: "2026-08-19T16:41:33.189252+05:30"
+ created: "2026-08-28T12:22:53.486236+05:30"
description: Helm chart creates a deployment, service, hpa for a service along
with serviceMonitor etc
digest: b45dd74d7722d961d949102c81b2321ff1d575c3e94fbd9bf5aca9e328626d49
@@ -2230,7 +2252,7 @@ entries:
version: v0.0.6
- apiVersion: v1
appVersion: "1.0"
- created: "2026-08-19T16:41:33.188852+05:30"
+ created: "2026-08-28T12:22:53.485897+05:30"
description: Helm chart creates a deployment, service, hpa for a service along
with serviceMonitor etc
digest: 0d10278e951800d9b46a1415e090c62ff642ecbdc0f181fba617bf273799114a
@@ -2244,7 +2266,7 @@ entries:
version: v0.0.5
- apiVersion: v1
appVersion: "1.0"
- created: "2026-08-19T16:41:33.188476+05:30"
+ created: "2026-08-28T12:22:53.485578+05:30"
description: Helm chart creates a deployment, service, hpa for a service along
with serviceMonitor etc
digest: f405204dd81300e58188ca5d41efbd6ea3f1b8f08bd50d65ea95000d38edc517
@@ -2258,7 +2280,7 @@ entries:
version: v0.0.4
- apiVersion: v1
appVersion: "1.0"
- created: "2026-08-19T16:41:33.186757+05:30"
+ created: "2026-08-28T12:22:53.483982+05:30"
description: Helm chart creates a deployment, service, hpa for a service along
with serviceMonitor etc
digest: f31132842aca2478c10457f6e323ffa566cca222afc58996d42a08f6f87a121e
@@ -2272,7 +2294,7 @@ entries:
version: v0.0.3
- apiVersion: v1
appVersion: "1.0"
- created: "2026-08-19T16:41:33.181985+05:30"
+ created: "2026-08-28T12:22:53.479232+05:30"
description: Helm chart creates a deployment, service, hpa for a service along
with serviceMonitor etc
digest: cc7992d670d615549c67717904238998780abe5aa5df400e4e3eb31d16237ea4
@@ -2286,7 +2308,7 @@ entries:
version: v0.0.2
- apiVersion: v1
appVersion: "1.0"
- created: "2026-08-19T16:41:33.177896+05:30"
+ created: "2026-08-28T12:22:53.475359+05:30"
description: Helm chart creates a deployment, service, hpa for a service along
with serviceMonitor etc
digest: e45d41b5041d8a3649bb8db768226990b2aae21b31b13ffd18d7253fe1e1d441
@@ -2303,7 +2325,7 @@ entries:
type: datasource
apiVersion: v2
appVersion: "1.0"
- created: "2026-08-19T16:41:33.196708+05:30"
+ created: "2026-08-28T12:22:53.492379+05:30"
description: Helm chart for deploying Apache Solr datastore
digest: f26072bc8a074f83ab7a6b0fa7d1b9cda62b19324cbb30f7773847a3ca20eba0
icon: https://storage.googleapis.com/zopdev-test-bucket/zop/files/originals/20250403/a45b7860-5846-4fa9-b68d-6765251210bd-solr.png
@@ -2318,7 +2340,7 @@ entries:
type: datasource
apiVersion: v2
appVersion: "1.0"
- created: "2026-08-19T16:41:33.196055+05:30"
+ created: "2026-08-28T12:22:53.492227+05:30"
description: Helm chart for deploying Apache Solr datastore
digest: 6b20bc75e235deed888fba4f9f8aa6331a29358aa7f845710a978bd0420f0234
icon: https://storage.googleapis.com/zopdev-test-bucket/zop/files/originals/20250403/a45b7860-5846-4fa9-b68d-6765251210bd-solr.png
@@ -2333,7 +2355,7 @@ entries:
type: datasource
apiVersion: v2
appVersion: "1.0"
- created: "2026-08-19T16:41:33.195819+05:30"
+ created: "2026-08-28T12:22:53.492057+05:30"
description: Helm chart for deploying Apache Solr datastore
digest: ecf9a0838f59fb0b2197c1526bc3e7febe37e5aa3d2158651b4cec9bb51891dc
icon: https://storage.googleapis.com/zopdev-test-bucket/zop/files/originals/20250403/a45b7860-5846-4fa9-b68d-6765251210bd-solr.png
@@ -2348,7 +2370,7 @@ entries:
type: datasource
apiVersion: v2
appVersion: "1.0"
- created: "2026-08-19T16:41:33.195605+05:30"
+ created: "2026-08-28T12:22:53.491914+05:30"
description: Helm chart for deploying Apache Solr datastore
digest: c6b7165c189a94bb3b35135f6a6a97b59ac3e971f8354544583bbc715e8b5f76
icon: https://storage.googleapis.com/zopdev-test-bucket/zop/files/originals/20250403/a45b7860-5846-4fa9-b68d-6765251210bd-solr.png
@@ -2361,7 +2383,7 @@ entries:
version: v0.0.3
- apiVersion: v1
appVersion: "1.0"
- created: "2026-08-19T16:41:33.195099+05:30"
+ created: "2026-08-28T12:22:53.491748+05:30"
description: Helm chart for deploying Apache Solr datastore
digest: 7b179009c3258ab1abb9520aa60281ddffda8220eb3906811a0aa0ffd023f154
icon: https://zop.dev/logo.png
@@ -2374,7 +2396,7 @@ entries:
version: v0.0.2
- apiVersion: v1
appVersion: "1.0"
- created: "2026-08-19T16:41:33.194897+05:30"
+ created: "2026-08-28T12:22:53.491536+05:30"
description: Helm chart for deploying Apache Solr datastore
digest: b55472585f9c7272cdd3fcef0ee411c20a2f429f4b9d7d8a0ba7912a840333b8
icon: https://zop.dev/logo.png
@@ -2388,7 +2410,7 @@ entries:
solr-operator:
- apiVersion: v2
appVersion: "1.0"
- created: "2026-08-19T16:41:33.194682+05:30"
+ created: "2026-08-28T12:22:53.491313+05:30"
dependencies:
- condition: zookeeper-operator.install
name: zookeeper-operator
@@ -2409,7 +2431,7 @@ entries:
type: datasource
apiVersion: v2
appVersion: "1.0"
- created: "2026-08-19T16:41:33.214257+05:30"
+ created: "2026-08-28T12:22:53.507676+05:30"
dependencies:
- name: solr-operator
repository: https://helm.zop.dev
@@ -2428,7 +2450,7 @@ entries:
type: datasource
apiVersion: v2
appVersion: "1.0"
- created: "2026-08-19T16:41:33.209995+05:30"
+ created: "2026-08-28T12:22:53.504081+05:30"
dependencies:
- name: solr-operator
repository: https://helm.zop.dev
@@ -2447,7 +2469,7 @@ entries:
type: datasource
apiVersion: v2
appVersion: "1.0"
- created: "2026-08-19T16:41:33.205321+05:30"
+ created: "2026-08-28T12:22:53.500133+05:30"
dependencies:
- name: solr-operator
repository: https://helm.zop.dev
@@ -2466,7 +2488,7 @@ entries:
type: datasource
apiVersion: v2
appVersion: "1.0"
- created: "2026-08-19T16:41:33.200929+05:30"
+ created: "2026-08-28T12:22:53.496586+05:30"
dependencies:
- name: solr-operator
repository: https://helm.zop.dev
@@ -2486,7 +2508,7 @@ entries:
type: application
apiVersion: v2
appVersion: "1.0"
- created: "2026-08-19T16:41:33.22037+05:30"
+ created: "2026-08-28T12:22:53.513433+05:30"
dependencies:
- condition: postgres.enabled
name: postgres
@@ -2511,7 +2533,7 @@ entries:
type: application
apiVersion: v2
appVersion: "1.0"
- created: "2026-08-19T16:41:33.21953+05:30"
+ created: "2026-08-28T12:22:53.512526+05:30"
dependencies:
- condition: postgres.enabled
name: postgres
@@ -2536,7 +2558,7 @@ entries:
type: application
apiVersion: v2
appVersion: "1.0"
- created: "2026-08-19T16:41:33.218922+05:30"
+ created: "2026-08-28T12:22:53.511911+05:30"
dependencies:
- condition: postgres.enabled
name: postgres
@@ -2561,7 +2583,7 @@ entries:
type: application
apiVersion: v2
appVersion: "1.0"
- created: "2026-08-19T16:41:33.218311+05:30"
+ created: "2026-08-28T12:22:53.511266+05:30"
dependencies:
- condition: postgres.enabled
name: postgres
@@ -2586,7 +2608,7 @@ entries:
type: application
apiVersion: v2
appVersion: "1.0"
- created: "2026-08-19T16:41:33.217739+05:30"
+ created: "2026-08-28T12:22:53.51072+05:30"
dependencies:
- condition: postgres.enabled
name: postgres
@@ -2608,7 +2630,7 @@ entries:
version: v0.0.4
- apiVersion: v2
appVersion: "1.0"
- created: "2026-08-19T16:41:33.217166+05:30"
+ created: "2026-08-28T12:22:53.510321+05:30"
dependencies:
- condition: postgres.enabled
name: postgres
@@ -2631,7 +2653,7 @@ entries:
version: v0.0.3
- apiVersion: v2
appVersion: "1.0"
- created: "2026-08-19T16:41:33.21652+05:30"
+ created: "2026-08-28T12:22:53.509894+05:30"
dependencies:
- condition: postgres.enabled
name: postgres
@@ -2654,7 +2676,7 @@ entries:
version: v0.0.2
- apiVersion: v1
appVersion: "1.0"
- created: "2026-08-19T16:41:33.215406+05:30"
+ created: "2026-08-28T12:22:53.508933+05:30"
description: Helm chart for Deploying Apache Superset
digest: f2612f4782cc4e971f095ddbb76b3e9631e52b7ba6473e48226d2f769317be56
icon: https://zop.dev/logo.png
@@ -2670,7 +2692,7 @@ entries:
type: datasource
apiVersion: v1
appVersion: "1.0"
- created: "2026-08-19T16:41:33.221307+05:30"
+ created: "2026-08-28T12:22:53.514288+05:30"
description: Helm chart for deploying surrealdb
digest: 4e87390d8466c1c3cb37c25a0a59be957d792976bafb3b3a02101927dcf8a3da
icon: https://storage.googleapis.com/zopdev-test-bucket/zop/files/originals/20241122/c44b7326-00d7-4c62-bce7-ca576509d27f-10982346.png
@@ -2685,7 +2707,7 @@ entries:
type: datasource
apiVersion: v1
appVersion: "1.0"
- created: "2026-08-19T16:41:33.220973+05:30"
+ created: "2026-08-28T12:22:53.513985+05:30"
description: Helm chart for deploying surrealdb
digest: e73e929591f817ffa0a7477fb8b24c7572b667534e14280c107b170bb4b29568
icon: https://storage.googleapis.com/zopdev-test-bucket/zop/files/originals/20241122/c44b7326-00d7-4c62-bce7-ca576509d27f-10982346.png
@@ -2698,7 +2720,7 @@ entries:
version: v0.0.2
- apiVersion: v1
appVersion: "1.0"
- created: "2026-08-19T16:41:33.220642+05:30"
+ created: "2026-08-28T12:22:53.513679+05:30"
description: Helm chart for deploying surrealdb
digest: 3dc8d5151d6a8b5a96dc3b7aabb8e575e4c5298f0eef30943b44f74f0892bd38
icon: https://zop.dev/logo.png
@@ -2712,7 +2734,7 @@ entries:
uptime-monitoring:
- apiVersion: v1
appVersion: "1.0"
- created: "2026-08-19T16:41:33.22207+05:30"
+ created: "2026-08-28T12:22:53.514547+05:30"
description: HTTPS uptime and TLS monitoring
digest: 00ab35eb86ad249c196029e804798aa870ee399d0c15299cc502697f8d3b4791
icon: https://zop.dev/logo.png
@@ -2728,7 +2750,7 @@ entries:
type: application
apiVersion: v2
appVersion: "1.0"
- created: "2026-08-19T16:41:33.228037+05:30"
+ created: "2026-08-28T12:22:53.519465+05:30"
dependencies:
- name: mysql
repository: https://helm.zop.dev
@@ -2751,7 +2773,7 @@ entries:
type: application
apiVersion: v2
appVersion: "1.0"
- created: "2026-08-19T16:41:33.226852+05:30"
+ created: "2026-08-28T12:22:53.518485+05:30"
dependencies:
- name: mysql
repository: https://helm.zop.dev
@@ -2774,7 +2796,7 @@ entries:
type: application
apiVersion: v2
appVersion: "1.0"
- created: "2026-08-19T16:41:33.226101+05:30"
+ created: "2026-08-28T12:22:53.517784+05:30"
dependencies:
- name: mysql
repository: https://helm.zop.dev
@@ -2797,7 +2819,7 @@ entries:
type: application
apiVersion: v2
appVersion: "1.0"
- created: "2026-08-19T16:41:33.225624+05:30"
+ created: "2026-08-28T12:22:53.517316+05:30"
dependencies:
- name: mysql
repository: https://helm.zop.dev
@@ -2820,7 +2842,7 @@ entries:
type: application
apiVersion: v2
appVersion: "1.0"
- created: "2026-08-19T16:41:33.22506+05:30"
+ created: "2026-08-28T12:22:53.516869+05:30"
dependencies:
- name: mysql
repository: https://helm.zop.dev
@@ -2840,7 +2862,7 @@ entries:
version: v0.0.4
- apiVersion: v2
appVersion: "1.0"
- created: "2026-08-19T16:41:33.224443+05:30"
+ created: "2026-08-28T12:22:53.51646+05:30"
dependencies:
- name: mysql
repository: https://helm.zop.dev
@@ -2861,7 +2883,7 @@ entries:
version: v0.0.3
- apiVersion: v2
appVersion: "1.0"
- created: "2026-08-19T16:41:33.223637+05:30"
+ created: "2026-08-28T12:22:53.515815+05:30"
dependencies:
- name: mysql
repository: https://helm.zop.dev
@@ -2882,7 +2904,7 @@ entries:
version: v0.0.2
- apiVersion: v1
appVersion: "1.0"
- created: "2026-08-19T16:41:33.222988+05:30"
+ created: "2026-08-28T12:22:53.515241+05:30"
description: Helm chart for deploying WordPress app
digest: 1b5793a827827be151ebe571fcadec8507a6562da1213c774ca0acba91e91ab2
icon: https://zop.dev/logo.png
@@ -2896,7 +2918,7 @@ entries:
zookeeper:
- apiVersion: v1
appVersion: "1.0"
- created: "2026-08-19T16:41:33.229662+05:30"
+ created: "2026-08-28T12:22:53.520629+05:30"
description: A Helm chart for Deploying Zookeeper on Kubernetes
digest: 8b0183fb1c180fbf9f756362079cd0fb6c199fce2900f1c2644292789de9d4d0
icon: https://zop.dev/logo.png
@@ -2909,7 +2931,7 @@ entries:
version: v0.0.2
- apiVersion: v1
appVersion: "1.0"
- created: "2026-08-19T16:41:33.229294+05:30"
+ created: "2026-08-28T12:22:53.520364+05:30"
description: A Helm chart for Deploying Zookeeper on Kubernetes
digest: 06e4542609434c3c6385b75619e254ada3771e332c025b25c2f074992d5043ca
icon: https://zop.dev/logo.png
@@ -2923,7 +2945,7 @@ entries:
zookeeper-operator:
- apiVersion: v2
appVersion: "1.0"
- created: "2026-08-19T16:41:33.229025+05:30"
+ created: "2026-08-28T12:22:53.520187+05:30"
description: A Helm chart for Deploying Zookeeper Operator on Kubernetes
digest: 54a824110bc9e4bbf8228f49c601f8d2cfab1ff815037a09ac7e29067f5dd8d1
icon: https://storage.googleapis.com/zopdev-test-bucket/zop/files/originals/20250407/69625503-f6f1-4521-9c14-1d262ee8683b-zookeeper.png
@@ -2934,4 +2956,4 @@ entries:
urls:
- https://helm.zop.dev/zookeeper-operator-v0.0.1.tgz
version: v0.0.1
-generated: "2026-08-19T16:41:33.133028+05:30"
+generated: "2026-08-28T12:22:53.437487+05:30"
diff --git a/docs/n8n-v0.0.1.tgz b/docs/n8n-v0.0.1.tgz
new file mode 100644
index 0000000..d7032de
Binary files /dev/null and b/docs/n8n-v0.0.1.tgz differ
diff --git a/docs/src/js/display.js b/docs/src/js/display.js
index eed71ba..e69acb6 100644
--- a/docs/src/js/display.js
+++ b/docs/src/js/display.js
@@ -69,6 +69,11 @@ const CHART_DISPLAY = {
name: "MySQL",
description: "Deploy a MySQL database service",
},
+ n8n: {
+ // Lowercase on purpose; titleCase would render this "N8n".
+ name: "n8n",
+ description: "Workflow automation you build in the browser and trigger by webhook or schedule",
+ },
opentsdb: {
name: "OpenTSDB",
description: "A Distributed, Scalable Monitoring System",