cluster-api-provider-hetzner
changelog.com
cluster-api-provider-hetzner | changelog.com | |
---|---|---|
28 | 12 | |
509 | 2,669 | |
4.3% | 0.3% | |
9.5 | 9.4 | |
3 days ago | 3 days ago | |
Go | Elixir | |
Apache License 2.0 | GNU General Public License v3.0 or later |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
cluster-api-provider-hetzner
-
Bare-Metal Kubernetes, Part I: Talos on Hetzner
Hetzner Cloud is officially supported, but that means setting up VPSs in Hetzner's Cloud offering, whereas this project was intended as a more or less independent pure bare-metal cluster. I see they offer Bare Metal support as well, but I haven't dived too deep into it.
I haven't used KubeOne, but I have previously used Syself's https://github.com/syself/cluster-api-provider-hetzner which I believe works in a similar fashion. I think the approach is very interesting and plays right into the Kubernetes Operator playbook and its self-healing ambitions.
That being said, the complexity of the approach, probably in trying to span and resolve inconsistencies across such a wide landscape of providers, caused me quite a bit of grief. I eventually abandoned this approach after having some operator somewhere consistently attempt and fail to spin up a secondary control plane VPS against my wishes. After poring over loads of documentation and half a dozen CRDs in an attempt to resolve it, I threw in my hat.
Of course, Kubermatic is not Syself, and this was about a year ago, so it is entirely possible that both projects are absolutely superb solutions to the problem at this point.
-
Fly.io Postgres cluster went down for 3 days, no word from them about it
For anyone interested in Kubernetes on Hetzner, there's a really interesting CAPI provider being actively developed:
https://github.com/syself/cluster-api-provider-hetzner
- Syself: Cluster API Provider Hetzner released
- Cluster API Provider Hetzner released
-
How many of you are running kubernetes on prem?
Just a hint running ML Workloads on Hetzner is pretty cheap! You could use for managing k8s: https://github.com/syself/cluster-api-provider-hetzner
-
Syself cluster-api-provider Hetzner v1.0.0-beta.16
we (Syself) release Cluster-API Provider Hetzner v1.0.0-beta.16.
-
NEW ARM-BASED CLOUD SERVER
ah okay they come from the upstream cluster-api project. The caph project implements only the infrastructure provider part of Cluster API.
-
Has anyone set up autoscaling on hetzner?
you can easily use it with https://github.com/syself/cluster-api-provider-hetzner
- Image digest of Go 1.19.7 changed?
-
What's the most sane way to operate a K8s cluster?
I would use cluster-api-provider-hetzner from Syself.
changelog.com
-
Ask HN: How does your CI/CD stack look like today?
Another https://dagger.io fan here. Have been using it since late 2021 to continuously deploy a Phoenix app to Fly.io: https://github.com/thechangelog/changelog.com/pull/395. Every commit goes into production.
This is what the GHA workflow currently looks like: https://github.com/thechangelog/changelog.com/blob/c7b8a57b2...
FWIW, you can see how everything fits together in this architecture diagram: https://github.com/thechangelog/changelog.com/blob/master/IN...
-
Fly.io Postgres cluster went down for 3 days, no word from them about it
I really like the work that you're doing Thomas, this is the right approach. FWIW, https://fly.io/blog/carving-the-scheduler-out-of-our-orchest... is one of my favourite posts on your blog.
For everyone else reading this, we have been running https://changelog.com on Fly.io since April 2022. This is what our architecture currently looks like: https://github.com/thechangelog/changelog.com/blob/master/IN...
After 15 months & more than 100 million requests served by our Phoenix + PostgreSQL app running on Fly.io, I would be hard pressed to find a reason to complain.
- What Phoenix Elixir Tutorial do you want to see?
- Any good and updated open source phoenix project
- Code repositories that help you to become a better Elixir programmer
-
Complete, Production-Ready Phoenix Reference Applications
Changelog.com
- Looking for recommendation of OS phoenix app to look at
-
Metaprogramming in Elixir
I see this criticism a lot but I don't think it has anything to do with macros specifically and more so to do with lack of familiarity with Elixir. I've felt the same way about Django being magic because I had trouble following the class hierarchy. It makes a lot more sense now because I'm more familiar with Python and Django. But even today I'll be looking deeper at something and ask WTF it's doing. In that respect, Elixir codebases are easier to me. The module depth seems "shallower" and I don't have to disambiguate between what behavior is caused by class inheritance or an imported function.
When I first tried to use Elixir several years ago Ecto.Schema [0] seemed complex and magical, but then I came to realize it's just converting module attributes to runtime code. There is not really that much complex macro logic going on.
>This also leads to cryptic errors where you get an error in non existant lines of code.
When was the last time you used Elixir? This isn't a problem I can recall having in the last 4 years or so of using Elixir.
>following the control flow in Phoenix is like a maze because of all the macro substitutions.
Can you clarify what you mean by this? A specific case as to where this happened for you would help. Phoenix's use of macros is actually pretty light [1] except for some very low level stuff. You can even see how frequently a developer will use macros in Phoenix by searching `__using__` in the codebase [2]. It's not used as much as people think. The majority is for views and controllers and only to provide a very thin layer of support on top of your regular use of code. As an example, the "macro magic" in Phoenix.Controller is just handling some basics for giving a layout and view to Plug and handling fallback actions for exceptions. You could do the plug calls manually and I think it would be safe to not use any macros in your controller code.
Another familiarity issue with the language (and any language really) is understanding what is meaningful in a stack trace and what isn't. And the likely cause of the error in the first place. Is it syntax? Is it mistyping a variable? Is a function just used improperly? (wtf is init_p_do_apply and why does it show up in every stacktrace?) You're juggling all these different issues - learning a new paradigm, a new syntax, not knowing how to extend things. It's obviously going to be a little overwhelming and, if not strictly required, we might just pick a different language that we're more familiar with.
[0]: https://github.com/elixir-ecto/ecto/blob/master/lib/ecto/sch...
[1]: https://github.com/thechangelog/changelog.com/blob/master/li... (not mine, I just go here to show the most frequent use of macros in Phoenix)
[2]: https://github.com/phoenixframework/phoenix/search?q=__using...
-
The new changelog.com setup for 2020
changelog.com used to be WordPress, then became a Phoenix app because it needed features that were hacky to implement & then manage in WP. It's more of a podcasting platform these days rather than a CMS.
The code in this repo tells the truth about what it is, and even shows how it works: https://github.com/thechangelog/changelog.com
What are some alternatives?
kubeone - Kubermatic KubeOne automate cluster operations on all your cloud, on-prem, edge, and IoT environments.
phoenix-liveview-counter-tutorial - 🤯 beginners tutorial building a real time counter in Phoenix 1.7.7 + LiveView 0.19 ⚡️ Learn the fundamentals from first principals so you can make something amazing! 🚀
free-tier-gke - Get your very own GKE cluster for next to nothing!
phoenix-chat-example - 💬 The Step-by-Step Beginners Tutorial for Building, Testing & Deploying a Chat app in Phoenix 1.7 [Latest] 🚀
hcloud-cloud-controller-manager - Kubernetes cloud-controller-manager for Hetzner Cloud
ex_chain - Simple Markov Chain written in Elixir
cluster-api-provider-vsphere
hexpm - API server and website for Hex
cluster-api - Home for Cluster API, a subproject of sig-cluster-lifecycle
feedx - Generic feed adding social features to current applications.
cluster-api-k3s - Cluster API k3s
stranger - Chat anonymously with a randomly chosen stranger