Observability
Changed
- Change the names of Keda related fields in the values to match mimir upstream.
Changed
- upgrade grafana chart: 9.2.1 => 9.2.10
- upgrade grafana : 12.0.0-security-01 => 12.0.2
Changed
- Disable
ScaledObject
resources and enable back hpa for read and gateway components.
Added
- Add
ScaledObject
resources for loki-read
and loki-gateway
.
Changed
- Replace HPA scaling for
loki-read
and loki-gateway
in favor of Keda
Changed
- Updated pg-cluster-recovery-test subchart: v0.1.5 => v0.1.6
Added
- Add advanced filtering capabilities for both v1alpha1 and v1alpha2 controllers:
- Add silence selector feature to filter
Silence
resources by labels (configure via --silence-selector
flag). - Add namespace selector for v1alpha2 controller to restrict watched namespaces (configure via
--namespace-selector
flag).
- Allow filtering of
Silence
custom resources based on a label selector. The operator will only process Silence
CRs that match the selector provided via the --silence-selector
command-line flag or the silenceSelector
Helm chart value. If no selector is provided, all Silence
CRs are processed. - Add new
observability.giantswarm.io/v1alpha2
API with namespace-scoped Silence CRD for improved multi-tenancy.- Add
MatchType
enum field using Alertmanager operator symbols (=
, !=
, =~
, !~
) for intuitive matching logic. - Add
SilenceV2Reconciler
controller to handle v1alpha2 resources while maintaining full backward compatibility with v1alpha1. - Add comprehensive field validation: matcher names (1-256 chars), values (max 1024 chars), minimum 1 matcher required.
- Add printer columns to v1alpha2 CRD for better
kubectl get silences
output showing Age.
- Add automated migration script (
hack/migrate-silences.sh
) for v1alpha1 to v1alpha2 conversion.- Automatically converts boolean matcher fields (
isRegex
/isEqual
) to enum format (matchType
). - Intelligently preserves user annotations/labels while filtering out Kubernetes and FluxCD system metadata.
- Supports dry-run mode for safe migration testing.
- Add comprehensive migration documentation (
MIGRATION.md
) with examples and best practices. - Add clean service layer architecture (
pkg/service/
) separating business logic from Kubernetes controller concerns.
Changed
- BREAKING (v1alpha2 only): Replace
isRegex
and isEqual
boolean fields with single matchType
enum field using Alertmanager symbols. - BREAKING (v1alpha2 only): Change from cluster-scoped to namespace-scoped resources for better multi-tenancy and RBAC isolation.
- BREAKING (v1alpha2 only): Remove deprecated fields in v1alpha2:
targetTags
, owner
, postmortem_url
, and issue_url
for cleaner API design. - Improve code organization with dependency injection and clear separation between controller logic and business logic.
Deprecated
- The
monitoring.giantswarm.io/v1alpha1
API is now considered legacy. New deployments should use observability.giantswarm.io/v1alpha2
.
Migration Note: Existing v1alpha1 silences continue to work unchanged. Use the automated migration script and see MIGRATION.md for detailed guidance.
Changed
- Updated dependencies (pg-cluster-recovery-test subchart, architect and docker tags).
Added
- Add
pg-cluster-recovery-test
as chart dependency.
Removed
- Clean up old and deprecated telemetry collectors:
promtail
grafana-agent
promtheus-agent
- Disable PodSecurityPolicies by default as PodSecurityPolicies are deprecated and removed in Kubernetes v1.25+ clusters
Changed
- Disable PodSecurityPolicies by default as PodSecurityPolicies are deprecated and removed in Kubernetes v1.25+ clusters