Skip to content

Commit 1cda15d

Browse files
committed
noobaa DB backup - design doc and API changes
Signed-off-by: Danny Zaken <[email protected]>
1 parent 5510db0 commit 1cda15d

File tree

5 files changed

+725
-2
lines changed

5 files changed

+725
-2
lines changed

deploy/crds/noobaa.io_noobaas.yaml

Lines changed: 71 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1203,6 +1203,28 @@ spec:
12031203
dbSpec:
12041204
description: DBSpec (optional) DB spec for a managed postgres cluster
12051205
properties:
1206+
dbBackup:
1207+
description: |-
1208+
DBBackup (optional) configure automatic scheduled backups of the database volume.
1209+
Currently, only volume snapshots are supported.
1210+
properties:
1211+
maxSnapshots:
1212+
description: MaxSnapshots the maximum number of snapshots
1213+
to keep.
1214+
type: integer
1215+
schedule:
1216+
description: Schedule the schedule for the database backup
1217+
in cron format.
1218+
type: string
1219+
volumeSnapshotClass:
1220+
description: VolumeSnapshotClass the volume snapshot class
1221+
for the database volume.
1222+
type: string
1223+
required:
1224+
- maxSnapshots
1225+
- schedule
1226+
- volumeSnapshotClass
1227+
type: object
12061228
dbConf:
12071229
additionalProperties:
12081230
type: string
@@ -1215,6 +1237,17 @@ spec:
12151237
Increasing the size of the volume is supported if the underlying storage class supports volume expansion.
12161238
The new size should be larger than actualVolumeSize in dbStatus for the volume to be resized.
12171239
type: string
1240+
dbRecovery:
1241+
description: DBRecovery (optional) configure database recovery
1242+
from snapshot
1243+
properties:
1244+
volumeSnapshotName:
1245+
description: VolumeSnapshotName specifies the name of the
1246+
volume snapshot to recover from
1247+
type: string
1248+
required:
1249+
- volumeSnapshotName
1250+
type: object
12181251
dbResources:
12191252
description: DBResources (optional) overrides the default resource
12201253
requirements for the db container
@@ -1982,6 +2015,29 @@ spec:
19822015
description: ActualVolumeSize is the actual size of the postgres
19832016
cluster volume. This can be different than the requested size
19842017
type: string
2018+
backupStatus:
2019+
description: BackupStatus reports the status of database backups
2020+
properties:
2021+
availableSnapshots:
2022+
description: AvailableSnapshots list of available snapshot
2023+
names
2024+
items:
2025+
type: string
2026+
type: array
2027+
lastBackupTime:
2028+
description: LastBackupTime timestamp of the last successful
2029+
backup
2030+
format: date-time
2031+
type: string
2032+
nextBackupTime:
2033+
description: NextBackupTime timestamp of the next scheduled
2034+
backup
2035+
format: date-time
2036+
type: string
2037+
totalSnapshots:
2038+
description: TotalSnapshots current number of snapshots
2039+
type: integer
2040+
type: object
19852041
currentPgMajorVersion:
19862042
description: CurrentPgMajorVersion is the major version of the
19872043
postgres cluster
@@ -1992,6 +2048,21 @@ spec:
19922048
dbCurrentImage:
19932049
description: DBCurrentImage is the image of the postgres cluster
19942050
type: string
2051+
recoveryStatus:
2052+
description: RecoveryStatus reports the status of database recovery
2053+
properties:
2054+
recoveryTime:
2055+
description: RecoveryTime timestamp when recovery was initiated
2056+
format: date-time
2057+
type: string
2058+
snapshotName:
2059+
description: SnapshotName name of the snapshot being recovered
2060+
from
2061+
type: string
2062+
status:
2063+
description: Status current recovery status
2064+
type: string
2065+
type: object
19952066
type: object
19962067
endpoints:
19972068
description: |-

0 commit comments

Comments
 (0)