go-asyncapi: load AsyncAPI 3 specs in Go
go-asyncapi reads AsyncAPI 3 documents in Go and hands you servers, channels, operations and messages as plain structs, with every $ref on the way to them followed across files, every …
Mostly writing code that does stuff…
go-asyncapi reads AsyncAPI 3 documents in Go and hands you servers, channels, operations and messages as plain structs, with every $ref on the way to them followed across files, every …
You shouldn’t be, because the AsyncAPI spec already says exactly what every message looks like and a machine can retype it better than you. I wrote gen-asyncapi so an AsyncAPI …
Here’s the code everybody writes. A request comes in, you generate an id, and something a few calls down needs to log it: func handleOrder(ctx context.Context, requestID string, o Order) …
Go 1.21 shipped log/slog and it’s good. What it doesn’t ship is any way to configure it, so every service starts with a version of this: var level slog.Level switch …
Update, August 2026: this package moved. slog-configurator is now github.com/psyb0t/slogging, where the configurator lives at slogconf/ alongside two handlers it always belonged next to: the searchable in-memory ring at handlers/logring/ …
Look, I’m gonna be straight with you. Go’s error handling is fucking verbose, and debugging without context is like trying to find your keys in a pitch-black room while drunk. …
If you’re tired of writing the same env var parsing bullshit over and over, gonfiguration handles all the annoying shit for you. It’s got reflection-based mapping, supports all the types …