Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
724 changes: 447 additions & 277 deletions assets/design-export/json/DPrYX.json

Large diffs are not rendered by default.

133 changes: 129 additions & 4 deletions assets/design-export/json/pssCT.json
Original file line number Diff line number Diff line change
Expand Up @@ -143,7 +143,7 @@
"fill": "$accent/accent"
},
"vj2Ru": {
"content": "—"
"content": "3h ago"
},
"h0n7zo": {
"enabled": false
Expand Down Expand Up @@ -199,7 +199,7 @@
"fill": "#895AF6"
},
"vj2Ru": {
"content": "0"
"content": "1"
},
"h0n7zo": {
"enabled": false
Expand All @@ -214,7 +214,7 @@
"width": "fill_container",
"descendants": {
"Nd4Wf": {
"content": "TOTAL SIZE"
"content": "TOTAL LOGICAL SIZE"
},
"QdcEm": {
"type": "icon",
Expand All @@ -227,7 +227,7 @@
"fill": "$warning/warning"
},
"vj2Ru": {
"content": "—"
"content": "1.4 GB"
},
"h0n7zo": {
"enabled": false
Expand Down Expand Up @@ -419,6 +419,131 @@
}
}
]
},
{
"type": "frame",
"id": "i5P60A",
"name": "Backups",
"width": "fill_container",
"layout": "vertical",
"children": [
{
"type": "frame",
"id": "larZ1",
"name": "Completed Restic backup",
"width": "fill_container",
"height": 54,
"alignItems": "center",
"children": [
{
"type": "frame",
"id": "LWyaJ",
"name": "Backup name",
"width": "fill_container",
"height": 48,
"padding": [
0,
12
],
"alignItems": "center",
"children": [
{
"type": "text",
"id": "swtSj",
"name": "Backup name",
"fill": "$foreground/foreground",
"content": "survival-nightly",
"fontFamily": "$typography/font-mono",
"fontSize": 13,
"fontWeight": "normal"
}
]
},
{
"type": "frame",
"id": "SAxWl",
"name": "Phase",
"width": 120,
"height": 48,
"padding": [
0,
12
],
"alignItems": "center",
"children": [
{
"type": "text",
"id": "BxNZC",
"name": "Phase",
"fill": "$foreground/foreground",
"content": "Succeeded",
"fontFamily": "$typography/font-sans",
"fontSize": 13,
"fontWeight": "normal"
}
]
},
{
"type": "frame",
"id": "b7ipb",
"name": "Logical size and packed bytes added",
"width": 100,
"layout": "vertical",
"gap": 2,
"padding": [
0,
12
],
"children": [
{
"type": "text",
"id": "hjNfI",
"name": "Logical size",
"fill": "$foreground/foreground",
"content": "1434Mi",
"fontFamily": "$typography/font-mono",
"fontSize": 13,
"fontWeight": "normal"
},
{
"type": "text",
"id": "yXBnm",
"name": "Packed bytes added",
"fill": "$muted",
"content": "14 KB added",
"fontFamily": "$typography/font-mono",
"fontSize": 12,
"fontWeight": "normal"
}
]
},
{
"type": "frame",
"id": "vL5Li",
"name": "Completed",
"width": 140,
"height": 48,
"padding": [
0,
12
],
"alignItems": "center",
"children": [
{
"type": "text",
"id": "t8xv6",
"name": "Completed",
"fill": "$foreground/foreground",
"content": "3h ago",
"fontFamily": "$typography/font-sans",
"fontSize": 13,
"fontWeight": "normal"
}
]
}
]
}
]
}
]
}
Expand Down
12 changes: 11 additions & 1 deletion assets/design-export/json/zhLZN.json
Original file line number Diff line number Diff line change
Expand Up @@ -319,11 +319,21 @@
"type": "text",
"id": "ws91g",
"fill": "$foreground/foreground",
"content": "1.4 GiB",
"content": "1434Mi",
"lineHeight": 1.4285714285714286,
"fontFamily": "$typography/font-sans",
"fontSize": 14,
"fontWeight": "normal"
},
{
"type": "text",
"id": "nzp8v",
"name": "Packed data added by this run",
"fill": "$muted",
"content": "14 KB added",
"fontFamily": "$typography/font-mono",
"fontSize": 12,
"fontWeight": "normal"
}
]
},
Expand Down
Binary file modified assets/design-export/screenshots/DPrYX.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified assets/design-export/screenshots/pssCT.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified assets/design-export/screenshots/zhLZN.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
3 changes: 3 additions & 0 deletions changelog/unreleased/933-restic-backup-accounting.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# Restic backup accounting

