Follow-up from #181.
Signal K's own mDNS responder attaches a TXT record to every advertisement (src/mdns.js, the txtRecord object): txtvers, swname, swvers, roles: 'master, main', self (the vessel MRN), and vname / vmmsi / vuuid when set.
The records configure-container-routing publishes through avahi carry <type> and <port> only. Clients that follow the Signal K DNS-SD conventions use roles to choose between servers and self to identify the vessel, so on a device where the server's responder is disabled those clients see a record they cannot classify. SensESP does not read TXT, so the reported symptom in #181 is fixed either way.
txtvers, swname and roles are static and could go straight into the avahi service file. self and the vessel fields are the hard part: only the running server knows the vessel MRN, and the routing configurator writes the file before the container starts.
Options worth weighing:
- A prestart hook that reads the server's own uuid out of the data volume and writes the TXT elements. Couples the record to Signal K specifically, which the generic
routing.mdns mechanism deliberately is not.
- A small helper the app can call once it is up, to add the TXT keys to its own record.
- Accept the gap and document that non-SensESP clients configure the server address manually.
Nothing here is urgent; it is the part of the old behaviour the replacement does not reproduce, and it should be a decision rather than an omission.
Follow-up from #181.
Signal K's own mDNS responder attaches a TXT record to every advertisement (
src/mdns.js, thetxtRecordobject):txtvers,swname,swvers,roles: 'master, main',self(the vessel MRN), andvname/vmmsi/vuuidwhen set.The records
configure-container-routingpublishes through avahi carry<type>and<port>only. Clients that follow the Signal K DNS-SD conventions userolesto choose between servers andselfto identify the vessel, so on a device where the server's responder is disabled those clients see a record they cannot classify. SensESP does not read TXT, so the reported symptom in #181 is fixed either way.txtvers,swnameandrolesare static and could go straight into the avahi service file.selfand the vessel fields are the hard part: only the running server knows the vessel MRN, and the routing configurator writes the file before the container starts.Options worth weighing:
routing.mdnsmechanism deliberately is not.Nothing here is urgent; it is the part of the old behaviour the replacement does not reproduce, and it should be a decision rather than an omission.