func (self *Server) Configure(cfg *config.Config) { if cfg.BootId != self.machine.BootId { self.machine = machine.New(cfg.BootId, cfg.PublicIP, cfg.Metadata()) self.agent.Stop() self.agent = agent.New(self.registry, self.events, self.machine, "", cfg.UnitPrefix) go self.agent.Run() } }
func New(cfg config.Config) *Server { m := machine.New(cfg.BootId, cfg.PublicIP, cfg.Metadata()) regClient := etcd.NewClient(cfg.EtcdServers) regClient.SetConsistency(etcd.WEAK_CONSISTENCY) r := registry.New(regClient) eventClient := etcd.NewClient(cfg.EtcdServers) eventClient.SetConsistency(etcd.WEAK_CONSISTENCY) es := registry.NewEventStream(eventClient, r) es.Open() a := agent.New(r, es, m, "", cfg.UnitPrefix) e := engine.New(r, es, m) return &Server{a, e, m, r, es} }