...

Source file src/edge-infra.dev/pkg/sds/emergencyaccess/rules/setup/dataset.go

Documentation: edge-infra.dev/pkg/sds/emergencyaccess/rules/setup

     1  package setup
     2  
     3  import (
     4  	"fmt"
     5  
     6  	"github.com/go-logr/logr"
     7  
     8  	"edge-infra.dev/pkg/sds/emergencyaccess/config"
     9  	rulesengine "edge-infra.dev/pkg/sds/emergencyaccess/rules"
    10  	"edge-infra.dev/pkg/sds/emergencyaccess/rules/storage/database"
    11  	"edge-infra.dev/pkg/sds/emergencyaccess/rules/storage/file"
    12  )
    13  
    14  func CreateDataset(log logr.Logger, conf RulesConfig) (rulesengine.Dataset, []func() error, error) {
    15  	if conf.JSONDataDir != "" {
    16  		log.Info("Using file-based data storage")
    17  		ds, err := file.New(log, conf.JSONDataDir)
    18  		return ds, nil, err
    19  	}
    20  
    21  	log.Info("Using db-based data storage")
    22  	pqdb, check, err := config.DB(conf.SQL)
    23  	if err != nil {
    24  		return nil, nil, fmt.Errorf("error connecting to database: %w", err)
    25  	}
    26  	return database.New(log, pqdb), []func() error{check}, nil
    27  }
    28  

View as plain text