v1.4.0
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.0Verify 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"