-
Notifications
You must be signed in to change notification settings - Fork 367
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] Add support for multiple backupstoragelocations and volumesnapshotlocations #413
[velero] Add support for multiple backupstoragelocations and volumesnapshotlocations #413
Conversation
I would also like to add a couple things:
|
…ations Signed-off-by: Brandon Steinman <[email protected]>
7d8bfac
to
0a8b806
Compare
Hi, these lint tests are failing due to empty values in |
Thanks for your contribution @bsteinm2 |
Thanks for taking a look @jenting
If I understand correctly, you're talking about the user manually editing the backupstoragelocation/volumesnapshotlocation k8s resource? Are you saying that my additions to the backupstoragelocation and volumesnapshotlocation templates would impede editing those resources?
I am aware of this. It sounds to me like I should undo my changes to the values file and some logic needs to be added to the backupstoragelocation and volumesnapshotlocation, but I'm not sure what. Do you have a proposed fix? Also, I'm just going to use BSL and VSL to abbreviate backupstoragelocation and volumesnapshotlocation now, those are too long to type out every time :) |
Not yet. The problem is how can we make a backward compatible. I have no idea for now. |
Signed-off-by: Brandon Steinman <[email protected]>
Hi @jenting, I believe these latest commits address the issue. I've tested with the old (current) values format and also with multiple BSL and VSL values configuration. Let me know what you think! |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Fantastic @bsteinm2
I left some comments. It's a cool improvement.
@bsteinm2 Do you have time to address the comments? |
…ult provider behavior Signed-off-by: Brandon Steinman <[email protected]>
Hopefully your comments have all been adequately addressed. Apologies that it took a while! |
Signed-off-by: JenTing Hsiao <[email protected]>
Signed-off-by: Brandon Steinman <[email protected]>
…steinm2/helm-charts into multiplebackupstoragelocations
…steinm2/helm-charts into multiplebackupstoragelocations
Signed-off-by: Brandon Steinman <[email protected]>
Signed-off-by: Brandon Steinman <[email protected]>
I did a test, the BSL credential is mandatory but should be optional. helm install velero \
--namespace=velero \
--create-namespace \
--set-file credentials.secretContents.cloud=credentials-velero \
--set configuration.provider=aws \
--set configuration.backupStorageLocation[0].name=default \
--set configuration.backupStorageLocation[0].bucket=velero \
--set configuration.backupStorageLocation[0].config.region=minio-default \
--set configuration.backupStorageLocation[0].config.s3ForcePathStyle=true \
--set configuration.backupStorageLocation[0].config.s3Url=http://minio-default.velero.svc.cluster.local:9000 \
--set configuration.backupStorageLocation[0].config.publicUrl=http://localhost:9000 \
--set snapshotsEnabled=true \
--set deployNodeAgent=true \
--set configuration.volumeSnapshotLocation[0].name=default \
--set configuration.volumeSnapshotLocation[0].config.region=minio-default \
--set initContainers[0].name=velero-plugin-for-aws \
--set initContainers[0].image=velero/velero-plugin-for-aws:v1.5.3 \
--set initContainers[0].volumeMounts[0].mountPath=/target \
--set initContainers[0].volumeMounts[0].name=plugins \
--dry-run \
./charts/velero/ |
037d826
to
d99965c
Compare
Signed-off-by: JenTing Hsiao <[email protected]>
d99965c
to
fe67c0d
Compare
@bsteinm2 I have fixed all the issues I found. |
Hey there, thanks for your work on the helm chart. |
[![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)) | major | `3.2.0` -> `4.0.2` | --- ### ⚠ Dependency Lookup Warnings ⚠ Warnings were logged while processing this repo. Please check the Dependency Dashboard for more information. --- ### Release Notes <details> <summary>vmware-tanzu/helm-charts</summary> ### [`v4.0.2`](https://togithub.com/vmware-tanzu/helm-charts/releases/tag/velero-4.0.2) [Compare Source](https://togithub.com/vmware-tanzu/helm-charts/compare/velero-4.0.1...velero-4.0.2) A Helm chart for velero #### What's Changed - \[velero] ci: add k8s 1.26 and 1.27 tests by [@​jenting](https://togithub.com/jenting) in [https://github.com/vmware-tanzu/helm-charts/pull/453](https://togithub.com/vmware-tanzu/helm-charts/pull/453) - \[velero] doc: the configuration.provider is deprecated by [@​jenting](https://togithub.com/jenting) in [https://github.com/vmware-tanzu/helm-charts/pull/458](https://togithub.com/vmware-tanzu/helm-charts/pull/458) **Full Changelog**: vmware-tanzu/helm-charts@velero-4.0.1...velero-4.0.2 ### [`v4.0.1`](https://togithub.com/vmware-tanzu/helm-charts/releases/tag/velero-4.0.1) [Compare Source](https://togithub.com/vmware-tanzu/helm-charts/compare/velero-4.0.0...velero-4.0.1) A Helm chart for velero #### What's Changed - \[velero] Fix no velero deployment by [@​jenting](https://togithub.com/jenting) in [https://github.com/vmware-tanzu/helm-charts/pull/455](https://togithub.com/vmware-tanzu/helm-charts/pull/455) **Full Changelog**: vmware-tanzu/helm-charts@velero-4.0.0...velero-4.0.1 ### [`v4.0.0`](https://togithub.com/vmware-tanzu/helm-charts/releases/tag/velero-4.0.0) [Compare Source](https://togithub.com/vmware-tanzu/helm-charts/compare/velero-3.2.0...velero-4.0.0) A Helm chart for velero #### What's Changed - \[velero] Add support for multiple backupstoragelocations and volumesnapshotlocations by [@​bsteinm2](https://togithub.com/bsteinm2) in [https://github.com/vmware-tanzu/helm-charts/pull/413](https://togithub.com/vmware-tanzu/helm-charts/pull/413) #### New Contributors - [@​bsteinm2](https://togithub.com/bsteinm2) made their first contribution in [https://github.com/vmware-tanzu/helm-charts/pull/413](https://togithub.com/vmware-tanzu/helm-charts/pull/413) **Full Changelog**: vmware-tanzu/helm-charts@velero-3.2.0...velero-4.0.0 </details> --- ### Configuration 📅 **Schedule**: Branch creation - "on saturday" (UTC), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **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://app.renovatebot.com/dashboard#github/RickCoxDev/home-cluster). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNS43OS4xIiwidXBkYXRlZEluVmVyIjoiMzUuOTguNCIsInRhcmdldEJyYW5jaCI6Im1haW4ifQ==--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Is there a reason a slice was chosen over a map? Using maps is also one of the best-practices outlined in the Helm docs:
source: https://helm.sh/docs/chart_best_practices/values/#consider-how-users-will-use-your-values Also lists are annoying since they are non mergeable. You need to redeclare the whole list to add something. For example: # defaults in the umbrella
configuration:
provider: aws
backupStorageLocation:
bucket: dummy
config:
region: eu-central-1
# user-provided
backupStorageLocation:
bucket: name Keeps things nice and DRY :) This now isn't possible and the user needs to redeclare the whole list. An example approach with a map would have kept this possibility: # defaults in the umbrella
configuration:
backupStorageLocation:
default:
bucket: dummy
provider: aws
config:
region: eu-central-1
# user-provided
backupStorageLocation:
default:
bucket: name
customerLocationUserSpecific:
bucket: somethingvalid
provider: aws
config:
region: us-west-1 Let me know if this is something that would be considered for a PR. To bad I see this PR so late, feels a little to late now :) |
Special notes for your reviewer:
Fixes #254
Checklist
[Place an '[x]' (no spaces) in all applicable fields. Please remove unrelated fields.]
[velero]
)