-
Notifications
You must be signed in to change notification settings - Fork 123
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
feat: add hetzner cloud provider #167
base: master
Are you sure you want to change the base?
Conversation
2517c71
to
7623bb6
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM!
Could we get this merged? |
While waiting for it to be merged, is there any way for now to automatically get a list of private IPs for the |
I don't think there is any support for that yet, but hashicorp/consul#9100 is a proposal that should make it possible. |
I'm waiting for it too :) ... here is my approach: You get private IP addresses once the server is assigned to a network or subnet. Then you should use e.g. the hcloud server-info API. This will return the available servers including their private IP addresses for available interfaces. From this server-info response you can then construct the list of desired private cluster IP addresses. |
What's blocking this PR from being merged? I'm currently evaluating Consul for work and I'd love to use/try the auto-discovery feature as part of this PoC. |
Please merge, it would massively help adopting Consul for our platform. |
Any help needed? Any blockers left? If not please (with sugar on top) merge, would be a boost for Consul/Hetzner adoption in Germany/EU. |
I believe there's no blockers, although the repo hasn't been updated since last year. So I'm not sure if it'll be merged any time soon. |
commit 7623bb6 Author: Chinmay D. Pai <chinmaydpai@gmail.com> Date: Tue Feb 16 03:56:04 2021 +0530 doc: add documentation for hcloud Signed-off-by: Chinmay D. Pai <chinmaydpai@gmail.com> commit 297a1f5 Author: Chinmay D. Pai <chinmaydpai@gmail.com> Date: Tue Feb 16 03:54:08 2021 +0530 ci: add tests for hcloud provider * add terraform files for hcloud server setup * add tests for public IPv4, IPv6, and private IPv4 * add test to check for location filter * add circleci entry for hcloud provider Signed-off-by: Chinmay D. Pai <chinmaydpai@gmail.com> commit 49c8fb3 Author: Chinmay D. Pai <chinmaydpai@gmail.com> Date: Tue Feb 16 03:51:44 2021 +0530 feat: add hcloud to providers map and update go modules * adds hcloud provider to providers map * adds go module entry for hcloud, updates go mod sum Signed-off-by: Chinmay D. Pai <chinmaydpai@gmail.com> commit 0ea43fc Author: Chinmay D. Pai <chinmaydpai@gmail.com> Date: Tue Feb 16 03:43:18 2021 +0530 feat: add hetzner cloud (hcloud) provider adds a provider for hetzner cloud that does: * filter instances by label selector and datacenter location * fetch public/private IP address based on provided address type * checks for associated floating IPs in case of blocked public/private IP addresses * accepts API token as environment variable: HCLOUD_TOKEN Signed-off-by: Chinmay D. Pai <chinmaydpai@gmail.com>
This is a feature we need for our infrastructure. It doesn't appear like it's going to be committed anytime soon. If you'd like to immediately use this implementation, binaries have been added for the latest releases.Consul 1.11.3 (hcloud)Consul 1.11.4 (hcloud)Consul 1.12.0-beta1 (hcloud) |
What are the blockers on getting this merged? This will be very useful for my org. Happy to assist with what is needed. |
Echoing the above. It would be fantastic to see this merged or insight into what is needed for a merge. |
any news here? |
Hello @dnephin, @riddhi89, @alvin-huang, |
FYI @Thunderbottom I can't imagine you're enthusiastic to do more work on this PR since it hasn't been re-reviewed yet, but in case you are -- a merge conflict has occurred. |
7623bb6
to
8a7a187
Compare
Hi, haven't gotten the time to check GitHub that often anymore. I have fixed all the issues and rebased to the latest master. let me know if anything else needs to be done. |
@riddhi89 Any chance we could get this merged? |
Any updates? |
adds a provider for hetzner cloud that does: * filter instances by label selector and datacenter location * fetch public/private IP address based on provided address type * checks for associated floating IPs in case of blocked public/private IP addresses * accepts API token as environment variable: HCLOUD_TOKEN Signed-off-by: Chinmay D. Pai <chinmaydpai@gmail.com>
* adds hcloud provider to providers map * adds go module entry for hcloud, updates go mod sum Signed-off-by: Chinmay D. Pai <chinmaydpai@gmail.com>
* add terraform files for hcloud server setup * add tests for public IPv4, IPv6, and private IPv4 * add test to check for location filter * add circleci entry for hcloud provider Signed-off-by: Chinmay D. Pai <chinmaydpai@gmail.com>
Signed-off-by: Chinmay D. Pai <chinmaydpai@gmail.com> Signed-off-by: Chinmay D. Pai <chinmay.pai@zerodha.com>
Signed-off-by: Chinmay D. Pai <chinmay.pai@zerodha.com>
Signed-off-by: Chinmay D. Pai <chinmay.pai@zerodha.com>
018b71f
to
524be32
Compare
Hello! @alvin-huang any chance you could review this PR? Or do you have somebody else from HashiCorp to suggest? I really want to see Hetzner Cloud in go-discovery so that Сonsul and Nomad could use auto-join. Thanks! |
@Neyury If you're desperate to use @Thunderbottom's patch, you can do what I did and fork Then my server_join {
retry_join = [ "provider=hcloud label_selector=nomad-server apiToken=${hetzner_compute_access_token}" ]
}
I've been running a hetzner nomad cluster this way for over 6 months. I do recommend pinning your fork to a tagged version of nomad, however. I have a You really should not use binaries from unknown strangers on the internet. But feel free to use it in a dev/test environment if you feel that it's sufficiently isolated from the rest of your infrastructure |
Hi Yuriy, thanks for taking care of this feature, also very interested in it. I'd suggest involving @LKaemmerling from Hetzner for this.
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Julian here from the @hetznercloud Integrations team. This looks fine regarding the usage of hcloud-go
, I can not speak about go-discover.
Happy to help if you got any questions.
Co-authored-by: Julian Tölle <julian.toelle97@gmail.com>
Hashicorp are "semi-actively moving our repos to https://github.com/hashicorp/go-netaddr". I emailed a member of their team to learn about the status of this repository. Those are the words of one individual, but you can see from the project activity that the project is not under heavy development. Anyone waiting for this or other features to land in go-discover should probably not hold their breath about them being added to With that said, I don't see how |
Hello from 2024, I also hit this in my own setup, and would have loved for go-discover to support hcloud. |
adds a provider for hetzner cloud that does:
HCLOUD_TOKEN
Enhancement over: #159
Closes: #73