Skip to content

Commit a82dad8

Browse files
Add release notes for Kubestash-v2025.4.30 (#506)
Signed-off-by: Anisur Rahman <[email protected]>
1 parent 8ca75ac commit a82dad8

File tree

2 files changed

+150
-0
lines changed

2 files changed

+150
-0
lines changed
80.2 KB
Loading
Lines changed: 150 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,150 @@
1+
---
2+
title: Introducing KubeStash v2025.4.30
3+
date: "2025-04-30"
4+
weight: 10
5+
authors:
6+
- Md Anisur Rahman
7+
tags:
8+
- backup
9+
- backup-verification
10+
- disaster-recovery
11+
- kubernetes
12+
- kubestash
13+
- restore
14+
---
15+
16+
We are pleased to announce the release of [KubeStash v2025.4.30](https://kubestash.com/docs/v2025.4.30/setup/), packed with new features and important bug fixes. You can check out the full changelog [HERE](https://github.com/kubestash/CHANGELOG/blob/master/releases/v2025.4.30/README.md).
17+
18+
### New Features
19+
20+
Here, we are going to highlight the new features that have been introduced in this release.
21+
22+
#### KubeDB managed Cassandra Backup/Restore
23+
24+
KubeDB now supports backup and restore for Cassandra databases using KubeStash and the Medusa plugin. This enables reliable data protection with cloud storage backends (e.g., S3, GCS).
25+
26+
**Backup and Restore Workflow**
27+
28+
- **BackupStorage**: Specifies the cloud storage backend.
29+
- **RetentionPolicy**: Defines how long backup data is retained.
30+
- **Secrets**: Stores backend access credentials.
31+
- **BackupConfiguration**: Configures the target database, backend, and addon.
32+
- **RestoreSession**: Restores data from a specified snapshot.
33+
34+
In below given the example of a `BackupConfiguration` for a `Cassandra` database
35+
36+
```yaml
37+
apiVersion: core.kubestash.com/v1alpha1
38+
kind: BackupConfiguration
39+
metadata:
40+
name: cass-backup
41+
namespace: default
42+
spec:
43+
target:
44+
apiGroup: kubedb.com
45+
kind: Cassandra
46+
namespace: default
47+
name: cass-sample
48+
---
49+
addon:
50+
name: cassandra-addon
51+
tasks:
52+
- name: logical-backup
53+
jobTemplate:
54+
spec:
55+
serviceAccountName: cluster-resource-reader
56+
```
57+
58+
And for `Cassandra` database below is the example of a `RestoreSession`:
59+
60+
```yaml
61+
apiVersion: core.kubestash.com/v1alpha1
62+
kind: RestoreSession
63+
metadata:
64+
name: restore-cas
65+
namespace: default
66+
spec:
67+
target:
68+
apiGroup: kubedb.com
69+
kind: Cassandra
70+
namespace: default
71+
name: cass-sample
72+
---
73+
addon:
74+
name: cassandra-addon
75+
tasks:
76+
- name: logical-backup-restore
77+
jobTemplate:
78+
spec:
79+
serviceAccountName: cluster-resource-reader
80+
```
81+
82+
### Introduce Workload Manifest Backup/Restore along with RBAC resources
83+
84+
KubeStash now supports backing up and restoring Kubernetes workload manifests, including associated RBAC resources such as Role, RoleBinding, ClusterRole, and ClusterRoleBinding. This enhancement enables users to capture not just application data but also the complete configuration of workloads for comprehensive disaster recovery.
85+
86+
Here is an example of `BackupConfiguration`:
87+
88+
```yaml
89+
apiVersion: core.kubestash.com/v1alpha1
90+
kind: BackupConfiguration
91+
---
92+
sessions:
93+
- name: workload-backup
94+
addon:
95+
name: workload-addon
96+
tasks:
97+
- name: manifest-backup
98+
params:
99+
includeRBACResources: "true"
100+
jobTemplate:
101+
spec:
102+
serviceAccountName: cluster-resource-reader
103+
```
104+
Here,
105+
- Set `includeRBACResources: "true"` to include `RBAC` resources in the backup.
106+
- A custom `serviceAccountName` with appropriate cluster-level RBAC permissions is required for accessing these resources.
107+
108+
109+
Here is an example of `RestoreSession`:
110+
111+
```yaml
112+
apiVersion: core.kubestash.com/v1alpha1
113+
kind: RestoreSession
114+
---
115+
addon:
116+
name: workload-addon
117+
tasks:
118+
- name: manifest-restore
119+
params:
120+
includeRBACResources: "true"
121+
overrideResources: "true"
122+
jobTemplate:
123+
spec:
124+
serviceAccountName: cluster-resource-reader
125+
```
126+
Here,
127+
- `includeRBACResources: "true"` restores the `RBAC` resources associated with the workloads.
128+
- `overrideResources: "true"` ensures existing resources in the cluster are replaced with the restored versions.
129+
130+
131+
> By default, both `includeRBACResources` and `overrideResources` are set to false. Enable them explicitly if needed for your use case.
132+
133+
### Improvements & Bug Fixes
134+
135+
#### Improved Pod Discovery for Deployment Backup/Restore
136+
Previously, the system assumed that each Deployment would have only one associated ReplicaSet, which is not always true. We've updated the logic to identify the most recent ReplicaSet to accurately locate the active Pod during backup and restore operations.
137+
138+
#### Fixed Workload-Only Manifest Backup/Restore
139+
Resolved an issue where backups and restores targeting only workload manifests were not functioning correctly. This fix ensures reliable handling of workload-only manifest operations.
140+
141+
## What Next?
142+
Please try the latest release and give us your valuable feedback.
143+
144+
- If you want to install KubeStash in a clean cluster, please follow the installation instruction from [HERE](https://kubestash.com/docs/v2025.2.10/setup/install/kubestash/).
145+
- If you want to upgrade KubeStash from a previous version, please follow the upgrade instruction from [HERE](https://kubestash.com/docs/v2025.2.10/setup/upgrade/).
146+
147+
### Support
148+
149+
To speak with us, please leave a message on [our website](https://appscode.com/contact/).
150+

0 commit comments

Comments
 (0)