mirror of
https://github.com/Control-D-Inc/ctrld.git
synced 2026-02-03 22:18:39 +00:00
Config fetching/generating in cd mode is currently weird, error prone, and easy for user to break ctrld when using custom config. This commit reworks the flow: - Fetching config from Control D API. - No custom config, use the current default config. - If custom config presents, but there's no listener, use 0.0.0.0:53. - Try listening on current ip+port config, if ok, ctrld could be a direct listener with current setup, moving on. - If failed, trying 127.0.0.1:53. - If failed, trying current ip + port 5354 - If still failed, pick a random ip:port pair, retry until listening ok. With this flow, thing is more predictable/stable, and help removing the Config interface for router.
34 lines
479 B
Go
34 lines
479 B
Go
package router
|
|
|
|
import "github.com/kardianos/service"
|
|
|
|
type dummy struct{}
|
|
|
|
func (d *dummy) ConfigureService(_ *service.Config) error {
|
|
return nil
|
|
}
|
|
|
|
func (d *dummy) Install(_ *service.Config) error {
|
|
return nil
|
|
}
|
|
|
|
func (d *dummy) Uninstall(_ *service.Config) error {
|
|
return nil
|
|
}
|
|
|
|
func (d *dummy) PreRun() error {
|
|
return nil
|
|
}
|
|
|
|
func (d *dummy) Configure() error {
|
|
return nil
|
|
}
|
|
|
|
func (d *dummy) Setup() error {
|
|
return nil
|
|
}
|
|
|
|
func (d *dummy) Cleanup() error {
|
|
return nil
|
|
}
|