func getConfig(ctx scope.Context) (*backend.ServerConfig, error) { if initializedConfig != nil { return initializedConfig, nil } if *config == "" { if initializedCluster == nil { var err error initializedCluster, err = backend.Config.Cluster.EtcdCluster(ctx) if err != nil { return nil, err } } if err := backend.Config.LoadFromEtcd(initializedCluster); err != nil { return nil, fmt.Errorf("config: %s", err) } } else { if err := backend.Config.LoadFromFile(*config); err != nil { return nil, fmt.Errorf("config: %s", err) } } backend.RegisterBackend("mock", func(*proto.Heim) (proto.Backend, error) { return &mock.TestBackend{}, nil }) backend.RegisterBackend("psql", func(heim *proto.Heim) (proto.Backend, error) { return psql.NewBackend(heim, backend.Config.DB.DSN) }) return &backend.Config, nil }
func getBackend(ctx scope.Context, cs cluster.Cluster) (*psql.Backend, error) { return psql.NewBackend(ctx, backend.Config.DB.DSN, cs, backend.Config.Cluster.DescribeSelf()) }