Runbooks!
Important topic - thank you for addressing this. Just found out about this by the “console.dev” newsletter.
But to me Atuin Desktop is dead in the water.
Before I explain why, here’s what I have started working on to solve runbooks.
The foundation (which I’m not happy with): Emacs + org-mode.
org-mode allows you to have executable source blocks. One can use its results and pipe them to other source blocks etc. So basically: It probably already can do a lot of the things, that atuin desktop is being designed for (no prometheus though).
runbook-example.org (an org-mode file)
The following block opens kitty with a named socket, sends commands to it and directly executes it.
The combination of kitty + org allows fine grained control over many possible execution scenarios.
But we start with a minimal example here:
Execute some code, open the terminal and send the commands directly there:
#+begin_src bash :results silent
socket="/tmp/literate.$((RANDOM))"
kitty --detach --hold --directory /etc/pacman.d --listen-on unix:$socket
sleep 0.8
kitty @ --to unix:$socket send-text '
echo "hello to atuin from ${USER}\!"
'
#+end_src
Try it out yourself:
- Install Doom Emacs
- Install kitty tty
- paste this block above into an org file
runbook-example.org
- Cursor in source block: Press
Ctrl+c Ctrl+c
Why it’s bad: It requires Emacs + org-mode…
Why it rocks: Text file only, works within terminal 100%
And this is why Atuin Desktop can’t be the solution: it’s not native to the terminal.
Every attempt to get people out of the terminal is the wrong direction. In fact, me as a DevOps and infra guy, I try to get more and more into the terminal. And I’m happily using Atuin already, because it solves real workflow problems. But Atuin Desktop looks like a shiny GUI that is easier to sell than the dry, ole terminal.
The thing is: I can’t recommend to anyone to move their workflow out of their terminals. Not for runbooks, not for anything. Doesn’t matter if it’s a standalone GUI or the web. By creating such a tool you may solve 1 problem, but you create 2 new ones. TUI first, or I’ll pass.
What we actually need:
A literate docs + script execution engine (ideally serverless), which works with every terminal editor. We need what LSP (Language Server Protocol) did, but for “literate scripting” (I propose this as a general term for this field, runbooks are a subgroup of that). Emacs offers this already, but it’s just too incompatible with everything else out there and people won’t switch to it. But a tool that is designed to work with VSCode and Neovim in mind will probably work everywhere for a long, long time. If my time would allow it, I would’ve already started this, but I got other fish to fry.
I obviously don’t know anything about the architecture of Atuin Desktop, but please make it usable without the GUI… I want to interact with it using neovim and probably “neorg”, which aims to be an equivalent of org-mode for neovim. The project struggles with executing code. So this would be an ideal entrypoint to make “atuin runbooks” executable via neovim.
Please don’t sacrifice the 90% of runbooks (actual scripting commands), for the 10%: pretty dashboards.
Happy to talk about this in detail. Runbooks are a very important problem and I don’t understand why they don’t get any love from the industry.
Thank you for getting things started.