All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- [#123] add german docs translations
- [#121] Add NetworkPolicy to allow ingress traffic from prometheus
- [#117] Use Backup retry timeout in requeue timing
- [#113] Load backupRetryTimeLimit dynamically on each backup creation
- [#113] Store backup retry time via config map
- [#111] Restore now cleans up additional backup-scoped resources before recreating them from the backup
- Workloads that depend on those resources can be labeled for temporary scale-down during restore, and their previous replica count is restored afterwards.
- set retry time limit for backup reconciliation to default 1h (60 minutes)
- [#104] add a retry time limit for backup reconciliation, default 1h
- [#109] Backup additional resources with the
k8s.cloudogu.com/backup-scopelabel key
- [#106] Add missing RBAC for maintenance handling
- [#107] Add imagePullSecrets to cronjobs created from backupschedules to fix image pull errors in airgapped environments
- Update version constraint to match latest velero version
- [#101] Fix Go stdlib CVE-2025-68121
Important
Breaking change! New compatible versions of k8s-service-discovery and k8s-ces-assets are required.
- [#99] Write maintenance mode to special
maintenanceConfigMap- Previously, the maintenance mode was stored in the global config, which caused Dogus to restart unnecessarily.
- [#97], [#89] Backup & restore of owner references
- This is not needed anymore, because we only back up Dogu-specific data. The dogu-operator is able to restore owner references itself now.
- [#93] Update backup documentation
- [#95] Enhance error handling when fetching resources in the backup and restore process.
- [#91] Make kubectl image configurable and fix image not found error in airgapped environments.
- [#87] Add metrics for backups and restores.
- [#85] Save backup metadata in annotations also on velero backups.
- This enables restoring backups in "new" clusters when using the Admin-UI.
- [#85] deleting backups.
- [#85] adding finalizer to synchronized backups from velero-backups.
Breaking Change ahead!
Backups now only contain dogu-related data & config.
- [#79] Only cleanup dogus before restoring
- [#80] Backups now only contain the following:
- Dogus, Configmaps, Secrets and PVCs
- [#71] Move backup CRDs into k8s-backup-lib
- [#69] add metadata mapping for logLevel
- [#67] Enhanced documentation and integrated other sources
- [#65] Empty namespace when creating synced backups caused error
- [#63] Update version constraint to match latest velero version
- [#61] Update velero dependency
- [#61] Restore status only for resources in group k8s.cloudogu.com
- [#57] Update k8s-io-libs to v0.33.0
- [#59] Restore of an old ecosystem-certificate could make the ecosystem unavailable
- [#59] Exclude ecosystem-certificate from cleanup
- [#54] Restore of the velero deployment disrupted the restore
- Previously, the Velero deployment would get restored as well, which caused disruptions of the restore if the deployment is different from the one in the backup.
- [#56] Cleanup of backup components lead to errors after restore
- This is because the component operator would detect a downgrade, which is not allowed. Or worse, an upgrade during the restore operation would cause it to fail.
- [#54] Exclude all resources with label
k8s.cloudogu.com/part-of: backupfrom restores. - [#56] Exclude all backup-related components from cleanup when restoring.
- [#50] Exclude resources in cleanup before restore
- [#51] Set sensible resource requests and limits
- [#44] Fixed resource ownerReferences after a restore of a previous backup
- subsequently, this fixes the failure to fully delete some resources after a restore
- [#46] Fixed endless loop of reconciles because the image was not set in update manager and difference comparison did not check the cron job provider correctly
- [#46] Fixed missing CronJobs apiGroup in RBACs
- [#46] Add a waiting routine to fix race condition while deleting and restoring resources
- [#47] Add additional print columns and aliases to CRDs
- [#42] Removed unnecessary rbac proxy to fix CVE-2024-45337
- [#40] Add NetworkPolicy to deny all ingress traffic
- [#37] Refactor rbac permissions to be more clear and better match the use cases
- [#37] Leader election and leader election rbac permissions
- [#37] Metrics rbac permissions
- Do not abort restore when maintenance mode cannot be activated
- [#35] Use correct helm dependency constraint for
backup-operator-crd.
- [#33] Make imagePullSecrets configurable via helm values and use
ces-container-registriesas default.
- [#31] Use cluster native config instead of the etcd.
- [#29] Relicense to AGPL-3.0-only
- [#27] Added missing watch permission for statefulsets.
- This is used when waiting for the etcd on maintenance switch.
- [#14] Updated docs for installing and configuring
k8s-longhornandk8s-velero.
- [#23] Added docs for installing the operator in an existent Cloudogu EcoSystem and on an empty cluster.
- Fix value of label
k8s.cloudogu.com/part-ofin helm template do avoid deletion in cleanup process.
- [#14] Patch template for mirroring this component and its images
- [#17] Replace create-backup-script with an operator subcommand. This way, the backup schedule cron job can use the same image as the operator.
- [#15] Delete kustomize structure and hold the operator yaml files just in a helm chart.
- [#19] Sync backup list with provider on operator startup
- [#13] Sync completed (velero) backups with backup CRs after a restore has finished
- [#11] Automated deletion of Backups via various retention strategies.
- [#8] Functionality to schedule backups via a
BackupScheduleResource
- [#7] Functionality to restore a backup to the namespace where the backup-operator is deployed
- Before the restore is applied, resources in this namespace which are irrelevant to the backup process are removed to provide a clean slate
- Currently, only the velero provider is supported
- [#3] Functionality to create a backup from the namespace where the backup-operator is deployed
- Velero is used as a first provider.
- [#4] Add CRD-Release to Jenkinsfile
Initial release