All notable changes to this project will be documented in this file. The format is based on Keep a Changelog
This project follows Semantic Versioning
3.4.0 - 2024-05-09
- Dependency updates (including CVE fixes)
- Upgrade operator-sdk to 1.34.1
- Helm chart: Add
metadata.namespace
to namespaced resources for compatibility with ArgoCD
3.3.0 - 2023-09-22
- Ability to set a
priorityClassName
for the operator via Helm chart - Ability to set pod labels and annotations for the operator via Helm chart
- Improve cronspec validation to allow "slash" notation
3.2.0 - 2022-10-10
- Ability to specify a container hash instead of just a tag when deploying via Helm chart
-
⚠️ Helm chart now directly manages CRD installation/upgrade
If upgrading from 3.1.0 or earlier, manual steps are required:Error: UPGRADE FAILED: rendered manifests contain a resource that already exists. Unable to continue with update: CustomResourceDefinition "snapshotschedules.snapscheduler.backube" in namespace "" exists and cannot be imported into the current release: invalid ownership metadata; label validation error: missing key "app.kubernetes.io/managed-by": must be set to "Helm"; annotation validation error: missing key "meta.helm.sh/release-name": must be set to "snapscheduler"; annotation validation error: missing key "meta.helm.sh/release-namespace": must be set to "backube-snapscheduler"
The above error can be fixed by adding the required labels and annotations as mentioned in the error message:
$ kubectl label crd/snapshotschedules.snapscheduler.backube app.kubernetes.io/managed-by=Helm customresourcedefinition.apiextensions.k8s.io/snapshotschedules.snapscheduler.backube labeled $ kubectl annotate crd/snapshotschedules.snapscheduler.backube meta.helm.sh/release-name=snapscheduler customresourcedefinition.apiextensions.k8s.io/snapshotschedules.snapscheduler.backube annotated $ kubectl annotate crd/snapshotschedules.snapscheduler.backube meta.helm.sh/release-namespace=backube-snapscheduler customresourcedefinition.apiextensions.k8s.io/snapshotschedules.snapscheduler.backube annotated
-
Made CRD validation of cronspec more permissive
-
Upgrade quay.io/brancz/kube-rbac-proxy to v0.13.1
-
Upgrade operator-sdk to 1.23.0
3.1.0 - 2022-08-01
- Ability to control TopologySpreadConstraints via Helm chart
- Upgrade quay.io/brancz/kube-rbac-proxy to v0.13.0
- Upgrade operator-sdk to 1.22.0
3.0.0 - 2022-04-01
- Snapshot objects are now accessed via
snapshot.storage.k8s.io/v1
API version - Upgrade operator-sdk to 1.18
- Removed support for Kubernetes versions < 1.20
2.1.0 - 2021-12-17
- Ability to configure resource requests for RBAC proxy container when deploying via Helm chart.
- Ability to configure container image used for kube-rbac-proxy
- Build w/ Go 1.17
- Upgrade kube-rbac-proxy image to 0.11.0
- Upgrade operator-sdk to 1.15
2.0.0 - 2021-08-03
- Updated project scaffolding to operator-sdk 1.10
- Moved CRD to
apiextensions.k8s.io/v1
- Added default host anti-affinity for the operator replicas
- Updated Helm Chart manifests to more closely match OSDK scaffolding
- Removed support for Kubernetes versions < 1.17
- Removed support for
snapshot.storage.k8s.io/v1alpha1
snapshot version - Removed node selector labels targeting
beta.kubernetes.io/arch
andbeta.kubernetes.io/os
1.2.0 - 2021-04-05
- Switched the operator base container to distroless
- Metrics weren't accessible from the snapsheduler-metrics Service
1.1.1 - 2020-04-24
- Fix crash when snapshotTemplate is not defined in schedule
1.1.0 - 2020-02-13
- Support Kubernetes 1.17 and
snapshot.storage.k8s.io/v1beta1
snapshot version
1.0.0 - 2019-12-09
- Crontab-based schedule CR to take snapshots of CSI-based persistent volumes
- Label selectors to control which PVCs are selected for snapshotting
- Retention policies based on snapshot age or count