Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[velero] Adhere chart to semver #569

Merged
merged 1 commit into from
May 11, 2024

Conversation

qiuming-best
Copy link
Collaborator

Special notes for your reviewer:

Checklist

[Place an '[x]' (no spaces) in all applicable fields. Please remove unrelated fields.]

  • DCO signed
  • Chart Version bumped
  • Variables are documented in the values.yaml or README.md
  • Title of the PR starts with chart name (e.g. [velero])

Fix #554

  • Add helm release instruction document.
  • Modify release workflow, make any commit merged into main or velero-helm-charts-v* trigger helm chart release.
  • Modify lint-test, trigger test if the current submit different from the target branch

Signed-off-by: Ming Qiu <[email protected]>
@siegenthalerroger
Copy link

looks good to me :)

Copy link
Collaborator

@jenting jenting left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@qiuming-best Thank you for coordinate the topic and comes out the idea and documentation. I have another ideas on this one, please take a look of my comments.

#### Guidelines
To comply with the [Semantic Versioning (semver)](https://semver.org/#summary) rule, follow these instructions:
- **Velero Release:**
- For each Velero minor version release, increase the major version of the Helm charts. For example, if Velero v1.13.0 is released, the Helm charts version becomes 6.0.0; for Velero v1.14.0, it becomes 7.0.0.
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Personally, I don't think the helm chart itself follows the semver because the Velero bumps minor version (functionality change) but the corresponding helm chart changes the major version (breaking changes).

We could consider maintains the velero helm chart and Velero itself with this format . This makes the helm chart follows the semver as well, also we can easily check the helm chart upstream Velero version.

Copy link
Collaborator Author

@qiuming-best qiuming-best Apr 22, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@jenting
I do not quite understand the format :
The upstream charts follow this versioning: 1.0.#+upX.Y.Z
Could you please give more details explanation?

Our main goal for this PR about versioning is to solve the conflicts in chart versions problem
Not sure the format you mentioned could avoid the conflicts in chart versions problem?

If it could avoid the conflicts, we also need to plan the helm chart version reasonably related format in 1.0.#+upX.Y.Z ?

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@jenting the reasoning behind the chart requiring a major bump for every minor velero bump is because velero itself doesn't follow semver. There are often changes in minor velero updates that require changes to be made to the deployment. To a certain extent the helm chart could catch these and make them non-breaking, however the decision here would be to forego that effort and just admit that the helm chart just "moves fast and breaks things" in a sense.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Having looked at the rancher example, they actually have the same "ruleset" in a sense. The helm major version is always bumped for a minor rancher release (the 100.x.y examples), just with an additional +up....

Personally I don't think the additional +up is necessary, that's what the appVersion field in the Chart.yaml is for, and it's what we use to track the upstream version in our deployments.

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What if the Velero bump the major release? How should we tackle in the Velero helm chart?

My thought was

  • if the Velero bump patch/minor/major version, the helm chart itself should bump patch/minor/major version.
  • if the helm chart itself have to fix/feature/breaking change, bump the helm chart version ..-. For example: current version is 6.1.0-v1.13.0
    • The helm chart bug fix would be 6.1.1-v1.13.0
    • The helm chart feature enhance would be 6.2.0-v1.13.0
    • The helm chart breaking change would be 7.0.0-v1.13.0
    • The velero bug fix would be 6.1.1-v1.13.1
    • The velero feature enhance would be 6.2.0-v1.14.0
    • The velero bbreaking change would be 7.0.0-v2.0.0

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

To the first question: just do a major bump as you'd expect.

To your suggestion: While that sounds fine, the issue raised was that the helm chart can sometimes manage to update to new velero minor versions without a breaking change, but sometimes it does. IMO, while the originally suggested change veers on the safe side (always doing major bumps for minor velero updates, just incase they have a breaking change), you could cover it just by making sure it major bumps if a breaking change is required.

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Understood.

@jenting jenting merged commit 813909d into vmware-tanzu:main May 11, 2024
15 checks passed
renovate bot referenced this pull request in teutonet/teutonet-helm-charts Jul 3, 2024
#954)

[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Update | Change |
|---|---|---|
| [velero](https://togithub.com/vmware-tanzu/velero)
([source](https://togithub.com/vmware-tanzu/helm-charts)) | minor |
`6.0.0` -> `6.7.0` |

---

> [!WARNING]
> Some dependencies could not be looked up. Check the Dependency
Dashboard for more information.

---

### Release Notes

<details>
<summary>vmware-tanzu/helm-charts (velero)</summary>

###
[`v6.7.0`](https://togithub.com/vmware-tanzu/helm-charts/releases/tag/velero-6.7.0)

[Compare
Source](https://togithub.com/vmware-tanzu/helm-charts/compare/velero-6.6.0...velero-6.7.0)

A Helm chart for velero

#### What's Changed

- \[velero] Remove default values for resources by
[@&#8203;rissson](https://togithub.com/rissson) in
[https://github.com/vmware-tanzu/helm-charts/pull/499](https://togithub.com/vmware-tanzu/helm-charts/pull/499)

#### New Contributors

- [@&#8203;rissson](https://togithub.com/rissson) made their first
contribution in
[https://github.com/vmware-tanzu/helm-charts/pull/499](https://togithub.com/vmware-tanzu/helm-charts/pull/499)

**Full Changelog**:
vmware-tanzu/helm-charts@velero-6.6.0...velero-6.7.0

###
[`v6.6.0`](https://togithub.com/vmware-tanzu/helm-charts/releases/tag/velero-6.6.0)

[Compare
Source](https://togithub.com/vmware-tanzu/helm-charts/compare/velero-6.5.0...velero-6.6.0)

A Helm chart for velero

#### What's Changed

- \[velero] feat(issue-584): Adds ImagePullSecrets to Velero server
ServiceAccount by
[@&#8203;Sebastian-RG](https://togithub.com/Sebastian-RG) in
[https://github.com/vmware-tanzu/helm-charts/pull/585](https://togithub.com/vmware-tanzu/helm-charts/pull/585)

#### New Contributors

- [@&#8203;Sebastian-RG](https://togithub.com/Sebastian-RG) made their
first contribution in
[https://github.com/vmware-tanzu/helm-charts/pull/585](https://togithub.com/vmware-tanzu/helm-charts/pull/585)

**Full Changelog**:
vmware-tanzu/helm-charts@velero-6.5.0...velero-6.6.0

###
[`v6.5.0`](https://togithub.com/vmware-tanzu/helm-charts/releases/tag/velero-6.5.0)

[Compare
Source](https://togithub.com/vmware-tanzu/helm-charts/compare/velero-6.4.0...velero-6.5.0)

A Helm chart for velero

##### What's Changed

- \[velero] CI k8s 1.30 by
[@&#8203;jenting](https://togithub.com/jenting) in
[https://github.com/vmware-tanzu/helm-charts/pull/579](https://togithub.com/vmware-tanzu/helm-charts/pull/579)
- \[velero] feat(issue-582): Allow annotating
VolumeSnapshotLocation/BackupStorageLocation resources by
[@&#8203;tuusberg](https://togithub.com/tuusberg) in
[https://github.com/vmware-tanzu/helm-charts/pull/583](https://togithub.com/vmware-tanzu/helm-charts/pull/583)

##### New Contributors

- [@&#8203;tuusberg](https://togithub.com/tuusberg) made their first
contribution in
[https://github.com/vmware-tanzu/helm-charts/pull/583](https://togithub.com/vmware-tanzu/helm-charts/pull/583)

**Full Changelog**:
vmware-tanzu/helm-charts@velero-6.4.0...velero-6.5.0

###
[`v6.4.0`](https://togithub.com/vmware-tanzu/helm-charts/releases/tag/velero-6.4.0)

[Compare
Source](https://togithub.com/vmware-tanzu/helm-charts/compare/velero-6.3.0...velero-6.4.0)

A Helm chart for velero

#### What's Changed

- \[velero] Add paused flag for the schedule resource by
[@&#8203;higashik](https://togithub.com/higashik) in
[https://github.com/vmware-tanzu/helm-charts/pull/574](https://togithub.com/vmware-tanzu/helm-charts/pull/574)

#### New Contributors

- [@&#8203;higashik](https://togithub.com/higashik) made their first
contribution in
[https://github.com/vmware-tanzu/helm-charts/pull/574](https://togithub.com/vmware-tanzu/helm-charts/pull/574)

**Full Changelog**:
vmware-tanzu/helm-charts@velero-6.3.0...velero-6.4.0

###
[`v6.3.0`](https://togithub.com/vmware-tanzu/helm-charts/releases/tag/velero-6.3.0)

[Compare
Source](https://togithub.com/vmware-tanzu/helm-charts/compare/velero-6.2.0...velero-6.3.0)

A Helm chart for velero

#### What's Changed

- \[velero]Bump up Velero 1.13.2 by
[@&#8203;qiuming-best](https://togithub.com/qiuming-best) in
[https://github.com/vmware-tanzu/helm-charts/pull/577](https://togithub.com/vmware-tanzu/helm-charts/pull/577)

**Full Changelog**:
vmware-tanzu/helm-charts@velero-6.2.0...velero-6.3.0

###
[`v6.2.0`](https://togithub.com/vmware-tanzu/helm-charts/releases/tag/velero-6.2.0)

[Compare
Source](https://togithub.com/vmware-tanzu/helm-charts/compare/velero-6.1.0...velero-6.2.0)

A Helm chart for velero

#### What's Changed

- \[velero] Allow passing custom arguments to velero server CLI by
[@&#8203;jacksgt](https://togithub.com/jacksgt) in
[https://github.com/vmware-tanzu/helm-charts/pull/572](https://togithub.com/vmware-tanzu/helm-charts/pull/572)

#### New Contributors

- [@&#8203;jacksgt](https://togithub.com/jacksgt) made their first
contribution in
[https://github.com/vmware-tanzu/helm-charts/pull/572](https://togithub.com/vmware-tanzu/helm-charts/pull/572)

**Full Changelog**:
vmware-tanzu/helm-charts@velero-6.1.0...velero-6.2.0

###
[`v6.1.0`](https://togithub.com/vmware-tanzu/helm-charts/releases/tag/velero-6.1.0)

[Compare
Source](https://togithub.com/vmware-tanzu/helm-charts/compare/velero-6.0.0...velero-6.1.0)

A Helm chart for velero

#### What's Changed

- \[velero] Adhere chart to semver by
[@&#8203;qiuming-best](https://togithub.com/qiuming-best) in
[https://github.com/vmware-tanzu/helm-charts/pull/569](https://togithub.com/vmware-tanzu/helm-charts/pull/569)
- Bump velero/velero from v1.13.0 to v1.13.1 in /charts/velero by
[@&#8203;dependabot](https://togithub.com/dependabot) in
[https://github.com/vmware-tanzu/helm-charts/pull/557](https://togithub.com/vmware-tanzu/helm-charts/pull/557)

**Full Changelog**:
vmware-tanzu/helm-charts@velero-6.0.0...velero-6.1.0

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Enabled.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR has been generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/). View
repository job log
[here](https://developer.mend.io/github/teutonet/teutonet-helm-charts).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4zNTEuMiIsInVwZGF0ZWRJblZlciI6IjM3LjQyMS45IiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Adhere to semver
4 participants