Well Traefik just upgraded to v3 and broke all existing legacy syntax with v2.
I'm sure there's some good technical reasoning behind such a move but as a user this is absolutely a horrible experience. There's a flag to enable v2 syntax mode, but you know what there isn’t? A single one pager saying if you have X in v2, you need Y in v3.
I don't want to have to go spelunking for hours figuring out your new way of doing things just to get back to where I was yesterday.
I have over 20 instances of traefik deployed all over the place and this is going to be a big time sink. So, thanks? I guess?
I'm just trying to imagine a world where nginx or haproxy deliberately break ALL existing deployments. Total madness.
@ironicbadger That's terrible. A good user-centered project would offer a tool that converts a v2 config to a v3. Or at least attempts to and flags areas that need human intervention.
But not even a clear migration doc? Come on.
@teleclimber @ironicbadger there is a migration doc (https://doc.traefik.io/traefik/v3.0/migration/v2-to-v3/) and it's linked from the GH release for v3. It's not perfect but it covers most of the potential issues.
Arguably a major version bump is the exact time to make breaking changes, if you need to make them.
@spad @teleclimber but what part of it is short or approachable?
The first item is docker swarm. Surely you’d think they’d put the “v2 compatibility switch” which is buried beneath and impossibly long TOC (so long it has a scroll bar which is hidden by the main page scroll bar so I didn’t see it for 10 mins). It’s written by people who are very close to it. And it’s not approachable enough.
I still love the project, but this boggles my mind.
- replies
- 0
- announces
- 0
- likes
- 2
@ironicbadger I don't know if Caddy would cover all your use-cases, but I've been using it for quite a while (for asciinema.org and in other places) and it's been super reliable. I was never tripped up by breaking changes. Also, its author, @mholt, is a very nice dude!
@ironicbadger @spad @teleclimber The v2 compatibility switch is detailed nicely in the reasonably short blog post about v3: https://traefik.io/blog/traefik-3-0-ga-has-landed-heres-how-to-migrate/
@jrosengren @spad @teleclimber hmm that one is nowhere on Google ranking so I missed it. It’s still some 700 words though.
@ironicbadger@techhub.social I saw traefik v3 in my list of renovate MRs and set it aside for later, since I remembered v1 to v2 being quite a shift
Their docs are also a bit obtuse typically which doesn't make it easier
I still like managing the reverse proxy better via labels rather than a caddy file which places app config in multiple places
@rachel it puts me off the whole project.
@ironicbadger I am really glad I switched to renovatebot to track dependencies so I did not have a watchtower autoupdate timebomb. As much a I love Traefik I think I am going to stick to 2.x and move to nginx or maybe Caddy.
@ironicbadger out of curiosity, what options did you have to change? I just migrated and haven’t had to change anything so far. Fingers crossed…
@sebbo I couldn’t get any new services to deploy using the old syntax without adding the v2 switch.
@glennbrown Traefik is one of those pieces of my infra that I figured out the solution years ago and have been very glad not to touch it.
It’s the second time caddy has done this with syntax. Between v1 and v2 was painful. Now v2 to v3. By the time v4 comes around I rather think I’ll have moved on.
@sebbo oh and a WRN in the logs too set off my alerting
@ironicbadger true dat. I also use https://github.com/nginx-proxy/nginx-proxy for some things in my homelab, which let's you just set VIRTUAL_HOST env var on the service you deploy with docker-compose. This gives you the single point of compose file declaration you refer to I believe.
@ironicbadger also, just found this https://github.com/lucaslorentz/caddy-docker-proxy
@ku1ik this does the rounds pretty often. I always feel like relying on one dude is going to be less reliable long term than a company. But perhaps my experiences today show other wise.
@ironicbadger I was an haproxy guy, but I've recently found a lot of success in using NixOS's declarative nginx configs + acme wildcard certificates. I don't have the config posted anywhere, but let me know if you're interested and I'll share it out!
@ljlapierre the NixOS nginx config stuff is great, but is quite a hassle for containerized workloads
@ironicbadger
@vt52 @ljlapierre and the whole point of docker is to be agnostic to the OS!