Hi guix-devel.

I recently started using the shepherd to automate services on my guix system laptop. I wanted to send a message, mostly to express what a pleasant experience it was! I wrote it up on my blog, with some context.[1]

I did have a couple of difficulties. I got past these, so this isn't really a "help me" post - more like "is there something I could have known that would have avoided this?". Or maybe just explaining why the system works this way. They're in the blog post, but here is a summary:

1.   At some point I accidentally ran multiple copies of shepherd simultaneously. This seems like it’s just an error, since it caused all herd commands to just hang, but I didn’t get warned about it at all. I had to kill the shepherd process manually by doing `ps -aux | grep shepherd` and doing `kill PID`. 2.   I couldn’t figure out how to reload my init.d script without doing the tedious kill shepherd snippet. Also this would have killed my tunnel to the server if I didn’t have a separate direct-IP tunnel open. I wonder if it's possible to validate a service definition before running it. 3.   Sometimes the error messages I got from shepherd were not super helpful. For example at one point I gave the service a name which was a string rather than a symbol, and the error said `Throw to key%exception’ with args ("#<&message message: \"invalid service provision list\">")'.`. I didn’t actually know what a provision list was until I read the manual – it would have been nice to see something like expected symbol but got string "ssh" or something like this.

Anyway, thank you for maintaining such a great piece of software. I hope this feedback is helpful.

[1]: https://danielittlewood.xyz/notes/self-hosting-with-tunnels#automating-with-guix

Best wishes,
Dan


Reply via email to