<feed xmlns='http://www.w3.org/2005/Atom'>
<title>luke/ansible-roles/mattertimesync/server, branch main</title>
<subtitle>Ansible roles for nth.io infrastructure
</subtitle>
<id>https://src.nth.io/luke/ansible-roles/atom?h=main</id>
<link rel='self' href='https://src.nth.io/luke/ansible-roles/atom?h=main'/>
<link rel='alternate' type='text/html' href='https://src.nth.io/luke/ansible-roles/'/>
<updated>2026-07-29T02:11:08Z</updated>
<entry>
<title>Rename mattertimesync role to mattertimectl (build + controller)</title>
<updated>2026-07-29T02:11:08Z</updated>
<author>
<name>Luke Hoersten</name>
<email>luke@hoersten.org</email>
</author>
<published>2026-07-29T02:11:08Z</published>
<link rel='alternate' type='text/html' href='https://src.nth.io/luke/ansible-roles/commit/?id=207bff9cb9773e3e0ef7fe7114e4b1aa70ffd4b6'/>
<id>urn:sha1:207bff9cb9773e3e0ef7fe7114e4b1aa70ffd4b6</id>
<content type='text'>
- Rename role dir and all vars from mattertimesync to mattertimectl
- Rename the server subrole to controller
- Build via cargo instead of npm; run the binary directly (no node)
- Default fabricLabel to "Matter Time Controller"
</content>
</entry>
<entry>
<title>Add fabricLabel to mattertimesync config</title>
<updated>2026-07-27T15:59:00Z</updated>
<author>
<name>Luke Hoersten</name>
<email>luke@hoersten.org</email>
</author>
<published>2026-07-27T15:59:00Z</published>
<link rel='alternate' type='text/html' href='https://src.nth.io/luke/ansible-roles/commit/?id=a55c5e9d35530d03fa8c52ceef5d2457827f0851'/>
<id>urn:sha1:a55c5e9d35530d03fa8c52ceef5d2457827f0851</id>
<content type='text'>
Renders the new mattertimesync fabricLabel field (the label other Matter
ecosystems display for this controller, e.g. the Apple Home Connected
Services subtitle) with the app default. Labels must be unique per
device, so instance overrides should not reuse another admin's label.
</content>
</entry>
<entry>
<title>mattertimesync: add build + server roles</title>
<updated>2026-07-26T16:49:11Z</updated>
<author>
<name>Luke Hoersten</name>
<email>luke@hoersten.org</email>
</author>
<published>2026-07-26T16:49:11Z</published>
<link rel='alternate' type='text/html' href='https://src.nth.io/luke/ansible-roles/commit/?id=1566ed593907c829827237aad924c3f527723218'/>
<id>urn:sha1:1566ed593907c829827237aad924c3f527723218</id>
<content type='text'>
Build role compiles the tagged source on the build host (npm ci + npm run
bundle) into a versioned mattertimesync-&lt;ver&gt;.tar.gz in build_srv_dir. Server
role installs the single bundled .mjs, creates the mattertimesync service user
and a 0700 storage dir for the Matter fabric keys, templates config.json, and
runs a hardened oneshot sync via a systemd timer. Both roles depend on the
nodejs role for Node &gt;=20.
</content>
</entry>
</feed>
