Skip to content
QuenchWorks

grist

Chart · Apps & productivity · standard · v0.0.5

digest pinnedcosign signedSPDX SBOMSLSA provenanceamd64 · arm64Rebuilt 2026-10-22

Grist, the self-hosted spreadsheet-database (Airtable alternative) with Python formulas. The tagged source compiled with yarn and pinned production deps on Node 22 (8484); formulas run in the gVisor sandbox (runsc built from source with an unprivileged-mode port, so the pod needs no extra privileges). Data in /persist (SQLite home DB and documents).

Version

The latest line lives at the base page; older lines have their own page so you can pin and verify exactly that version. Only the most recent releases are listed — an older chart pins an older image digest.

Deployed image digest

sha256:4cfb3a7d6936f1bc7a7da48cacde7dc3ca98914d3649f0d99d6976724ff551ea

Chart OCI version

oci://ghcr.io/quenchworks/charts/grist:0.0.5

The chart pins its image by this signed digest, so you never track it yourself. Signatures, SBOM, and provenance attach to the same digest.

Signed
cosign keyless
SBOM
SPDX, on image
Provenance
SLSA build
Architectures
amd64, arm64
Runs as
nonroot (uid 1001)
Root filesystem
read-only
Image size
221.4 MB

Security report (Trivy)

D· 12/1008 fixable · rebuild clears them

Vulnerability detail

grist 1.7.21 · 9 CVE
CVESeverityPackageInstalledFixed inTitle
CVE-2026-105482HIGHnodejs-2222.23.2-r122.23.4-r0nodejs: nodejs: dns.resolve truncates hostnames containing a NUL character
CVE-2026-106069HIGHnodejs-2222.23.2-r122.23.4-r0nodejs: nodejs: TLS certificate hostname bypass via non-canonical IP hostnames
CVE-2026-111181HIGHbody-parser1.20.82.4.0, 1.20.9body-parser: body-parser: Denial of Service via unhandled decompression stream error
CVE-2026-105481MEDIUMnodejs-2222.23.2-r122.23.4-r0nodejs: nodejs: Response desynchronization via improper HTTP keep-alive connection reuse
CVE-2026-106072MEDIUMnodejs-2222.23.2-r122.23.4-r0nodejs: nodejs: Authentication bypass via non-canonical IPv4 hostname verification
CVE-2026-106074MEDIUMnodejs-2222.23.2-r122.23.4-r0nodejs: nodejs: predictable random values via snapshot entropy cache reuse
CVE-2026-110816MEDIUMqs6.16.06.16.1qs: qs: Denial of Service via unhandled exception during array serialization
CVE-2026-106073LOWnodejs-2222.23.2-r122.23.4-r0nodejs: Node.js: Filesystem read permission bypass via fs.realpathSync()
CVE-2025-14505LOWelliptic6.6.1— not fixableelliptic: Key handling flaws in Elliptic
0
Critical
3
High
4
Medium
2
Low
0
Unknown

Security report (Trivy) · image grist 1.7.21

Install the chart

Deploy to Kubernetes with hardened defaults. The chart pins its image by signed digest, so you never track it yourself.

Install (latest)

helm install my-grist oci://ghcr.io/quenchworks/charts/grist --version 0.0.5

Deploys image (digest-pinned)

Chart version
0.0.5
App version
1.7.21
Chart license
Apache-2.0
App license
Apache-2.0
Service port
8484
Signed
cosign (keyless)
Values schema
yes
Last published
2026-10-22
Values keys
  • image: repository digest pullPolicy
  • nameOverride
  • replicaCount
  • containerPort
  • adminEmail
  • homeUrl
  • sessionSecret: existingSecret existingSecretKey
  • persistence: enabled size accessModes annotations selector existingClaim
  • resources: requests limits
  • service: type port
  • podLabels
  • podAnnotations
  • nodeSelector
  • affinity
  • tolerations
  • topologySpreadConstraints
  • priorityClassName
  • schedulerName
  • terminationGracePeriodSeconds
  • updateStrategy
  • extraEnvVars
  • extraEnvVarsCM
  • extraEnvVarsSecret
  • extraVolumes
  • extraVolumeMounts
  • initContainers
  • sidecars
  • lifecycleHooks
  • command
  • args
  • podSecurityContext
  • containerSecurityContext
  • livenessProbe
  • readinessProbe
  • customLivenessProbe
  • customReadinessProbe
  • customStartupProbe
  • serviceAccount: create name annotations
  • rbac: create
  • networkPolicy: enabled allowExternal
  • podDisruptionBudget: enabled minAvailable
  • ingress: enabled className annotations servicePort hosts tls

Verify the chart

cosign verify ghcr.io/quenchworks/charts/grist:0.0.5 \
  --certificate-identity-regexp 'https://github.com/quenchworks/.+' \
  --certificate-oidc-issuer https://token.actions.githubusercontent.com

Transparency

The chart publishes its attestations on GitHub and the image it deploys carries its own on the same digest, publicly verifiable with the commands above. Both log to the Sigstore transparency log (Rekor), which cosign verify checks for you.

Upstream project: https://www.getgrist.com