Skip to content

Ability to schedule a PVC for backup by setting an annotation #72

Description

@djjudas21

Is your feature request related to a problem? Please describe.
I'm new to Gemini, but it seems good and it's working for me. However I'm finding it a bit inconvenient to manually create SnapshotGroup resources, as lots of my apps are installed from Helm charts, and then I have to add the SnapshotGroup manifest.

Describe the solution you'd like
It would be cool if I could set an annotation on a PVC like

apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  annotations:
    gemini.fairwinds.com/SnapshotSchedule: "my-hourly-routine"

Obviously there would need to be some defaults set, like the frequency and retention, so there could be a generic resource like:

apiVersion: gemini.fairwinds.com/v1beta1
kind: SnapshotSchedule
metadata:
  name: my-hourly-routine
spec:
  schedule:
    - every: hour
      keep: 12

There could be one or more SnapshotSchedule included with Gemini, and then it would only require setting a single annotation on a PVC (which can be done via most helm charts). For example, Bitnami charts would support this syntax:

postgresql:
  persistence:
    enabled: true
    storageClass: freenas-iscsi
    accessMode: ReadWriteOnce
    size: 1Gi
    annotations:
      gemini.fairwinds.com/SnapshotSchedule: "my-hourly-routine"

... and then you get backups from day zero 🙂

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementAdding additional functionality or improvementspinnedPrevents stalebot from removing

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions