-
Notifications
You must be signed in to change notification settings - Fork 1.4k
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
Make Kopia support Azure AD #6686
Conversation
" Kopia supports customizing storage account domain" Should we also make azure plugin conform to that? |
31f21c9
to
29db4d0
Compare
Codecov Report
@@ Coverage Diff @@
## main #6686 +/- ##
==========================================
+ Coverage 60.47% 60.75% +0.28%
==========================================
Files 242 245 +3
Lines 26040 26255 +215
==========================================
+ Hits 15747 15952 +205
+ Misses 9187 9171 -16
- Partials 1106 1132 +26
|
Both Kopia repository and Azure plugin need to interact with Azure storage. In order to keep in sync with the new features for both these two places and remove duplicated code, PR vmware-tanzu/velero#6686 makes the common code as util functions in Velero repository. This commit refactors the Azure plugin based on these util functions. Signed-off-by: Wenkai Yin(尹文开) <[email protected]>
Both Kopia repository and Azure plugin need to interact with Azure storage. In order to keep in sync with the new features for both these two places and remove duplicated code, PR vmware-tanzu/velero#6686 makes the common code as util functions in Velero repository. This commit refactors the Azure plugin based on these util functions. Signed-off-by: Wenkai Yin(尹文开) <[email protected]>
1867843
to
0cde964
Compare
@anshulahuja98 We don't need to. The BTW, I also submitted a draft PR vmware-tanzu/velero-plugin-for-microsoft-azure#206 to refactor the Azure plugin to use the util functions introduced by this PR and remove the duplicated code. Any new features for the Azure storage related need to be implemented on the Velero side first after this PR is merged. This will avoid implementing new features only work for Azure plugin but not for Kopia repository and keep features consistent. |
I have done some manual test to cover:
|
okay got it |
I think it will be harder to maintain compatibility if we include this code separately. I suggests that we fork, rather than copy. That way we have commit history specific to this and we are able to easily rebase with upstream kopia when needed. |
The other advantage of a fork is it provides the opportunity to submit the changes upstream. While they may not always be accepted (especially when goals of the projects differ), when a commit is accepted upstream, then we can remove the local commit in the future and reduce our maintenance burden. Also, we already have a velero fork of kopia for a prior bug fix (although we should still eventually get it into an official velero repo), so we could just make that change in the same repo. |
If we aren't forking.. The alternative IMO is to use git submodules which will keep history of original code + patches. |
Both Kopia repository and Azure plugin need to interact with Azure storage. In order to keep in sync with the new features for both these two places and remove duplicated code, PR vmware-tanzu/velero#6686 makes the common code as util functions in Velero repository. This commit refactors the Azure plugin based on these util functions. Signed-off-by: Wenkai Yin(尹文开) <[email protected]>
Both Kopia repository and Azure plugin need to interact with Azure storage. In order to keep in sync with the new features for both these two places and remove duplicated code, PR vmware-tanzu/velero#6686 makes the common code as util functions in Velero repository. This commit refactors the Azure plugin based on these util functions. Signed-off-by: Wenkai Yin(尹文开) <[email protected]>
a81b779
to
4d7a00b
Compare
4d7a00b
to
28ea23a
Compare
@Lyndon-Li @sseago @kaovilai @blackpiglet I have removed the copied code, please review this PR again. |
This commit introduces our own Azure storage provider by wrapping Kopia's implementation rather than contributing to upstream based on the following considerations: 1. Velero needs the capability to interact with the repository concurrently while Kopia doesn't, this will increase the complexity of Kopia if we contribute to upstream 2. The configuration items provided by Velero and Kopia are conflict, e.g. Velero supports customizing storage account URI which is a full path while Kopia supports customizing storage account domain which is part of the URI. We need to consider the backward compatibility and upgrade case if we contribute to upstream which needs extra efforts 3. Contribute to upstream is a longer cycle when we need to introduce new changes. With this commit, we no longer depends on upstream for the Azure storage provider part and is easy for us to maintain Signed-off-by: Wenkai Yin(尹文开) <[email protected]>
Support setting CA cert for BSL Signed-off-by: Wenkai Yin(尹文开) <[email protected]>
28ea23a
to
b598150
Compare
Both Kopia repository and Azure plugin need to interact with Azure storage. In order to keep in sync with the new features for both these two places and remove duplicated code, PR vmware-tanzu/velero#6686 makes the common code as util functions in Velero repository. This commit refactors the Azure plugin based on these util functions. Signed-off-by: Wenkai Yin(尹文开) <[email protected]>
This commit introduces our own Azure storage provider by wrapping Kopia's implementation rather than contributing to upstream based on the following considerations:
Thank you for contributing to Velero!
Please add a summary of your change
Does your change fix a particular issue?
Fixes #(issue)
Please indicate you've done the following:
/kind changelog-not-required
as a comment on this pull request.site/content/docs/main
.