Open VictorioBerra opened 5 months ago
@VictorioBerra Did you find a better workaround? I just hit this on a project using split dns with internal domains, although I'm using internal devices that don't have tailscale installed but their routes are being broadcasted.
@tyvsmith I did not. I am still using the above solution. I believe this needs to be fixed properly by the tailscale action.
@VictorioBerra I wonder if it's an issue with appleboy/scp-action and appleboy/ssh-action. I saw some logs from that action resolving to unexpected IPs instead of internal ones, but other standard commands command line commands run fine and resolve the host like I'd expect.
I ended up with this version based on yours since I need ipv4 hosts without tailscale installed.
- name: netmap
id: tailscale-netmap
run: |
ip=$(ping -4 -c 1 '${{ env.HOST }}' | grep -oP '(?<=\().*?(?=\))' | head -n 1)
echo "HOST_IP=$ip" >> "$GITHUB_OUTPUT"
@tyvsmith that is a good point, I did not troubleshoot that angle. How are your hosts available on your network without tailscale installed?
@VictorioBerra I have the Tailscale client serving a vlan route with other machines, override the domain with split dns in tailscale admin pointing to the local dns server, and can access by local ip or local hostname using a secret ssh key.
The
tailscale status
andping -c 4 ${{ secrets.HOST }}
all work great. HOST is one of the node machine names.appleboy/scp-action@master gives me:
I have solved this with an action to get and set the IP to output variables:
This is obviously super lame. What am I doing wrong?