dw-0 / kiauh

Klipper Installation And Update Helper
GNU General Public License v3.0
3.3k stars 474 forks source link

Programmatic use #438

Closed mechanical-girl closed 7 months ago

mechanical-girl commented 7 months ago

Is your feature request related to a problem? Please describe

I am hoping to use KIAUH to roll out Klipper to a double-digits number of 3D printers. However, SSHing into each Pi individually and running KIAUH is a significant time barrier.

Describe the solution you'd like

Command-line args added that allow specification of tasks (i.e. kiauh/kiauh.sh --install=klipper,moonraker,mainsall --instances=1 -y) or checking for a config file (i.e. config.json contains details, possibly generated by KIAUH by “dumping” the current config to a file.)

Describe alternatives you've considered

I have attempted to modify KIAUH myself to add similar functionality, but I’m not a competent shell script user.

Additional information

No response

dw-0 commented 7 months ago

Currently there is no plan to add non-interactive functionalities to KIAUH. I know you mentioned it, but you would currently be better off by writing your own, fully non-interactive scripts you can deploy and execute.

farnasirim commented 7 months ago

@mechanical-girl What if you create some automation around 1~2 steps towards the end and somehow skip the earlier steps if you prefer not maintiain a script "API"? For example manually configure one pi, create backup and restore from that backup everywhere else, then change hostname. Or even a "dumb" backup with something like dd if=/dev/configured_sdcard of=backup and then duplicate that image to your other cards, saving package install, git clone, etc. time as well.