Hacker News new | ask | show | jobs
by joshi4 745 days ago
You're right. My post assumes too much prior knowledge.

A runbook is a set of precise commands that you can use to resolve or diagnose anything from a complete production outage to helping a developer debug their local environment.

Most developers manually create runbooks - Savvy's CLI changes that and allows you to create runbooks in seconds.

Here's an example runbook that shows how you can extract an x509 cert from a config map and verify its validity: https://app.getsavvy.so/runbook/rb_72e6b7d29ae70abe/How-To-V...

2 comments

> 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?

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.

So it’s a bash script?