Comments (4)
Did anyone eventually work on this? Or is there another HA solution for Headscale?
from headscale.
Not sure about if the database transactions are well managed. If so, HA might be simple within same region: just use a shared MySQL database, if the service itself is not stateful.
But I think this is not what you mean (and also not mine), since deploying service in different regions is still not possible (for example, two servers running in Russia and Japan). Maybe we should consider either support some distributed database (like TiDB) so state can be synced via database, or we should use something like raft or paxos to build a cluster.
from headscale.
We need to think a bit about it. It is not trivial with the current architecture, as a TCP connection is opened and kept from the clients to the server.
This connection is used for keepalives and sending network map updates to the client. Should we have more than one server instance, we would need a mechanism to have cross-headscale communication to notify the peers polling in different instances - which requires some changes in our side.
On the other hand, having the control server down is not great, but not immediately terrible. Everything keeps working, but slowly decaying (Tailscale.com has a KB article on this https://tailscale.com/kb/1091/what-happens-if-the-coordination-server-is-down/)
New users and devices cannot be added to the network.
Keys cannot be refreshed and exchanged, meaning that existing devices will gradually lose access to each other.
Firewall rules cannot be updated.
Existing users cannot have their keys revoked.
Hope this helps...
from headscale.
hi @juanfont, that clarifies a lot, thanks for the feedback!
from headscale.
Related Issues (20)
- [Feature] Add ExecReload to systemd service HOT 1
- [Bug] ACL policy not working after update to v23.0 beta1 HOT 26
- [Bug] v0.23.0-beta1 breaks built-in DERP HOT 17
- [Bug] 0.23.0-beta1 breaks DNS custom nameservers HOT 4
- [Bug] tailscale on ios cannot connect to the postgresql server HOT 6
- [Feature] Add SafeSurfer DoH HOT 2
- [Bug] 0.23.0-beta1 wipes resolv.conf on clients regardless of dns_config HOT 4
- [Bug] API does not return tags for a node
- [Bug] API backfillips call fail
- [Bug] expiring a node does not update the online status
- [Bug] ipv4 range not used HOT 2
- [Bug] Self-built DERP server cannot obtain delay information HOT 3
- tailscale-private | 2024/08/04 15:49:08 control: NetInfo: NetInfo{varies=true hairpin= ipv6=false ipv6os=true udp=true icmpv4=false derp=#900 portmap= link="" firewallmode="ipt-default"}
- [Feature] Headscale policy set validate ACL before applying? HOT 11
- [Bug] Feature request form HOT 2
- [Bug] Tailscale Exit Node DNS Doesnt Provide DNS HOT 3
- [Bug] 0.23.0-beta client setup hangs on linux on raspberry pi HOT 2
- [Bug] gRPC API fails to resolve relative policy file path, unlike server startup behavior
- [Bug] New Config.yaml ACL section does not work - Must use old acl_policy_path HOT 4
- [Bug] Unable to Add Another Account on Windows 10 Client 1.70.0 HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from headscale.