hcloud-ip-floater icon indicating copy to clipboard operation
hcloud-ip-floater copied to clipboard

Add support for other cloud providers

Open jawabuu opened this issue 3 years ago • 5 comments

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.

jawabuu avatar May 16 '21 11:05 jawabuu

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 :disappointed:

I would gladly look over PRs though!

costela avatar May 17 '21 08:05 costela

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 avatar May 17 '21 09:05 jawabuu

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

jawabuu avatar May 17 '21 09:05 jawabuu

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 :shrug:

costela avatar Jun 09 '21 06:06 costela

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?

ghorofamike avatar Aug 11 '21 08:08 ghorofamike