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

Add support for other cloud providers #31

Open
jawabuu opened this issue May 16, 2021 · 5 comments
Open

Add support for other cloud providers #31

jawabuu opened this issue May 16, 2021 · 5 comments
Labels
enhancement New feature or request help wanted Extra attention is needed

Comments

@jawabuu
Copy link

jawabuu commented May 16, 2021

Hey @costela
I would like to propose extending ip-floater to support other clouds.
This could be done gradually based on provider support and ease of implementation.
We could probably start with the following clouds;

  1. DigitalOcean
  2. Linode
  3. Vultr
    Maybe:
  4. OVH
  5. Scaleway

Digitalocean could provide the quickest POC as it's API is most similar to Hetzner's.
Based on code structure,
I think most changes will be made here https://github.com/costela/hcloud-ip-floater/tree/master/internal/fipcontroller with an additional provider flag (default: hcloud)
DigitalCean, Linode & Vultr also use an api_token similar to OVH cloud.

@costela
Copy link
Owner

costela commented May 17, 2021

Hi @jawabuu

Thanks for the suggestion! This sounds reasonable. Unfortunately I don't have any time left to commit to this project right now, so I can't say if/when this would be done 😞

I would gladly look over PRs though!

@costela costela added enhancement New feature or request help wanted Extra attention is needed labels May 17, 2021
@jawabuu
Copy link
Author

jawabuu commented May 17, 2021

Hey @costela Thank you for getting back to me.
I would like to take a stab at it but you should probably advise with an overview of how you would prefer it refactored.
Just a general one.

@jawabuu
Copy link
Author

jawabuu commented May 17, 2021

Would also appreciate if you can share how you mock/test with a cloud provider outside a cluster if possible.

@costela
Copy link
Owner

costela commented Jun 9, 2021

Hi @jawabuu, sorry for the late reply.

I'd say we'd need some common interface that wraps the few opperations we use in the individual cloud SDKs. So hcloudClienter would probably become something like cloudClienter and we'd have different implementations of it for each cloud provider.

As for testing, hcloudClienter basically exists to allow better testing, but I never got around to actually writing useful tests 🤷

@ghorofamike
Copy link

This would be nice, but for vultr is completely unneccessary, vultr already does BGP which metallb supports natively, or is there some reason you dont want to do BGP with vultr?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request help wanted Extra attention is needed
Projects
None yet
Development

No branches or pull requests

3 participants