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:
promtailgrafana-agentpromtheus-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