INNER CODE UNIT · Go
setupDB
rameshsunkara/go-rest-api-example · main.go:77
func setupDB(svcEnv *config.ServiceEnvConfig) (*mongodb.ConnectionManager, error) {
dbCredentials, err := mongodb.CredentialFromSideCar(svcEnv.DBCredentialsSideCar)
if err != nil {
return nil, fmt.Errorf("failed to fetch DB credentials : %w", err)
}
dbConnMgr, dbErr := mongodb.NewMongoManager(
svcEnv.DBHosts,
svcEnv.DBName,
dbCredentials,
mongodb.WithQueryLogging(svcEnv.DBLogQueries),
// mongodb.WithReplicaSet(svcEnv.ReplicaSet) added to demonstrate functional options
)
if dbErr != nil {
return nil, fmt.Errorf("unable to initialize DB connection: %w", dbErr)
}
return dbConnMgr, nil
}