Hacker News new | ask | show | jobs
by Terretta 755 days ago
> A runbook is a set of precise commands...

Not really? That's a shell script. A runbook includes context, prerequisites, and troubleshooting steps, not just commands. Also, it's generally considered manual.

FWIW, replying to one of your other comments, a playbook is generally considered a more automated runbook, with branching plays based on conditionals, bridging from a runbook world to an automation word; that's why Ansible used the term.

What makes a runbook a runbook are the detailed instructions, including prerequisites, step-by-step procedures, screenshots, and even troubleshooting tips, to help the user run the `precise commands` with consistency and reliability in operational use on systems that are never quite right and when the user who needs to perform these specific tasks reliably doesn't have enough technical knowledge to even know if they're doing them right.

I like the idea -- but what if you rethought it to check in with the user step by step, telling them what they're about to do next, then co-looking at the results they get to see if it's working or if they've lost the plot and need to replan?

1 comments

You're right. A runbook is more than just a list of commands.

I plan to add support for setting up and validating prerequisites for running a runbook with Savvy. For example, Savvy can ensure that all environment variables are automatically set up and removed as part of a `savvy run.`

A while ago, I built Flowshare, which is similar to Savvy but works in the browser. I will integrate that tech within Savvy to support capturing runbooks that involve steps in the browser and the terminal.

I like your suggestion on troubleshooting. Savvy can offer a great experience here as the cli will know when a command has failed or returned a nonzero exit code.

> but what if you rethought it to check in with the user step by step, telling them what they're about to do next

IIUC, your thoughts align with how Savvy Run currently works. Savvy suggests the next step, but devs can edit or ignore it. Providing troubleshooting help, as you suggested, will definitely improve the DX.