func runSetConnectorConfigs(cmd *cobra.Command, args []string) int { if len(args) != 1 { stderr("Provide a single argument.") return 2 } rf, err := connector.NewConnectorConfigRepoFromFile(args[0]) if err != nil { stderr("Unable to retrieve connector configs from file: %v", err) return 1 } cfgs, err := rf.All() if err != nil { stderr("Unable to retrieve connector configs from file: %v", err) return 1 } if err := getDriver().SetConnectorConfigs(cfgs); err != nil { stderr(err.Error()) return 1 } fmt.Printf("Saved %d connector config(s)\n", len(cfgs)) return 0 }
func (cfg *SingleServerConfig) Configure(srv *Server) error { k, err := key.GeneratePrivateKey() if err != nil { return err } ks := key.NewPrivateKeySet([]*key.PrivateKey{k}, time.Now().Add(24*time.Hour)) kRepo := key.NewPrivateKeySetRepo() if err = kRepo.Set(ks); err != nil { return err } cf, err := os.Open(cfg.ClientsFile) if err != nil { return fmt.Errorf("unable to read clients from file %s: %v", cfg.ClientsFile, err) } defer cf.Close() ciRepo, err := client.NewClientIdentityRepoFromReader(cf) if err != nil { return fmt.Errorf("unable to read client identities from file %s: %v", cfg.ClientsFile, err) } cfgRepo, err := connector.NewConnectorConfigRepoFromFile(cfg.ConnectorsFile) if err != nil { return fmt.Errorf("unable to create ConnectorConfigRepo: %v", err) } sRepo := session.NewSessionRepo() skRepo := session.NewSessionKeyRepo() sm := session.NewSessionManager(sRepo, skRepo) userRepo, err := user.NewUserRepoFromFile(cfg.UsersFile) if err != nil { return fmt.Errorf("unable to read users from file: %v", err) } pwiRepo := user.NewPasswordInfoRepo() refTokRepo := refresh.NewRefreshTokenRepo() txnFactory := repo.InMemTransactionFactory userManager := user.NewManager(userRepo, pwiRepo, txnFactory, user.ManagerOptions{}) srv.ClientIdentityRepo = ciRepo srv.KeySetRepo = kRepo srv.ConnectorConfigRepo = cfgRepo srv.UserRepo = userRepo srv.UserManager = userManager srv.PasswordInfoRepo = pwiRepo srv.SessionManager = sm srv.RefreshTokenRepo = refTokRepo return nil }