Restic can reuse the previous snapshot for the same server after a worker or game pod is replaced. Backup lists and details show the packed data added by each new Restic run alongside logical snapshot size.
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
gameplane.local/crd-bundle-sha256: 3b2e34cfb50a4b2312502522937d45442c012cb313195cd2a556f69af01f3a96
gameplane.local/crd-bundle-sha256: da89b28cb8f0dcf2acf5b70116f2da6e3b88880e0c884b9fb5a5f5391a09e98a
controller-gen.kubebuilder.io/version: v0.22.0
name: backups.gameplane.local
spec:
Expand Down Expand Up @@ -147,6 +147,15 @@ spec:
status:
description: BackupStatus is the observed state of a Backup.
properties:
bytesAdded:
anyOf:
- type: integer
- type: string
description: |-
BytesAdded is the packed data Restic added during this backup. Zero
is a measured result. CSI and older Restic summaries omit this field.
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
x-kubernetes-int-or-string: true
captureManifest:
description: |-
CaptureManifest is recorded once, before the first capture worker starts.
Expand Down Expand Up @@ -320,8 +329,8 @@ spec:
- type: integer
- type: string
description: |-
Size is the on-disk size of the snapshot, as reported by the
backup driver. Not always exact for incremental snapshots.
Size is the logical size reported by the driver (total bytes processed
for Restic, restore size for a CSI snapshot).
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
x-kubernetes-int-or-string: true
snapshotID:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
gameplane.local/crd-bundle-sha256: 3b2e34cfb50a4b2312502522937d45442c012cb313195cd2a556f69af01f3a96
gameplane.local/crd-bundle-sha256: da89b28cb8f0dcf2acf5b70116f2da6e3b88880e0c884b9fb5a5f5391a09e98a
controller-gen.kubebuilder.io/version: v0.22.0
name: backupschedules.gameplane.local
spec:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
gameplane.local/crd-bundle-sha256: 3b2e34cfb50a4b2312502522937d45442c012cb313195cd2a556f69af01f3a96
gameplane.local/crd-bundle-sha256: da89b28cb8f0dcf2acf5b70116f2da6e3b88880e0c884b9fb5a5f5391a09e98a
controller-gen.kubebuilder.io/version: v0.22.0
name: clusters.gameplane.local
spec:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
gameplane.local/crd-bundle-sha256: 3b2e34cfb50a4b2312502522937d45442c012cb313195cd2a556f69af01f3a96
gameplane.local/crd-bundle-sha256: da89b28cb8f0dcf2acf5b70116f2da6e3b88880e0c884b9fb5a5f5391a09e98a
controller-gen.kubebuilder.io/version: v0.22.0
name: gameservers.gameplane.local
spec:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
gameplane.local/crd-bundle-sha256: 3b2e34cfb50a4b2312502522937d45442c012cb313195cd2a556f69af01f3a96
gameplane.local/crd-bundle-sha256: da89b28cb8f0dcf2acf5b70116f2da6e3b88880e0c884b9fb5a5f5391a09e98a
controller-gen.kubebuilder.io/version: v0.22.0
name: gametemplates.gameplane.local
spec:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
gameplane.local/crd-bundle-sha256: 3b2e34cfb50a4b2312502522937d45442c012cb313195cd2a556f69af01f3a96
gameplane.local/crd-bundle-sha256: da89b28cb8f0dcf2acf5b70116f2da6e3b88880e0c884b9fb5a5f5391a09e98a
controller-gen.kubebuilder.io/version: v0.22.0
name: modules.gameplane.local
spec:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
gameplane.local/crd-bundle-sha256: 3b2e34cfb50a4b2312502522937d45442c012cb313195cd2a556f69af01f3a96
gameplane.local/crd-bundle-sha256: da89b28cb8f0dcf2acf5b70116f2da6e3b88880e0c884b9fb5a5f5391a09e98a
controller-gen.kubebuilder.io/version: v0.22.0
name: modulesources.gameplane.local
spec:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
gameplane.local/crd-bundle-sha256: 3b2e34cfb50a4b2312502522937d45442c012cb313195cd2a556f69af01f3a96
gameplane.local/crd-bundle-sha256: da89b28cb8f0dcf2acf5b70116f2da6e3b88880e0c884b9fb5a5f5391a09e98a
controller-gen.kubebuilder.io/version: v0.22.0
name: networkcaptures.gameplane.local
spec:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
gameplane.local/crd-bundle-sha256: 3b2e34cfb50a4b2312502522937d45442c012cb313195cd2a556f69af01f3a96
gameplane.local/crd-bundle-sha256: da89b28cb8f0dcf2acf5b70116f2da6e3b88880e0c884b9fb5a5f5391a09e98a
controller-gen.kubebuilder.io/version: v0.22.0
name: restores.gameplane.local
spec:
Expand Down
15 changes: 12 additions & 3 deletions charts/gameplane/crd-manifests/gameplane.local_backups.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
gameplane.local/crd-bundle-sha256: 3b2e34cfb50a4b2312502522937d45442c012cb313195cd2a556f69af01f3a96
gameplane.local/crd-bundle-sha256: da89b28cb8f0dcf2acf5b70116f2da6e3b88880e0c884b9fb5a5f5391a09e98a
controller-gen.kubebuilder.io/version: v0.22.0
name: backups.gameplane.local
spec:
Expand Down Expand Up @@ -147,6 +147,15 @@ spec:
status:
description: BackupStatus is the observed state of a Backup.
properties:
bytesAdded:
anyOf:
- type: integer
- type: string
description: |-
BytesAdded is the packed data Restic added during this backup. Zero
is a measured result. CSI and older Restic summaries omit this field.
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
x-kubernetes-int-or-string: true
captureManifest:
description: |-
CaptureManifest is recorded once, before the first capture worker starts.
Expand Down Expand Up @@ -320,8 +329,8 @@ spec:
- type: integer
- type: string
description: |-
Size is the on-disk size of the snapshot, as reported by the
backup driver. Not always exact for incremental snapshots.
Size is the logical size reported by the driver (total bytes processed
for Restic, restore size for a CSI snapshot).
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
x-kubernetes-int-or-string: true
snapshotID:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
gameplane.local/crd-bundle-sha256: 3b2e34cfb50a4b2312502522937d45442c012cb313195cd2a556f69af01f3a96
gameplane.local/crd-bundle-sha256: da89b28cb8f0dcf2acf5b70116f2da6e3b88880e0c884b9fb5a5f5391a09e98a
controller-gen.kubebuilder.io/version: v0.22.0
name: backupschedules.gameplane.local
spec:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
gameplane.local/crd-bundle-sha256: 3b2e34cfb50a4b2312502522937d45442c012cb313195cd2a556f69af01f3a96
gameplane.local/crd-bundle-sha256: da89b28cb8f0dcf2acf5b70116f2da6e3b88880e0c884b9fb5a5f5391a09e98a
controller-gen.kubebuilder.io/version: v0.22.0
name: clusters.gameplane.local
spec:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
gameplane.local/crd-bundle-sha256: 3b2e34cfb50a4b2312502522937d45442c012cb313195cd2a556f69af01f3a96
gameplane.local/crd-bundle-sha256: da89b28cb8f0dcf2acf5b70116f2da6e3b88880e0c884b9fb5a5f5391a09e98a
controller-gen.kubebuilder.io/version: v0.22.0
name: gameservers.gameplane.local
spec:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
gameplane.local/crd-bundle-sha256: 3b2e34cfb50a4b2312502522937d45442c012cb313195cd2a556f69af01f3a96
gameplane.local/crd-bundle-sha256: da89b28cb8f0dcf2acf5b70116f2da6e3b88880e0c884b9fb5a5f5391a09e98a
controller-gen.kubebuilder.io/version: v0.22.0
name: gametemplates.gameplane.local
spec:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
gameplane.local/crd-bundle-sha256: 3b2e34cfb50a4b2312502522937d45442c012cb313195cd2a556f69af01f3a96
gameplane.local/crd-bundle-sha256: da89b28cb8f0dcf2acf5b70116f2da6e3b88880e0c884b9fb5a5f5391a09e98a
controller-gen.kubebuilder.io/version: v0.22.0
name: modules.gameplane.local
spec:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
gameplane.local/crd-bundle-sha256: 3b2e34cfb50a4b2312502522937d45442c012cb313195cd2a556f69af01f3a96
gameplane.local/crd-bundle-sha256: da89b28cb8f0dcf2acf5b70116f2da6e3b88880e0c884b9fb5a5f5391a09e98a
controller-gen.kubebuilder.io/version: v0.22.0
name: modulesources.gameplane.local
spec:
Expand Down
Loading
Loading