You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Currently, the headscale http api allows for programs to list and get info on machines connected to the headscale network, such as IP, name, last seen date, and routes. However, it is still missing a lot of information that would be nice to have exposed, such as tailscale SSH support, tailscale client version, or network info (such as DERP latency and connection info such as hairpinning or UPnP/PCP/PMP support).
This information would be beneficial to be exposed in order to both allow for better display of devices from for example a web browser or another API client. My specific use case was that I recently setup home assistant, and noticed that the builtin tailscale integration did not support headscale. I would like to make a headscale integration, however many of the features of the builtin tailscale integration are not possible due to the lack of exposed information in the headscale API.
Additionally, this information would likely be easily exposed, as a quick inspection of the headscale database shows that this information is already stored in the host_info column of the machines table. For example, ssh support can be detected from the sshHostKeys field, and all of the network info such as UPnP and DERP info is seen in the NetInfo field.
The text was updated successfully, but these errors were encountered:
After discussing it with @kradalby, we reckon it would be safer/saner for Headscale if you just marshal the Machine.HostInfo as a string into gRPC, rather than transforming it into a proto object in Headscale. This way, if something changes (and it might from Tailscale side) Headscale would not be affected.
Feature request
Currently, the headscale http api allows for programs to list and get info on machines connected to the headscale network, such as IP, name, last seen date, and routes. However, it is still missing a lot of information that would be nice to have exposed, such as tailscale SSH support, tailscale client version, or network info (such as DERP latency and connection info such as hairpinning or UPnP/PCP/PMP support).
This information would be beneficial to be exposed in order to both allow for better display of devices from for example a web browser or another API client. My specific use case was that I recently setup home assistant, and noticed that the builtin tailscale integration did not support headscale. I would like to make a headscale integration, however many of the features of the builtin tailscale integration are not possible due to the lack of exposed information in the headscale API.
Additionally, this information would likely be easily exposed, as a quick inspection of the headscale database shows that this information is already stored in the
host_info
column of themachines
table. For example, ssh support can be detected from thesshHostKeys
field, and all of the network info such as UPnP and DERP info is seen in theNetInfo
field.The text was updated successfully, but these errors were encountered: