Skip to content

Commit

Permalink
Merge pull request #639 from JohnStrunk/rel-3.4
Browse files Browse the repository at this point in the history
Prep for release of v3.4.0
  • Loading branch information
mergify[bot] authored May 9, 2024
2 parents 0afa636 + 22df23a commit 30f4644
Show file tree
Hide file tree
Showing 10 changed files with 86 additions and 65 deletions.
12 changes: 6 additions & 6 deletions .github/workflows/tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -166,12 +166,12 @@ jobs:
- "1.21.14"
- "1.22.17"
- "1.23.17"
- "1.24.15"
- "1.25.11"
- "1.26.6"
- "1.27.3"
- "1.28.0"
- "1.29.0"
- "1.24.17"
- "1.25.16"
- "1.26.14"
- "1.27.11"
- "1.28.7"
- "1.29.2"

env:
KUBECONFIG: /tmp/kubeconfig
Expand Down
15 changes: 14 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,18 @@ This project follows [Semantic Versioning](https://semver.org/)

## [Unreleased]

## [3.4.0] - 2024-05-09

### Changed

- Dependency updates (including CVE fixes)
- Upgrade operator-sdk to 1.34.1

### Fixed

- Helm chart: Add `metadata.namespace` to namespaced resources for compatibility
with ArgoCD

## [3.3.0] - 2023-09-22

### Added
Expand Down Expand Up @@ -141,7 +153,8 @@ This project follows [Semantic Versioning](https://semver.org/)
- Label selectors to control which PVCs are selected for snapshotting
- Retention policies based on snapshot age or count

[Unreleased]: https://github.com/backube/snapscheduler/compare/v3.3.0...HEAD
[Unreleased]: https://github.com/backube/snapscheduler/compare/v3.4.0...HEAD
[3.4.0]: https://github.com/backube/snapscheduler/compare/v3.3.0...v3.4.0
[3.3.0]: https://github.com/backube/snapscheduler/compare/v3.2.0...v3.3.0
[3.2.0]: https://github.com/backube/snapscheduler/compare/v3.1.0...v3.2.0
[3.1.0]: https://github.com/backube/snapscheduler/compare/v3.0.0...v3.1.0
Expand Down
4 changes: 2 additions & 2 deletions bundle.Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -7,9 +7,9 @@ LABEL operators.operatorframework.io.bundle.metadata.v1=metadata/
LABEL operators.operatorframework.io.bundle.package.v1=snapscheduler
LABEL operators.operatorframework.io.bundle.channels.v1=candidate,stable
LABEL operators.operatorframework.io.bundle.channel.default.v1=stable
LABEL operators.operatorframework.io.metrics.builder=operator-sdk-v1.31.0
LABEL operators.operatorframework.io.metrics.builder=operator-sdk-v1.34.1
LABEL operators.operatorframework.io.metrics.mediatype.v1=metrics+v1
LABEL operators.operatorframework.io.metrics.project_layout=go.kubebuilder.io/v3
LABEL operators.operatorframework.io.metrics.project_layout=go.kubebuilder.io/v4

# Labels for testing.
LABEL operators.operatorframework.io.test.mediatype.v1=scorecard+v1
Expand Down
71 changes: 40 additions & 31 deletions bundle/manifests/snapscheduler.backube_snapshotschedules.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
controller-gen.kubebuilder.io/version: v0.13.0
controller-gen.kubebuilder.io/version: v0.15.0
creationTimestamp: null
name: snapshotschedules.snapscheduler.backube
spec:
Expand Down Expand Up @@ -37,14 +37,19 @@ spec:
of PVC(s)
properties:
apiVersion:
description: 'APIVersion defines the versioned schema of this representation
of an object. Servers should convert recognized schemas to the latest
internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
description: |-
APIVersion defines the versioned schema of this representation of an object.
Servers should convert recognized schemas to the latest internal value, and
may reject unrecognized values.
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
type: string
kind:
description: 'Kind is a string value representing the REST resource this
object represents. Servers may infer this from the endpoint the client
submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
description: |-
Kind is a string value representing the REST resource this object represents.
Servers may infer this from the endpoint the client submits requests to.
Cannot be updated.
In CamelCase.
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
type: string
metadata:
type: object
Expand All @@ -58,41 +63,42 @@ spec:
description: matchExpressions is a list of label selector requirements.
The requirements are ANDed.
items:
description: A label selector requirement is a selector that
contains values, a key, and an operator that relates the key
and values.
description: |-
A label selector requirement is a selector that contains values, a key, and an operator that
relates the key and values.
properties:
key:
description: key is the label key that the selector applies
to.
type: string
operator:
description: operator represents a key's relationship to
a set of values. Valid operators are In, NotIn, Exists
and DoesNotExist.
description: |-
operator represents a key's relationship to a set of values.
Valid operators are In, NotIn, Exists and DoesNotExist.
type: string
values:
description: values is an array of string values. If the
operator is In or NotIn, the values array must be non-empty.
If the operator is Exists or DoesNotExist, the values
array must be empty. This array is replaced during a strategic
description: |-
values is an array of string values. If the operator is In or NotIn,
the values array must be non-empty. If the operator is Exists or DoesNotExist,
the values array must be empty. This array is replaced during a strategic
merge patch.
items:
type: string
type: array
x-kubernetes-list-type: atomic
required:
- key
- operator
type: object
type: array
x-kubernetes-list-type: atomic
matchLabels:
additionalProperties:
type: string
description: matchLabels is a map of {key,value} pairs. A single
{key,value} in the matchLabels map is equivalent to an element
of matchExpressions, whose key field is "key", the operator
is "In", and the values array contains only "value". The requirements
are ANDed.
description: |-
matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
map is equivalent to an element of matchExpressions, whose key field is "key", the
operator is "In", and the values array contains only "value". The requirements are ANDed.
type: object
type: object
x-kubernetes-map-type: atomic
Expand All @@ -104,8 +110,9 @@ spec:
will be kept.
properties:
expires:
description: The length of time (time.Duration) after which a
given Snapshot will be deleted.
description: |-
The length of time (time.Duration) after which a given Snapshot will be
deleted.
pattern: ^\d+(h|m|s)$
type: string
maxCount:
Expand All @@ -115,9 +122,9 @@ spec:
type: integer
type: object
schedule:
description: Schedule is a Cronspec specifying when snapshots should
be taken. See https://en.wikipedia.org/wiki/Cron for a description
of the format.
description: |-
Schedule is a Cronspec specifying when snapshots should be taken. See
https://en.wikipedia.org/wiki/Cron for a description of the format.
pattern: ^(@(annually|yearly|monthly|weekly|daily|hourly))|((((\d+,)*\d+|(\d+(\/|-)\d+)|\*(\/\d+)?)\s?){5})$
type: string
snapshotTemplate:
Expand All @@ -126,8 +133,9 @@ spec:
labels:
additionalProperties:
type: string
description: A list of labels that should be added to each Snapshot
created by this schedule.
description: |-
A list of labels that should be added to each Snapshot created by this
schedule.
type: object
snapshotClassName:
description: The name of the VolumeSnapshotClass to be used when
Expand All @@ -142,8 +150,9 @@ spec:
description: Conditions is a list of conditions related to operator
reconciliation.
items:
description: Condition represents the state of the operator's reconciliation
functionality.
description: |-
Condition represents the state of the operator's
reconciliation functionality.
properties:
lastHeartbeatTime:
format: date-time
Expand Down
16 changes: 8 additions & 8 deletions bundle/manifests/snapscheduler.clusterserviceversion.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -28,15 +28,15 @@ metadata:
capabilities: Full Lifecycle
categories: Storage
certified: "false"
containerImage: quay.io/backube/snapscheduler:v3.3.0
createdAt: "2023-09-22T15:45:56Z"
containerImage: quay.io/backube/snapscheduler:v3.4.0
createdAt: "2024-05-09T18:13:51Z"
description: The SnapScheduler operator takes snapshots of Kubernetes CSI-based
persistent volumes according to user-supplied schedules.
operators.operatorframework.io/builder: operator-sdk-v1.31.0
operators.operatorframework.io/project_layout: go.kubebuilder.io/v3
operators.operatorframework.io/builder: operator-sdk-v1.34.1
operators.operatorframework.io/project_layout: go.kubebuilder.io/v4
repository: https://github.com/backube/snapscheduler
support: https://github.com/backube/snapscheduler
name: snapscheduler.v3.3.0
name: snapscheduler.v3.4.0
namespace: placeholder
spec:
apiservicedefinitions: {}
Expand Down Expand Up @@ -300,7 +300,7 @@ spec:
- --upstream=http://127.0.0.1:8080/
- --logtostderr=true
- --v=0
image: quay.io/brancz/kube-rbac-proxy:v0.14.3
image: quay.io/brancz/kube-rbac-proxy:v0.17.1
name: kube-rbac-proxy
ports:
- containerPort: 8443
Expand All @@ -324,7 +324,7 @@ spec:
- --leader-elect
command:
- /manager
image: quay.io/backube/snapscheduler:3.3.0
image: quay.io/backube/snapscheduler:3.4.0
livenessProbe:
httpGet:
path: /healthz
Expand Down Expand Up @@ -418,4 +418,4 @@ spec:
provider:
name: Backube
url: https://github.com/backube
version: 3.3.0
version: 3.4.0
4 changes: 2 additions & 2 deletions bundle/metadata/annotations.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -6,9 +6,9 @@ annotations:
operators.operatorframework.io.bundle.package.v1: snapscheduler
operators.operatorframework.io.bundle.channels.v1: candidate,stable
operators.operatorframework.io.bundle.channel.default.v1: stable
operators.operatorframework.io.metrics.builder: operator-sdk-v1.31.0
operators.operatorframework.io.metrics.builder: operator-sdk-v1.34.1
operators.operatorframework.io.metrics.mediatype.v1: metrics+v1
operators.operatorframework.io.metrics.project_layout: go.kubebuilder.io/v3
operators.operatorframework.io.metrics.project_layout: go.kubebuilder.io/v4

# Annotations for testing.
operators.operatorframework.io.test.mediatype.v1: scorecard+v1
Expand Down
12 changes: 6 additions & 6 deletions bundle/tests/scorecard/config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ stages:
- entrypoint:
- scorecard-test
- basic-check-spec
image: quay.io/operator-framework/scorecard-test:v1.31.0
image: quay.io/operator-framework/scorecard-test:v1.34.1
labels:
suite: basic
test: basic-check-spec-test
Expand All @@ -18,7 +18,7 @@ stages:
- entrypoint:
- scorecard-test
- olm-bundle-validation
image: quay.io/operator-framework/scorecard-test:v1.31.0
image: quay.io/operator-framework/scorecard-test:v1.34.1
labels:
suite: olm
test: olm-bundle-validation-test
Expand All @@ -28,7 +28,7 @@ stages:
- entrypoint:
- scorecard-test
- olm-crds-have-validation
image: quay.io/operator-framework/scorecard-test:v1.31.0
image: quay.io/operator-framework/scorecard-test:v1.34.1
labels:
suite: olm
test: olm-crds-have-validation-test
Expand All @@ -38,7 +38,7 @@ stages:
- entrypoint:
- scorecard-test
- olm-crds-have-resources
image: quay.io/operator-framework/scorecard-test:v1.31.0
image: quay.io/operator-framework/scorecard-test:v1.34.1
labels:
suite: olm
test: olm-crds-have-resources-test
Expand All @@ -48,7 +48,7 @@ stages:
- entrypoint:
- scorecard-test
- olm-spec-descriptors
image: quay.io/operator-framework/scorecard-test:v1.31.0
image: quay.io/operator-framework/scorecard-test:v1.34.1
labels:
suite: olm
test: olm-spec-descriptors-test
Expand All @@ -58,7 +58,7 @@ stages:
- entrypoint:
- scorecard-test
- olm-status-descriptors
image: quay.io/operator-framework/scorecard-test:v1.31.0
image: quay.io/operator-framework/scorecard-test:v1.34.1
labels:
suite: olm
test: olm-status-descriptors-test
Expand Down
2 changes: 1 addition & 1 deletion config/manager/kustomization.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -6,4 +6,4 @@ kind: Kustomization
images:
- name: controller
newName: quay.io/backube/snapscheduler
newTag: 3.3.0
newTag: 3.4.0
3 changes: 2 additions & 1 deletion docs/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,8 @@ Kubernetes version compatibility:
| 3.1 | 1.20 -- 1.24+ | `v1` |
| 3.2 | 1.20 -- 1.25+ | `v1` |
| 3.3 | 1.20 -- 1.28+ | `v1` |
| master | 1.20 -- 1.28+ | `v1` |
| 3.4 | 1.20 -- 1.29+ | `v1` |
| master | 1.20 -- 1.29+ | `v1` |

## Contents

Expand Down
12 changes: 5 additions & 7 deletions helm/snapscheduler/Chart.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
apiVersion: v2
name: snapscheduler
# Chart version: Incremented during chart, template, or appVersion changes.
version: "3.3.0"
version: "3.4.0"
description: >-
An operator to take scheduled snapshots of Kubernetes persistent volumes
type: application
Expand All @@ -23,19 +23,17 @@ maintainers:
url: https://github.com/JohnStrunk
icon: https://raw.githubusercontent.com/backube/snapscheduler/master/docs/media/snapscheduler.svg?sanitize=true
# This is the version number of the application being deployed.
appVersion: "3.3.0"
appVersion: "3.4.0"
annotations:
artifacthub.io/category: storage
# https://artifacthub.io/docs/topics/annotations/helm/
# Changelog for current chart & app version
# Supported kinds: added, changed, deprecated, removed, fixed, security
artifacthub.io/changes: |
- kind: added
description: Ability to set a `priorityClassName` for the operator via Helm chart
- kind: added
description: Ability to set pod labels and annotations for the operator via Helm chart
- kind: fixed
description: Improve cronspec validation to allow "slash" notation
description: Add `metadata.namespace` to namespaced resources for compatibility with ArgoCD
- kind: security
description: Dependency updates
artifacthub.io/containsSecurityUpdates: "true"
artifacthub.io/crds: |
- kind: SnapshotSchedule
Expand Down

0 comments on commit 30f4644

Please # to comment.