- Init - Load config.json
- Create TUN device
- Create route for 100.64.0.0 network to TUN
- Initialize DNS service
- Load identity
- Initialize logging
- Connect to controller
- Download network configuration
- Initialize Channels to Edge Routers
- Initialize Services
- Insert DNS names
- Create routes for IPs to 100.64.0.0 block
- Collect latency information for ER selection
- Complete DNS initialization with Service names
- Periodically check for updates to services or other network config. Polling controlled by app, including desktop edges and tunnelers, 10 or 15 seconds in OpenZiti released software.
- Update services, add or delete Edge Routers, etc. as necessary.