<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"><channel><title>CoopNET Notes</title><description>Homelab and self-hosting field notes — the fixes that were not in the docs.</description><link>https://blog.coopnet.cc/</link><item><title>Semaphore&apos;s per-task host limit does nothing — and takes the whole fleet with it</title><link>https://blog.coopnet.cc/blog/semaphore-task-limit-does-nothing/</link><guid isPermaLink="true">https://blog.coopnet.cc/blog/semaphore-task-limit-does-nothing/</guid><description>You set a task limit to test a playbook on one host. Semaphore ignores it and runs against every host in the inventory. Here is the trap, and the two ways to scope a run that actually work.</description><pubDate>Fri, 17 Jul 2026 00:00:00 GMT</pubDate></item><item><title>sshd -t fails with &apos;Missing privilege separation directory: /run/sshd&apos; — and quietly undoes your hardening</title><link>https://blog.coopnet.cc/blog/sshd-t-missing-run-sshd/</link><guid isPermaLink="true">https://blog.coopnet.cc/blog/sshd-t-missing-run-sshd/</guid><description>Your sshd config is fine, but `sshd -t` exits non-zero anyway — and if you gate a config rollback on that check, you silently revert the hardening you were trying to apply. Here is why, and the one-line fix.</description><pubDate>Fri, 17 Jul 2026 00:00:00 GMT</pubDate></item><item><title>Stop Ansible hanging forever on a host that is &quot;up&quot;</title><link>https://blog.coopnet.cc/blog/stop-ansible-hanging-on-a-reachable-host/</link><guid isPermaLink="true">https://blog.coopnet.cc/blog/stop-ansible-hanging-on-a-reachable-host/</guid><description>A host answers pings and a bare ssh, but Ansible freezes on it indefinitely and takes the whole run down. Here is why ConnectTimeout and wait_for_connection do not save you — and how to hard-bound every SSH.</description><pubDate>Fri, 17 Jul 2026 00:00:00 GMT</pubDate></item></channel></rss>