Skip to content

Commit 4f23ab9

Browse files
committed
Prepare v0.1.0 release
- Add ObjectStore RBAC permissions to helm chart clusterrole - Add CHANGELOG.md with initial release notes
1 parent 62dc9c5 commit 4f23ab9

File tree

2 files changed

+92
-0
lines changed

2 files changed

+92
-0
lines changed

CHANGELOG.md

Lines changed: 77 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,77 @@
1+
# Changelog
2+
3+
All notable changes to this project will be documented in this file.
4+
5+
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
6+
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7+
8+
## [0.1.0] - 2026-02-08
9+
10+
### Added
11+
12+
- **StoragePolicy CRD**: Define per-cluster or per-namespace storage management policies
13+
- Configurable warning/critical/emergency thresholds
14+
- PVC expansion settings with increment and max size limits
15+
- WAL cleanup configuration with retain count
16+
- Circuit breaker for failure protection
17+
- Multi-channel alerting (Alertmanager, Slack, PagerDuty)
18+
19+
- **StorageEvent CRD**: Audit trail for storage-related events
20+
- Tracks expansion and WAL cleanup operations
21+
- Per-PVC status tracking
22+
- Detailed event metadata
23+
24+
- **CNPG Cluster Discovery**: Automatic discovery of CloudNativePG clusters
25+
- Unstructured client for dynamic resource access
26+
- Support for both legacy and barman-cloud plugin backup configurations
27+
- ObjectStore CRD integration for backup status
28+
29+
- **Metrics Collection**: Kubelet volume stats integration
30+
- Real-time PVC usage monitoring
31+
- Prometheus metrics exposition
32+
- Per-cluster and per-PVC metrics
33+
34+
- **Threshold Evaluation Engine**: Policy-based threshold evaluation
35+
- Multi-level threshold support (warning/critical/emergency)
36+
- Action recommendations based on severity
37+
- Backup status evaluation with ObjectStore fallback
38+
39+
- **Cluster Annotation Management**: Non-invasive CNPG coordination
40+
- Managed/paused state tracking
41+
- Expansion and WAL cleanup coordination
42+
- Circuit breaker state persistence
43+
44+
- **Alerting Integration**: Multi-channel alert delivery
45+
- Prometheus Alertmanager support
46+
- Slack webhook integration
47+
- PagerDuty Events API v2 integration
48+
- Alert suppression to prevent duplicates
49+
50+
- **PVC Expansion Engine**: Automated storage expansion
51+
- StorageClass validation for expansion support
52+
- Preflight checks before expansion
53+
- Dry-run mode for testing
54+
55+
- **WAL Cleanup Engine**: Automated WAL file management
56+
- pg_archivecleanup execution via pod exec
57+
- Configurable retain count
58+
- Safe cleanup with backup verification
59+
60+
- **Helm Chart**: Production-ready deployment
61+
- Complete RBAC configuration
62+
- ServiceMonitor for Prometheus integration
63+
- Configurable resource limits
64+
- Dry-run mode values
65+
66+
- **CI/CD Pipeline**: Comprehensive automation
67+
- golangci-lint for code quality
68+
- Unit and integration tests
69+
- Security scanning (Gosec, Trivy)
70+
- Multi-arch container builds (amd64, arm64, s390x, ppc64le)
71+
- Automated releases with changelog generation
72+
73+
### Fixed
74+
75+
- **Backup monitoring false positives**: Fixed issue where clusters using the barman-cloud plugin reported false-positive backup alerts. The controller now reads backup timestamps from ObjectStore CRD's `.status.serverRecoveryWindow` when the barman-cloud plugin is configured. (#1)
76+
77+
[0.1.0]: https://github.com/supporttools/cnpg-storage-manager/releases/tag/v0.1.0

charts/cnpg-storage-manager/templates/clusterrole.yaml

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -106,6 +106,21 @@ rules:
106106
- clusters/status
107107
verbs:
108108
- get
109+
# ObjectStore access for barman-cloud plugin backup status
110+
- apiGroups:
111+
- barmancloud.cnpg.io
112+
resources:
113+
- objectstores
114+
verbs:
115+
- get
116+
- list
117+
- watch
118+
- apiGroups:
119+
- barmancloud.cnpg.io
120+
resources:
121+
- objectstores/status
122+
verbs:
123+
- get
109124
- apiGroups:
110125
- storage.k8s.io
111126
resources:

0 commit comments

Comments
 (0)