mirror of
https://github.com/SigNoz/signoz.git
synced 2025-12-17 15:36:48 +00:00
* feat(access-control): embed openfga in signoz * feat(authz): rename access control to authz * feat(authz): fix codeowners and go mod tidy * feat(authz): fix lint * feat(authz): update go version and move convertor to instrumentation * feat(authz): some more lint issues * feat(authz): some more lint issues * feat(authz): some more lint issues * feat(authz): fix more lint issues * feat(authz): make logger converter interface
43 lines
1.4 KiB
Go
43 lines
1.4 KiB
Go
package openfgaauthz
|
|
|
|
import (
|
|
"github.com/SigNoz/signoz/pkg/errors"
|
|
"github.com/SigNoz/signoz/pkg/sqlstore"
|
|
"github.com/openfga/openfga/pkg/storage"
|
|
"github.com/openfga/openfga/pkg/storage/migrate"
|
|
"github.com/openfga/openfga/pkg/storage/postgres"
|
|
"github.com/openfga/openfga/pkg/storage/sqlcommon"
|
|
"github.com/openfga/openfga/pkg/storage/sqlite"
|
|
)
|
|
|
|
type storeConfig struct {
|
|
sqlstoreConfig sqlstore.Config
|
|
}
|
|
|
|
func NewStore(cfg storeConfig) (storage.OpenFGADatastore, error) {
|
|
switch cfg.sqlstoreConfig.Provider {
|
|
case "sqlite":
|
|
err := migrate.RunMigrations(migrate.MigrationConfig{Engine: cfg.sqlstoreConfig.Provider, URI: "file:" + cfg.sqlstoreConfig.Sqlite.Path + "?_foreign_keys=true"})
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
|
|
return sqlite.New("file:"+cfg.sqlstoreConfig.Sqlite.Path+"?_foreign_keys=true", &sqlcommon.Config{
|
|
MaxTuplesPerWriteField: 100,
|
|
MaxTypesPerModelField: 100,
|
|
})
|
|
case "postgres":
|
|
err := migrate.RunMigrations(migrate.MigrationConfig{Engine: cfg.sqlstoreConfig.Provider, URI: cfg.sqlstoreConfig.Postgres.DSN})
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
|
|
return postgres.New(cfg.sqlstoreConfig.Postgres.DSN, &sqlcommon.Config{
|
|
MaxTuplesPerWriteField: 100,
|
|
MaxTypesPerModelField: 100,
|
|
})
|
|
default:
|
|
return nil, errors.Newf(errors.TypeInvalidInput, errors.CodeInvalidInput, "invalid store type: %s", cfg.sqlstoreConfig.Provider)
|
|
}
|
|
}
|