github kj187/jarvis v1.9.0

latest releases: v2.1.0, v2.0.1-rc.1, v2.0.0...
3 months ago

What's changed

Focus on multi-replica PostgreSQL deployments: Jarvis can now run as a
highly-available deployment with several replicas behind PostgreSQL,
coordinated via leader election, snapshot distribution, and cross-pod WS
fanout — no more single-pod-only operation for production use.

Added

  • Multi-replica HA on PostgreSQL — PostgreSQL-backed advisory-lock
    leader election; exactly one pod polls Alertmanager and writes history,
    while every pod keeps serving reads/WS from a snapshot the leader
    distributes via LISTEN/NOTIFY
  • Cross-pod mutation fanout — comments, claims, and silences created on
    one pod now broadcast to every other pod's connected WS clients, not just
    the originating pod's own
  • Leader pod label — the current leader pod is labeled
    jarvis.kj187.de/role=leader for at-a-glance visibility via kubectl get pods -L
  • Helm chart HA surface — optional PodDisruptionBudget and
    topologySpreadConstraints passthrough for running replicaCount > 1
    against PostgreSQL
  • ServiceMonitor customization — metrics.serviceMonitor.relabelings,
    metricRelabelings, annotations, and honorLabels are now
    configurable in the Helm chart, defaulting to a no-op

Fixed

  • db: RecordStatusChange is now transactional and advisory-lock
    guarded, closing a race where concurrent writers for the same alert
    episode could produce duplicate history events
  • frontend: the internal @claimed-by filter pseudo-label no longer
    renders as a stray label chip

Documentation

  • New canonical persistence guide consolidating
    database backend configuration and multi-replica HA behavior into a
    single source of truth, replacing scattered mentions across other docs

Full diff: v1.8.0...v1.9.0


Container image

docker pull ghcr.io/kj187/jarvis:1.9.0

Digest: sha256:52d2f67164d5427534b22bae8b3b9a1936c0693f23241f12ab6e1b95287cf342

Verify image signature (cosign)

cosign verify ghcr.io/kj187/jarvis@sha256:52d2f67164d5427534b22bae8b3b9a1936c0693f23241f12ab6e1b95287cf342 \
  --certificate-identity-regexp="https://github.com/kj187/jarvis/.*" \
  --certificate-oidc-issuer="https://token.actions.githubusercontent.com"

Verify build provenance (GitHub attestation)

gh attestation verify oci://ghcr.io/kj187/jarvis:1.9.0 --repo kj187/jarvis

Helm chart

helm install jarvis oci://ghcr.io/kj187/charts/jarvis --version 1.7.0

Verify chart signature (cosign)

cosign verify ghcr.io/kj187/charts/jarvis:1.7.0 \
  --certificate-identity-regexp="https://github.com/kj187/jarvis/.*" \
  --certificate-oidc-issuer="https://token.actions.githubusercontent.com"

SBOM

The SPDX SBOM is attached to this release (sbom.spdx.json) and also
embedded in the image manifest (docker buildx imagetools inspect).

Don't miss a new jarvis release

NewReleases is sending notifications on new releases.