On this page
backupschedule
The backupschedule CRD schedules recurring PVC backups to an S3 store. The eevee operator creates and manages a Kubernetes CronJob based on this resource. A botmodule references a backupschedule via its spec.backupSchedule field to opt in to scheduled backups.
---
apiVersion: eevee.bot/v1
kind: BackupSchedule
metadata:
name: mybot-daily
namespace: my-eevee-bot
spec:
schedule: "0 2 * * *"
s3Store:
name: my-minio
image: ghcr.io/eevee/backup:latest
Specification
Properties
schedule (string, required)
Crontab-style schedule expression (e.g. 0 2 * * * for daily at 2am). Translated directly to the CronJob schedule.
s3Store (object, required)
Reference to the S3Store CR instance in the same namespace.
| Field | Description |
|---|---|
name | Name of the S3Store resource |
image (string, required)
Container image to use for the backup job (e.g. ghcr.io/eevee/backup:latest)
imagePullPolicy (string, optional)
Image pull policy for the backup job container. One of Always, IfNotPresent, Never. Default: IfNotPresent
Status
| Field | Description |
|---|---|
conditions | Standard Kubernetes condition objects (type, status, reason, message, lastTransitionTime). The Ready condition reflects whether the schedule is active and the CronJob has been created. |
S3 Key Format
Backups are stored with the following key format:
<prefix>/<namespace>/<moduleName>/<uuid>.tar.gz
- prefix — from
S3Store.spec.prefix - namespace — the bot instance identity (K8s namespace)
- moduleName — from
botmodule.spec.moduleName - uuid — generated by the backup image at write time
Example: prod/my-eevee-bot/echo/a1b2c3d4-e5f6-7890-abcd-ef1234567890.tar.gz