As a developer using K8up to back up my application
I want K8up to create backup of K8s resources in my applications namespace
So that can restore my application including its Deployment and other deployment related resources (AlertRules, PVCs, Services, Ingress, etc.)
Context
While GitOps principles is considered a best practice, it is safe to bet, not all users of K8s live those principles. I would not be surprised, that some K8s deployments out there, are done by manually applying and editing K8s resource objects. Having a backup of all those K8s resource objects would be vital when one need to restore an application from backup.
And even with GitOps, it might be useful as it might not always be possible to identify the config version used for a given backup.
As cluster administrators, we do a backup of all (most) K8s objects of a cluster. That backup is by far not complete and its existence of that backup gives a false sense of security. For this reason, we usually do not talk about this, and we use this only as a last resort safeguard.
But, if combined with a consistent application specific backup, adding those K8s object dumps would add value.
As a user with permission to deploy an application within a namespace, I can tell K8up, to also add a list of K8s objects to the backup.
Alternatively, I can tell K8up, to add all K8s objects within the namespace to the backup.
Implementation Ideas
Introduce some new fields in relevant K8up resources and or introduce some namespace level annotations. If set, K8up will dump the defined K8s objects or dump all objects of the namespace and add it to the backup. https://github.com/projectsyn/k8s-object-dumper might be of help.
Summary
As a developer using K8up to back up my application I want K8up to create backup of K8s resources in my applications namespace So that can restore my application including its Deployment and other deployment related resources (AlertRules, PVCs, Services, Ingress, etc.)
Context
While GitOps principles is considered a best practice, it is safe to bet, not all users of K8s live those principles. I would not be surprised, that some K8s deployments out there, are done by manually applying and editing K8s resource objects. Having a backup of all those K8s resource objects would be vital when one need to restore an application from backup.
And even with GitOps, it might be useful as it might not always be possible to identify the config version used for a given backup.
As cluster administrators, we do a backup of all (most) K8s objects of a cluster. That backup is by far not complete and its existence of that backup gives a false sense of security. For this reason, we usually do not talk about this, and we use this only as a last resort safeguard.
But, if combined with a consistent application specific backup, adding those K8s object dumps would add value.
Out of Scope
No response
Further links
Acceptance Criteria
As a user with permission to deploy an application within a namespace, I can tell K8up, to also add a list of K8s objects to the backup.
Alternatively, I can tell K8up, to add all K8s objects within the namespace to the backup.
Implementation Ideas
Introduce some new fields in relevant K8up resources and or introduce some namespace level annotations. If set, K8up will dump the defined K8s objects or dump all objects of the namespace and add it to the backup. https://github.com/projectsyn/k8s-object-dumper might be of help.