borgbackup / borg

Deduplicating archiver with compression and authenticated encryption.
https://www.borgbackup.org/
Other
11.19k stars 742 forks source link

Switch to automation of asciinema creation with autocast #8040

Open rugk opened 10 months ago

rugk commented 10 months ago

Have you checked borgbackup docs, FAQ, and open GitHub issues?

Yes

Is this a BUG / ISSUE report or a QUESTION?

No

Suggestion

Instead of manually creating asciinemas, which can be cumbersome and time-consuming, especially if your CLI output changes, you can automate this!

I stumbled upon https://github.com/k9withabone/autocast and it looks awesome as it automates all that stuff away. You just have to upload your project to asciinema and that's it.

Just someone would need to write the script (kind of a playbook hehe) for it.

Edit: Oh sorry just saw you automated that in https://github.com/borgbackup/borg/pull/6197 already. Great, just this solution does not need a whole VM and such things and seems more lightweight. So maybe an idea for the future.

/cc @hexagonrecursion BTW as original contributor of that feature

hexagonrecursion commented 7 months ago

I don't recall. Didn't I already automate those?

RonnyPfannschmidt commented 7 months ago

you did, OP linked your mr

as far as I'm concerned autocast is not a good idea for the future as it simply would replace a working tcl script with a yaml mess while not solving the isolation (main reason for going vagrant)

hexagonrecursion commented 7 months ago

this solution does not need a whole VM and such things and seems more lightweight

I remember now. I originally used Docker because it's more lightweight than a VM, but ThomasWaldmann asked me to port it to Vagrant because he is more familiar/comfortable with it.

At a quick glance autocast appears to be a tool with a similar purpose to TCL expect (which I used). Both allow automated control of software that requires a terminal emulator (TTY). Autocast appears to be more special-purpose. There is a chance a more special-purpose tool can be an improvement over a more general-purpose tool.

If, however, your main issue with the current implementation is the use of Vagrant, the solution would probably be to port the existing tcl scripts to run on both Docker and Vagrant (or, perhaps, porting the existing vagrant file to allow using the Docker provider). Either way we do want isolation and reproducibility - both appear entirely orthogonal to autocast

rugk commented 7 months ago

Ah, I see, I missed the requirement for isolation, which is kinda obvious for a backup solution, yeah… it was just an idea.

That said, making it Docker (or better say) container-compatible (one could e.g. use podman, then it does not even need root)… it's probably a new issue, though?

As I said:

just this solution does not need a whole VM and such things and seems more lightweight

So yeah, this was my concern. And IMHO autocast looked to simple, I did not try your solution here in practise though (yet again because I have no vagrant installed…)