Hacker Newsnew | past | comments | ask | show | jobs | submit | seabombs's commentslogin

I've been using Envoy Gateway in my homelab and have found it to be good for my modest needs (single node k3s cluster running on an old PC). I needed to configure the underlying EnvoyProxy so that it would listen on specific IPs provided by MetalLB, and their docs were good enough to find my way through that.

https://gateway.envoyproxy.io/


^ I second Envoy Gateway! It has support for HTTPRoute like all the others, but also TCPRoute, UDPRoute, TLSRoute, GRPCRoute backed by Envoy and they have worked great for me on EKS clusters I manage for work. The migration from Ingress API to Gateway API hasn’t been bad, as you can have both running side-by-side (just not using the same LB) and the EnvoyPatchPolicy has been great for making advanced changes for things not covered by the manifests


But envoy configs are unreadable abominations, why would you choose it? How did you even learn how to configure it? It's documentation is so confusing.


Configuring of the proxy is done by the k8s Gateway controller. Exactly like for the ingress controller. You just use standardized k8s CRDs to configure it.

The gateway/ingress controller takes the k8s resources and configures the proxy server accordingly. In some cases additional config snippets specific to the proxy (nginx, envoy, etc) are required, but it's usually just a few lines.

Which http server is used is not that important (the most common ones are all fine), it's more about how well the integration to k8s works.


Envoy is designed with the intent that a machine is dynamically reconfiguring it at runtime. It is not designed to be configured directly by a human.

The tradeoff is that you can do truly zero downtime configuration changes. Granted, this is important to a very small number of companies, but if it's important to you, Envoy is great.


This makes no sense.

Where would one take a machine to dynamically reconfigure envoy? How would one configure it?

> The tradeoff is that you can do truly zero downtime configuration changes.

So... just like with nginx?


> Where would one take a machine to dynamically reconfigure envoy? How would one configure it?

When I worked in this area a while back - Ingess Controllers and Ingress / a custom type we made because Ingress was too limited.

We didn't use nginx because it would drop requests and mess up connections during certain config reloads. With a custom controller, Envoy never dropped a connection or request we didn't explicitly tell it to (excepting network reliability of course). For context a slow day for us was many billions of requests.


You don't. Envoy is great if you programmatically configure it, or if you have very small and simple configs. It can't be maintained by a human. But if you have tools that generate it programmatically based on other config, you can read through it.


it's pretty straightforward if you think about it in terms of the networking layers involved in processing a request though


Brilliant, I'm anxiously awaiting Australian pricing details (and release dates...) but could definitely seeing myself getting one of these as my first VR device, and the controller looks great too.

Being able to run games on device (and on ARM) is very cool, but I wonder if there is a cheaper/lighter/longer-battery-life version of this that is stream only? That's probably a better fit for me personally, I can't imagine not having a streaming device nearby when I would be using it.

Also hate to be picky, but looks like the frame controllers pair directly to the headset so maybe can't be used on their own? Would be nice to use them standalone too.


I really hope it's not going to take years to be sold in Australia, like the Steam Deck took.


I'm fairly sure/wishful thinking that the reason the last round of Valve hardware was very late/absent in Australia was because it was the time that the ACCC took Valve to court for its no refunds policy (and won). Now that Valve has rectified that and are in good standing in Australia, I'm hoping we see all this new hardware ASAP, alongside the rest of the world.


The VR base stations and controllers were/are also hard to get.


Proton/Wine is so good these days. Rarely have I had an issue running a game in the last 3 or 4 years. Sometimes EA/Ubisoft games that have their own special launchers don't work immediately, but ProtonDB and the Proton GitHub issues are great resources to get them going.

I remember when Cyberpunk 2077 came out it didn't work at first, but the Proton and Glorious Egg Roll devs got it running within a few days. Legends.

Even many games that support native linux run better under wine.


Out of the 150-isg games in my library, the only one I have had any issue with is 'From Dust' released in 2011. This is part because of the Ubisoft launcher and some video codex issues, but even so. Switching the too and from the game a few times seems to get past this.

About a month back, a demo for Lumines Arise came out and it fired up without issue, didn't even think to check ProtonDB because it has become so reliable. I suspect a big part of this is because Steamdeck has been popular enough to have it be targeted for Proton compatibility day 1.


> Even many games that support native linux run better under wine.

The same is often true on macOS, too – running games through CrossOver is often better than the native port. The reality is that there simply aren't enough professional game devs on Linux and macOS platforms to polish that last 20% and make all the difference.


Agree. It was getting in the way of me spending time with the family because I was distracted mulling over the puzzles.

I had thought last year that they could peak the difficulty around the middle of the month and bring it down a bit leading up to the 25th. But just finishing it earlier is probably better IMO.


In my experience, the people using AI to make programs are still programmers. As in, they were trained in programming pre-AI. Managers are using AI to output manager stuff - documents, spreadsheets, etc. Similarly, marketers are using AI to write ad copy, not the marketing manager.

This may change as tools become better known or adopted. But for know the same people who did the job before are now using AI in that job.

FWIW, in my IRL experience, all the work output of those using AI for whatever task has been of poorer quality than without.


Thank you!


It depends on the ORM, I know SQLAlchemy and Django ORM have some Postgres specific features (e.g. full text search/indexing). Some also let you extend the ORM to add your own features, or at least write raw SQL.


Yeah I mostly use Django ORM and TortoiseORM these days and have used SQLAlchemy in the past. FTS is nice but things like locks, pubsub, stored procedures, triggers, views/materialized views, and many others are not supported out of the box and for some of these I don’t even see where they could be hooked up. And this is before you get into things like replication and multi-server clusters.


When I worked as a pizza delivery guy (favorite casual job I had during uni) we only used those big pizza rocker things, which I think are better than these wheels. Easier to clean too.


Insightful article, thanks for writing/sharing!


I think the syntax highlighting for this could make it more readable. Make the leading `\\` a different color to the string content.


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: