-
Notifications
You must be signed in to change notification settings - Fork 1.4k
Clusterctl v2: support for additional backend implementations for provider repository #1964
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
Comments
I think the idea of a pluggable backend should be preserved (and eventually improved) @Arvinderpal please be aware that currently, the work on new backends is on hold on the clusterctl tracking issue because most probably there will be some rework in the Repository interface, due to new requirements under definition for supporting upgrades.
I defer to others the decision about importing a new dependency, but I'm generally in favor of supporting more backends for clusterctl if they fit into the Repository interface
I'm ok with this if this is a special implementation of a pluggable backend; I have also in mind a possible solution for the developer use case (allow local override of repository files without requiring a "full fledged repository implementation"), but before I'm waiting to complete the design on upgrades |
@fabriziopandini: The label(s) In response to this:
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. |
1 similar comment
@fabriziopandini: The label(s) In response to this:
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. |
/area clusterctl |
Issues go stale after 90d of inactivity. If this issue is safe to close now please do so with Send feedback to sig-testing, kubernetes/test-infra and/or fejta. |
/lifecycle frozen |
@vincepri what about closing this issue unless a more specific use case arises? |
SGTM /close |
@vincepri: Closing this issue. In response to this:
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. |
User Story
As an operator, I would like to customize my CAPI core and provider specific data and have clusterctl pull that data from a backend other than github.
As a developer, I would like to test my releases without having to publish them to github.
Detailed Description
Clusterctl v2 will support fetching CAPI core and provider specific data (i.e. component yamls, templates) directly from github repositories that use the release feature to publish artifacts and versions. We should add support for backends beyond github, such as local file system, S3, GCE Buckets, etc.
Anything else you would like to add:
Here are a few ways to going about this:
type Repository interface
. Each backend implementation could implement this interface. This is already being done for github (⚠️ clusterctl v2 add the low-level library for managing provider's repository using Github #1909) and local file system (⚠️ clusterctlv2: add file system backend implementations for provider's repository #1963). The same approach could be applied to S3, GCE, etc.First two options are more convinent for the user, but will create addtional dependencies in clusterctl; for example,
aws-sdk-go/aws
for S3 andcloud.google.com/go/storage
for GCE. Option 2, with go-getter, may require some tweaks to currenttype Repository interface
model but has the benefit of removing backend specific code from clusterctl./kind feature
The text was updated successfully, but these errors were encountered: