PSA to fellow malicious actors1: I have begun publishing documentation for the upcoming iocaine 3.0 release, starting with a Getting Started guide.
Discussion
PSA to fellow malicious actors1: I have begun publishing documentation for the upcoming iocaine 3.0 release, starting with a Getting Started guide.
Continuing down the path of crime, a Getting Started with iocaine & containers guide is now public, documenting the process for the upcoming iocaine 3.0 release.
Go forth, and act maliciously!
How about some configuration reference?
Once we get started on the criminal path, there's no stopping us. We move fast and break thingsCrawlers.
Now, the KDL configuration reference was nice. But sometimes we are comitting crimes indirectly! Sometimes we configure iocaine through - shock, horror! - Nix expressions.
KDL is great for humans to read and write. It's less suitable to generate from Nix expressions. Possible, sure, but other formats like JSON, YAML and TOML lend themselves better for that purpose.
Besides, iocaine is very happy to let You choose your own poison. You can even mix and match them. You can choose all of them!
So I documented the serialized formats too.
Go forth1 and multiply, lets deploy more iocaine servers!
...I should add a Forth interpreter as a supported language. For fun. ↩︎
A couple of days later: Getting started with iocaine on NixOS.
But the hard part of the documentation journey is only just beginning.
Weekend plans: finish documenting the iocaine + your-choice-of-reverse-proxy stuff. The Caddy docs are in reasonable shape, it's pretty much the same as in 2.x.
The nginx docs need a lot of work, and I need to write traefik and haproxy docs, and have another go at Apache, see if it has any way to work with iocaine.
Weekend plans are bearing fruit: iocaine + Caddy guide updated for iocaine 3. It's exactly the same as for 2.x, but with slightly different intro text.
This was the easy part.
Managed to convince my brain that nginx ain't that bad, so there's now an iocaine + nginx guide too. This one is hopefully more informative than what I had for 2.x.
By the way, the iocaine3 + Caddy / nginx docs also apply to iocaine2. This part has not changed between 2.x and 3.0.
I'm not sure I will be updating the 2.x docs. They're going to be obsolete very soon.
With many thanks to @famfo, there's a new guide up: HAProxy & iocaine.
This highlighted a shortcoming in the built-in request handler: it doesn't play as well with HAProxy as I'd like to, so I'll adjust the handler to do better, and then will update the guide to showcase it.
Hot new guide up: Using iocaine as a Traefik middleware!
And with this, all the reverse proxies and similar things I wanted to have guides for are done. The next big documentation project will be documenting the request handler, what it can do, how, and how all that translates to Roto, Fennel, and Lua.
Following that, there will be a short testing & debugging guide, then I'll figure out how to fix Nam-Shub's HTML output.
And last but not least: a kind of migration guide. But that's a bit of a question mark, really, because the best way to go from iocaine 2.x to 3.0 is to start again, unfortunately.
Due to popular1 demand, the nightly builds of iocaine are available from a convenient Apt repository for #Debian and Debian-based distributions!
Look here for a short install guide.
Once 3.0 is released, stable releases will appear in the same repository too, as the iocaine package (nightlies are in iocaine-nightly).
While the distribution says "unstable", the binaries are static binaries, they'll run on any Debian or Debian-derived system. They do assume systemd, however.
There's been one suggestion! But I like Debian, and it's been a while I wrote a debian/rules file without Debhelper, this was an opportunity I could not pass up. ↩︎
I've made a lot of progress finishing the last missing piece of the #iocaine3 documentation: the scripting environment reference guide.
It's not complete yet, but it's taking shape. It will be in a reasonable shape tomorrow, and #iocaine 3.0.0 will be released tomorrow1 night.
Where tomorrow, I mean after sleep. It's already Friday the 14th here. ↩︎
@algernon TIL about KDL.
... this looks really nice.
This kinda means I should remove "no YAML soup involved" from the landing page, but... there's no YAML involved, unless someone insists very hard.
Use their own motto against them: "move fast and break things (crawlers)!"
Also, I clicked on your Roto docs and you're still using `function` there instead of `fn`. Otherwise, it's excellent! (And again sorry for breaking backwards compatibility so much)
@algernon
hmm... does iocane generate pure garbage, or reasonable text followed by a keyword followed by garbage, like Anthropic describes?
A space for Bonfire maintainers and contributors to communicate