func New(cfg config.Config) *Server { m := machine.New(cfg.BootId, cfg.PublicIP, cfg.Metadata()) m.RefreshState() regClient := etcd.NewClient(cfg.EtcdServers) regClient.SetConsistency(etcd.STRONG_CONSISTENCY) r := registry.New(regClient) eb := event.NewEventBus() eb.Listen() eventClient := etcd.NewClient(cfg.EtcdServers) eventClient.SetConsistency(etcd.STRONG_CONSISTENCY) es := registry.NewEventStream(eventClient, r) var verifier *sign.SignatureVerifier if cfg.VerifyUnits { var err error verifier, err = sign.NewSignatureVerifierFromAuthorizedKeysFile(cfg.AuthorizedKeysFile) if err != nil { log.Errorln("Failed to get any key from authorized key file in verify_units mode:", err) verifier = sign.NewSignatureVerifier() } } a, err := agent.New(r, eb, m, cfg.AgentTTL, cfg.UnitPrefix, verifier) if err != nil { //TODO: return this as an error object rather than panicking panic(err) } e := engine.New(r, eb, m) return &Server{a, e, m, r, eb, es} }
func newAgentFromConfig(mach machine.Machine, reg registry.Registry, cfg config.Config, mgr unit.UnitManager) (*agent.Agent, error) { var verifier *sign.SignatureVerifier if cfg.VerifyUnits { var err error verifier, err = sign.NewSignatureVerifierFromAuthorizedKeysFile(cfg.AuthorizedKeysFile) if err != nil { log.Errorln("Failed to get any key from authorized key file in verify_units mode:", err) verifier = sign.NewSignatureVerifier() } } return agent.New(mgr, reg, mach, cfg.AgentTTL, verifier) }
func newAgentReconcilerFromConfig(reg registry.Registry, cfg config.Config) (*agent.AgentReconciler, error) { var verifier *sign.SignatureVerifier if cfg.VerifyUnits { var err error verifier, err = sign.NewSignatureVerifierFromAuthorizedKeysFile(cfg.AuthorizedKeysFile) if err != nil { log.Errorf("Failed to get any key from authorized key file in verify_units mode: %v", err) verifier = sign.NewSignatureVerifier() } } return agent.NewReconciler(reg, verifier), nil }
func newAgentReconcilerFromConfig(reg registry.Registry, eClient etcd.Client, cfg config.Config) (*agent.AgentReconciler, error) { var verifier *sign.SignatureVerifier if cfg.VerifyUnits { var err error verifier, err = sign.NewSignatureVerifierFromAuthorizedKeysFile(cfg.AuthorizedKeysFile) if err != nil { log.Errorf("Failed to get any key from authorized key file in verify_units mode: %v", err) verifier = sign.NewSignatureVerifier() } } listen := []registry.Event{registry.JobTargetChangeEvent} rStream, err := registry.NewEtcdEventStream(eClient, cfg.EtcdKeyPrefix, listen) if err != nil { return nil, err } return agent.NewReconciler(reg, rStream, verifier) }
func newAgentFromConfig(mach *machine.Machine, cfg config.Config) (*agent.Agent, error) { regClient := etcd.NewClient(cfg.EtcdServers) regClient.SetConsistency(etcd.STRONG_CONSISTENCY) reg := registry.New(regClient, cfg.EtcdKeyPrefix) eClient := etcd.NewClient(cfg.EtcdServers) eClient.SetConsistency(etcd.STRONG_CONSISTENCY) eStream, err := registry.NewEventStream(eClient, reg) if err != nil { return nil, err } var verifier *sign.SignatureVerifier if cfg.VerifyUnits { var err error verifier, err = sign.NewSignatureVerifierFromAuthorizedKeysFile(cfg.AuthorizedKeysFile) if err != nil { log.Errorln("Failed to get any key from authorized key file in verify_units mode:", err) verifier = sign.NewSignatureVerifier() } } return agent.New(reg, eStream, mach, cfg.AgentTTL, verifier) }