-
Notifications
You must be signed in to change notification settings - Fork 53
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
Support the creation of servers with only private networks #84
Comments
Should work with 3.8.0 now, could you try it please? |
Thanks a lot for the quick PR! As a Rancher user I use this driver together with the UI/JS package that takes care of the calls (https://github.com/mxschmitt/ui-driver-hetzner), I haven't used the driver directly myself. Should I modify the other code (it belongs to a different GH repo) in order to try this out? Or what's your suggestion to try this? The code and changes look good to me and I believe it will do exactly what I was suggesting. |
@JonasProgrammer : I have tested the 3.8.0 driver together with a customization made on https://github.com/mxschmitt/ui-driver-hetzner and it works fine. I'm able to create servers with only private networks. |
@eedugon did you commit your changes to ui-driver-hetzner to a fork / PR somewhere ? |
@hoerup : nope, I couldn't open any PR because I was unable to build the Maybe it's because I'm missing something silly as I'm not a developer but a sysadmin. I created 2 issues there to make note of that:
What I did was an ugly hack towards the published I explain that in a comment here. If you want to try it out feel free to take my changes from https://gist.github.com/eedugon/66b8f7fce3d059faefe790bc5a7190be. Remember that you will have to host that file together with |
Just wanted to note that servers without public networks (IPv4/6) are not allowed to talk outside world. Maybe that make sense to state this in docs. Cheers. |
@martyrs : in order to have external connectivity keeping only the internal interface you would need to deploy your own NAT gateway / firewall in the network (until Hetzner offers that as a service, which I don't know of it's on their plans). I hope to publish soon a how-to guide to accomplish this setup, because it's not difficult and works pretty well. |
@eedugon yeah should be pretty straightforward using wireguard. (wireguard is available on hetzner cloud images) |
I can see how this is causing headaches, so I want to try to at least somewhat mitigate this. On the other hand, I would like to keep the impact limited. as I am not really keen to introduce too much complexity (read: things I can do wrong) to work around something (hopefully) temporary.
Not really a fan of this, as it would cause headaches of all sorts. This would introduce a whole lot of complexity pretty much everywhere, and the scope is not really clear: Do we do this for servers only? If so, why? If not, should every single API call be retried/where to draw the line?
That I can get behind. It pretty much affects only the creation stage and should be fairly straight-forward (remove from |
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions. |
@JonasProgrammer I guess this could be closed by now? No feedback in 2 months, and does the original problem even exist any more? |
I'm not entirely sure everything is fixed, given the fact that we only recently introduced a flag to wait on server creation so outside orchestration does not run in loops, but I guess the flags are there and the lack of response is an acceptable argument. |
Recently Hetzner has added the support of servers belonging only to private networks, without any public interface.
This is a great achievement for security and architectural purposes, and it would be great if this driver for Rancher supported the creation of the servers in this new way.
In order to create a server without public IPv4 and v6 Hetzner has added 2 new flags documented here: https://docs.hetzner.cloud/#servers-create-a-server
With the CLI (
hcloud
) we only need to use the parameters--without-ipv6 --without-ipv4
when creating the server, and with the go library used in this project I assume we should just add thepublic_net
new object with theenable_ipv4
andenable_ipv6
booleans set to false when creating the server.Of course this should be used together with the existing option of the driver to "use private networks".
Hope you find this proposal interesting.
The text was updated successfully, but these errors were encountered: