Skip to content

v1.4.0

Choose a tag to compare

@kj187 kj187 released this 22 Jun 18:54

What's changed

v1.4.0 ships two major features: reusable Silence Templates and per-cluster upstream authentication against protected Alertmanager instances.

Highlights

Per-cluster Alertmanager upstream authentication

Jarvis can now authenticate against protected Alertmanager instances — configurable per cluster, token refresh handled automatically.

Supported methods: OAuth2 Client Credentials (with auto-refresh), Bearer Token, Basic Auth, Custom Headers.

# OAuth2 Client Credentials (e.g. Keycloak)
JARVIS_CLUSTER_1_AUTH_TYPE=oauth2_client_credentials
JARVIS_CLUSTER_1_AUTH_TOKEN_URL=https://keycloak.example.com/realms/ops/protocol/openid-connect/token
JARVIS_CLUSTER_1_AUTH_CLIENT_ID=jarvis
JARVIS_CLUSTER_1_AUTH_CLIENT_SECRET=secret

# Bearer Token
JARVIS_CLUSTER_1_AUTH_TYPE=bearer
JARVIS_CLUSTER_1_AUTH_TOKEN=eyJhbGci...

# Basic Auth
JARVIS_CLUSTER_1_AUTH_TYPE=basic
JARVIS_CLUSTER_1_AUTH_USERNAME=admin
JARVIS_CLUSTER_1_AUTH_PASSWORD=secret

→ Full docs: docs/authentication-alertmanager.md


Silence Templates

Reusable matcher sets for recurring maintenance windows. Instead of re-entering the same matchers every time, save them once as a template and apply them with one click — useful whenever maintenance work requires multiple silences across different services or clusters on a regular basis.

Changelog

Bug Fixes

  • api: log 4xx as WARN, 5xx as ERROR in request middleware
  • auth: improve hydrate resilience on slow backend startup
  • frontend: ensure CI environment variable is set in docker-compose
  • frontend: make silence calendar month arrows clickable

Chores

  • dev: improve docker-compose for file watching with polling support
  • git: ignore build artifacts and npm lock file

Documentation

  • frontend: add silence templates docs, screenshots, and fix test suite

Features

  • alerts: store and filter all receivers in alert history
  • api: add REST endpoints for silence template management (CRUD)
  • auth: map OIDC claim value to admin role
  • config: add per-cluster Alertmanager upstream authentication (#39 )
  • frontend: add silence template management UI with tab interface
  • frontend: add React Query hooks for silence templates
  • frontend: add silence template types and API client
  • frontend: show local timezone below silence time inputs
  • silences: implement silence template CRUD store operations
  • silences: add silence template data model and database schema

Full diff: v1.3.1...v1.4.0


Container Image

docker pull ghcr.io/kj187/jarvis:1.4.0

Verify with Cosign

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