<feed xmlns='http://www.w3.org/2005/Atom'>
<title>ansible-roles, branch main</title>
<subtitle>Unnamed repository; edit this file 'description' to name the repository.
</subtitle>
<id>https://src.nth.io/ansible-roles/atom?h=main</id>
<link rel='self' href='https://src.nth.io/ansible-roles/atom?h=main'/>
<link rel='alternate' type='text/html' href='https://src.nth.io/ansible-roles/'/>
<updated>2026-04-19T00:06:12+00:00</updated>
<entry>
<title>Use checksum-based rsync for nginx root file sync</title>
<updated>2026-04-19T00:06:12+00:00</updated>
<author>
<name>Luke Hoersten</name>
<email>luke@hoersten.org</email>
</author>
<published>2026-04-19T00:06:12+00:00</published>
<link rel='alternate' type='text/html' href='https://src.nth.io/ansible-roles/commit/?id=eb73ba26e2ef66e38097b784fb3c4621a2991a40'/>
<id>urn:sha1:eb73ba26e2ef66e38097b784fb3c4621a2991a40</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Add nginx permanent redirects for old Mercurial /file/tip/ paths to cgit /tree/</title>
<updated>2026-04-18T23:29:40+00:00</updated>
<author>
<name>Luke Hoersten</name>
<email>luke@hoersten.org</email>
</author>
<published>2026-04-18T23:29:40+00:00</published>
<link rel='alternate' type='text/html' href='https://src.nth.io/ansible-roles/commit/?id=2d9c77f71cd0d98f499326f1a7750880ae7ce5c6'/>
<id>urn:sha1:2d9c77f71cd0d98f499326f1a7750880ae7ce5c6</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Fix cgit duplicate repo name in URLs by setting virtual-root=/</title>
<updated>2026-04-18T20:42:41+00:00</updated>
<author>
<name>Luke Hoersten</name>
<email>luke@hoersten.org</email>
</author>
<published>2026-04-18T20:42:41+00:00</published>
<link rel='alternate' type='text/html' href='https://src.nth.io/ansible-roles/commit/?id=fd4cc06d93bbcfb374c787a258c04351e33f6653'/>
<id>urn:sha1:fd4cc06d93bbcfb374c787a258c04351e33f6653</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Rename unifi role to unifi-controller</title>
<updated>2026-04-18T17:52:35+00:00</updated>
<author>
<name>Luke Hoersten</name>
<email>luke@hoersten.org</email>
</author>
<published>2026-04-18T17:52:35+00:00</published>
<link rel='alternate' type='text/html' href='https://src.nth.io/ansible-roles/commit/?id=d609c10d0f93817d30608b6bb64fd07848c25705'/>
<id>urn:sha1:d609c10d0f93817d30608b6bb64fd07848c25705</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Update all references from doorbell-viewport to unifi-protect-viewport</title>
<updated>2026-04-16T01:00:09+00:00</updated>
<author>
<name>Luke Hoersten</name>
<email>luke@hoersten.org</email>
</author>
<published>2026-04-16T01:00:09+00:00</published>
<link rel='alternate' type='text/html' href='https://src.nth.io/ansible-roles/commit/?id=b271a925364616b2d25d3ea6b6492b7412aaf248'/>
<id>urn:sha1:b271a925364616b2d25d3ea6b6492b7412aaf248</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Rename doorbell-viewport role to unifi-protect-viewport</title>
<updated>2026-04-16T01:00:04+00:00</updated>
<author>
<name>Luke Hoersten</name>
<email>luke@hoersten.org</email>
</author>
<published>2026-04-16T01:00:04+00:00</published>
<link rel='alternate' type='text/html' href='https://src.nth.io/ansible-roles/commit/?id=4ec792319b0cc9ab9aa3410c454f4880515c62c0'/>
<id>urn:sha1:4ec792319b0cc9ab9aa3410c454f4880515c62c0</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Replace real camera ID with placeholder in README</title>
<updated>2026-04-16T00:55:40+00:00</updated>
<author>
<name>Luke Hoersten</name>
<email>luke@hoersten.org</email>
</author>
<published>2026-04-16T00:55:40+00:00</published>
<link rel='alternate' type='text/html' href='https://src.nth.io/ansible-roles/commit/?id=7d61034d91cc716ad6165f6867c49940ced94909'/>
<id>urn:sha1:7d61034d91cc716ad6165f6867c49940ced94909</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Minor daemon cleanup: drop inspect shim, module-level SSL ctx, rename ws_headers</title>
<updated>2026-04-14T13:58:01+00:00</updated>
<author>
<name>Luke Hoersten</name>
<email>luke@hoersten.org</email>
</author>
<published>2026-04-14T13:58:01+00:00</published>
<link rel='alternate' type='text/html' href='https://src.nth.io/ansible-roles/commit/?id=7126fdb4e4d481a66d05cf5ab2ed56176b8a9eb6'/>
<id>urn:sha1:7126fdb4e4d481a66d05cf5ab2ed56176b8a9eb6</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Further simplify doorbell-viewport daemon</title>
<updated>2026-04-14T13:55:44+00:00</updated>
<author>
<name>Luke Hoersten</name>
<email>luke@hoersten.org</email>
</author>
<published>2026-04-14T13:55:44+00:00</published>
<link rel='alternate' type='text/html' href='https://src.nth.io/ansible-roles/commit/?id=c543eb2092c74d33156def8ae0dcdf693f7d7f9a'/>
<id>urn:sha1:c543eb2092c74d33156def8ae0dcdf693f7d7f9a</id>
<content type='text'>
- Flatten DisplayController: remove _set() middle layer
- Inline on_ring() into _handle_protect_event (was a 2-line wrapper)
- Collapse triggered flag in touch monitor to single boolean expression
</content>
</entry>
<entry>
<title>Remove vcgencmd display backend, simplify DisplayController</title>
<updated>2026-04-13T12:45:07+00:00</updated>
<author>
<name>Luke Hoersten</name>
<email>luke@hoersten.org</email>
</author>
<published>2026-04-13T12:45:07+00:00</published>
<link rel='alternate' type='text/html' href='https://src.nth.io/ansible-roles/commit/?id=c1bd1d0f3abe8d4de65f2c95731711a6efa3008d'/>
<id>urn:sha1:c1bd1d0f3abe8d4de65f2c95731711a6efa3008d</id>
<content type='text'>
Always use sysfs backlight. vcgencmd resets DRM planes under fkms
making it incompatible with the drm video output. Removes
libraspberrypi-bin dependency and panel/vcgencmd dead code.
</content>
</entry>
</feed>
