Fatih Acar
2afba0233b
fix(routes): ensure routes are correctly propagated
...
When using Tailscale v1.34.1, enabling or disabling a route does not
effectively add or remove the route from the node's routing table.
We must restart tailscale on the node to have a netmap update.
Fix this by refreshing last state change so that a netmap diff is sent.
Also do not include secondary routes in allowedIPs, otherwise secondary
routes might be used by nodes instead of the primary route.
Signed-off-by: Fatih Acar <facar@scaleway.com>
2022-12-20 15:39:59 +01:00
Juan Font
55b198a16a
Clients are offline when expired
2022-12-19 15:56:12 +01:00
Juan Font
000c02dad9
Show online in CLI & API when isOnline() reports so
2022-12-15 00:13:53 -08:00
Juan Font
8170f5e693
Removed unused code and linting fixes
...
Another bunch of gosec/golint related fixes
Remove method no longer used
2022-12-06 08:17:14 +01:00
Juan Font
6718ff71d3
Added helper methods for subnet failover + unit tests
...
Added method to perform subnet failover
Added tests for subnet failover
2022-12-06 08:17:14 +01:00
Juan Font
b62acff2e3
Refactor machine.go, and move functionality to routes.go + unit tests
...
Port routes tests to new model
Mark as primary the first instance of subnet + tests
In preparation for subnet failover, mark the initial occurrence of a subnet as the primary one.
2022-12-06 08:17:14 +01:00
Even Holthe
52a323b90d
Add SSH capability advertisement
...
Advertises the SSH capability, and parses the SSH ACLs to pass to the
tailscale client. Doesn’t support ‘autogroup’ ACL functionality.
Co-authored-by: Daniel Brooks <db48x@headline.com>
2022-11-26 11:53:31 +01:00
LiuHanCheng
07f92e647c
fix bug in #912 ( #914 )
2022-11-05 09:07:22 +01:00
Kristoffer Dalby
bc1c1f5ce8
Fix most nil pointers, actually make it check for unique across headscale
...
Signed-off-by: Kristoffer Dalby <kristoffer@tailscale.com>
2022-10-21 14:42:37 +02:00
=
2aebd2927d
Random suffix only on collision.
...
0.16.0 introduced random suffixes to all machine given names
(DNS hostnames) regardless of collisions within a namespace.
This commit brings Headscale more inline with Tailscale by only
adding a suffix if the hostname will collide within the namespace.
The suffix generation differs from Tailscale.
See https://tailscale.com/kb/1098/machine-names/
2022-10-03 09:13:56 +02:00
Juan Font
adb352e663
Merge branch 'main' into autoapprovers
2022-09-21 17:53:17 +02:00
Juan Font
9c58395bb3
Removed unused param after routes fix
2022-09-18 21:40:52 +00:00
Kristoffer Dalby
f2da1a1665
Add comment and update changelog
...
Signed-off-by: Kristoffer Dalby <kristoffer@dalby.cc>
2022-09-18 12:14:49 +02:00
Kristoffer Dalby
356b76fc56
Format
...
Signed-off-by: Kristoffer Dalby <kristoffer@dalby.cc>
2022-09-18 11:37:38 +02:00
Kristoffer Dalby
33ae56acfa
Add primary routes to node
...
Signed-off-by: Kristoffer Dalby <kristoffer@dalby.cc>
2022-09-18 11:36:35 +02:00
Benjamin George Roberts
688cba7292
fix linting mistakes
2022-09-07 21:39:56 +10:00
Benjamin George Roberts
842c28adff
replace netaddr usage with netip
2022-09-05 09:33:53 +10:00
Juan Font
9810d84e2d
Merge branch 'main' into autoapprovers
2022-09-04 22:40:08 +02:00
Juan Font Alonso
a24710a961
Migrate machine to net/netip
2022-09-02 00:04:31 +02:00
Benjamin George Roberts
60cc9ddb3b
Add test for autoApprovers feature
2022-08-25 22:15:19 +10:00
Benjamin George Roberts
7653ad40d6
Split GetRouteApprovers from EnableAutoApprovedRoutes
2022-08-25 22:12:30 +10:00
Benjamin George Roberts
004ebcaba1
initial implementation of autoApprovers support
2022-08-25 22:00:04 +10:00
Juan Font Alonso
e20e818a42
Integrate expiration fixes ( #754 ) in TS2021 branch
2022-08-20 11:46:44 +02:00
Juan Font
2f554133c5
Move comment up
...
Co-authored-by: Kristoffer Dalby <kradalby@kradalby.no>
2022-08-19 23:49:06 +02:00
Laurent Marchaud
e85562268d
Switch to using nodeKey instead of machineKey for expired machines registration
...
Signed-off-by: Laurent Marchaud <laurent@marchaud.com>
2022-08-19 15:48:35 +02:00
Laurent Marchaud
fca33aacbe
Fix rebased errors scope in machine.go
...
Signed-off-by: Laurent Marchaud <laurent@marchaud.com>
2022-08-19 15:07:01 +02:00
Laurent Marchaud
c6ea9b4b80
Fix cli registration of expired machines
...
Signed-off-by: Laurent Marchaud <laurent@marchaud.com>
2022-08-19 14:11:13 +02:00
Juan Font Alonso
c0fe1abf4d
Use node_key to find peers
2022-08-16 17:51:43 +02:00
Juan Font Alonso
0db7fc5ab7
Mark all namespaces to lastChange now
2022-08-16 13:39:15 +02:00
Juan Font Alonso
ab18c721bb
Support for Noise machines in getPeers
2022-08-14 21:07:29 +02:00
Juan Font Alonso
fdd0c50402
Added helper method to fetch machines by any nodekey + tests
2022-08-13 21:03:02 +02:00
Juan Font Alonso
030d7264e6
Fixed comment for linting
2022-08-10 16:03:33 +02:00
Juan Font Alonso
e950b3be29
Add method to fetch by nodekey
2022-08-10 13:15:31 +02:00
Grigoriy Mikhalkin
911e6ba6de
exported API errors
2022-07-29 17:35:21 +02:00
Adrien Raffin-Caboisse
c46a34e6b8
fix(machine): remove duplicate in forcedTags
2022-07-25 11:04:30 +02:00
Juan Font Alonso
10cd87e5a2
Lint fixes 1/n
2022-06-26 11:43:17 +02:00
Juan Font Alonso
66fffd69ce
Send Online field of tailcfg.Node based on LastSeen
2022-06-16 18:43:50 +02:00
Kristoffer Dalby
a19af04582
Fix errors introduced by merge
2022-05-31 11:03:08 +02:00
Kristoffer Dalby
0676aa11a9
Merge branch 'main' into db-error-handling
2022-05-31 10:18:13 +02:00
Kristoffer Dalby
5ecfbbaf5d
Fix pointer in machine save call
2022-05-31 10:05:00 +02:00
Kristoffer Dalby
52cc3bc8eb
Check all errors for db.Save
2022-05-30 15:31:06 +02:00
Kristoffer Dalby
a443255b3e
Validate isOutdated against all namespaces
...
This commit makes isOutdated validate a nodes necessity to update
against all namespaces, and not just the nodes own namespace (which made
more sense before).
getLastStateChange is now uses the passed namespaces as a filter,
meaning that not requesting any namespace will give you the total last
updated state.
In addition, the sync.Map is exchanged for a variant that uses generics
which allows us to remove some casting logic.
2022-05-30 13:35:40 +02:00
Kristoffer Dalby
a992840c9b
Give UpdateMachine a more meaningful name
2022-05-30 13:35:40 +02:00
Kristoffer Dalby
59a1a85a2b
Change to a go generics set implementation, no more casting 🎉
2022-05-30 11:49:35 +02:00
Kristoffer Dalby
e631c6f7e0
Merge master
2022-05-16 21:41:46 +02:00
Kristoffer Dalby
4aae917f74
Require GivenName to be unique
2022-05-16 20:33:47 +02:00
Kristoffer Dalby
177c21b294
Add helper function to create a unique givenname
2022-05-16 20:30:43 +02:00
Adrien Raffin-Caboisse
4435a4f19d
chore: apply lint recommendations
2022-05-16 14:59:46 +02:00
Adrien Raffin-Caboisse
ca71830963
docs: add small documentation on getTags func
2022-05-16 11:16:07 +02:00
Adrien Raffin-Caboisse
fcdc292647
fix: update tag in db if acl is enabled
2022-05-13 13:00:32 +02:00