Documentation ¶
Index ¶
- Constants
- Variables
- func ErrorMapper(ctx context.Context, req interface{}, info *grpc.UnaryServerInfo, ...) (interface{}, error)
- func ErrorMapperStream(srv interface{}, ss grpc.ServerStream, info *grpc.StreamServerInfo, ...) error
- func ImmudbHealthHandlerFunc() http.HandlerFunc
- func ImmudbVersionHandlerFunc(w http.ResponseWriter, r *http.Request)
- func NewStateSigner(signer signer.Signer) *stateSigner
- func NewUUIDContext(id xid.ID) uuidContext
- func StartMetrics(updateInterval time.Duration, addr string, l logger.Logger, ...) *http.Server
- type ImmuServer
- func (s *ImmuServer) AuditDocument(ctx context.Context, req *protomodel.AuditDocumentRequest) (*protomodel.AuditDocumentResponse, error)
- func (s *ImmuServer) ChangePassword(ctx context.Context, r *schema.ChangePasswordRequest) (*empty.Empty, error)
- func (s *ImmuServer) ChangePermission(ctx context.Context, r *schema.ChangePermissionRequest) (*empty.Empty, error)
- func (s *ImmuServer) CloseDatabases() error
- func (s *ImmuServer) CloseSession(ctx context.Context, _ *empty.Empty) (*empty.Empty, error)
- func (s *ImmuServer) Commit(ctx context.Context, _ *empty.Empty) (*schema.CommittedSQLTx, error)
- func (s *ImmuServer) CompactIndex(ctx context.Context, _ *empty.Empty) (*empty.Empty, error)
- func (s *ImmuServer) Count(ctx context.Context, prefix *schema.KeyPrefix) (*schema.EntryCount, error)
- func (s *ImmuServer) CountAll(ctx context.Context, _ *empty.Empty) (*schema.EntryCount, error)
- func (s *ImmuServer) CountDocuments(ctx context.Context, req *protomodel.CountDocumentsRequest) (*protomodel.CountDocumentsResponse, error)
- func (s *ImmuServer) CreateCollection(ctx context.Context, req *protomodel.CreateCollectionRequest) (*protomodel.CreateCollectionResponse, error)
- func (s *ImmuServer) CreateDatabase(ctx context.Context, req *schema.Database) (*empty.Empty, error)
- func (s *ImmuServer) CreateDatabaseV2(ctx context.Context, req *schema.CreateDatabaseRequest) (res *schema.CreateDatabaseResponse, err error)
- func (s *ImmuServer) CreateDatabaseWith(ctx context.Context, req *schema.DatabaseSettings) (*empty.Empty, error)
- func (s *ImmuServer) CreateIndex(ctx context.Context, req *protomodel.CreateIndexRequest) (*protomodel.CreateIndexResponse, error)
- func (s *ImmuServer) CreateUser(ctx context.Context, r *schema.CreateUserRequest) (*empty.Empty, error)
- func (s *ImmuServer) CurrentState(ctx context.Context, _ *empty.Empty) (*schema.ImmutableState, error)
- func (s *ImmuServer) DatabaseHealth(ctx context.Context, _ *empty.Empty) (*schema.DatabaseHealthResponse, error)
- func (s *ImmuServer) DatabaseList(ctx context.Context, _ *empty.Empty) (*schema.DatabaseListResponse, error)
- func (s *ImmuServer) DatabaseListV2(ctx context.Context, req *schema.DatabaseListRequestV2) (*schema.DatabaseListResponseV2, error)
- func (s *ImmuServer) Delete(ctx context.Context, req *schema.DeleteKeysRequest) (*schema.TxHeader, error)
- func (s *ImmuServer) DeleteCollection(ctx context.Context, req *protomodel.DeleteCollectionRequest) (*protomodel.DeleteCollectionResponse, error)
- func (s *ImmuServer) DeleteDatabase(ctx context.Context, req *schema.DeleteDatabaseRequest) (res *schema.DeleteDatabaseResponse, err error)
- func (s *ImmuServer) DeleteDocuments(ctx context.Context, req *protomodel.DeleteDocumentsRequest) (*protomodel.DeleteDocumentsResponse, error)
- func (s *ImmuServer) DeleteIndex(ctx context.Context, req *protomodel.DeleteIndexRequest) (*protomodel.DeleteIndexResponse, error)
- func (s *ImmuServer) DescribeTable(ctx context.Context, req *schema.Table) (*schema.SQLQueryResult, error)
- func (s *ImmuServer) ExecAll(ctx context.Context, req *schema.ExecAllRequest) (*schema.TxHeader, error)
- func (s *ImmuServer) ExportTx(req *schema.ExportTxRequest, txsServer schema.ImmuService_ExportTxServer) error
- func (s *ImmuServer) FlushIndex(ctx context.Context, req *schema.FlushIndexRequest) (*schema.FlushIndexResponse, error)
- func (s *ImmuServer) Get(ctx context.Context, req *schema.KeyRequest) (*schema.Entry, error)
- func (s *ImmuServer) GetAll(ctx context.Context, req *schema.KeyListRequest) (*schema.Entries, error)
- func (s *ImmuServer) GetCollection(ctx context.Context, req *protomodel.GetCollectionRequest) (*protomodel.GetCollectionResponse, error)
- func (s *ImmuServer) GetCollections(ctx context.Context, req *protomodel.GetCollectionsRequest) (*protomodel.GetCollectionsResponse, error)
- func (s *ImmuServer) GetDatabaseSettings(ctx context.Context, _ *empty.Empty) (*schema.DatabaseSettings, error)
- func (s *ImmuServer) GetDatabaseSettingsV2(ctx context.Context, _ *schema.DatabaseSettingsRequest) (*schema.DatabaseSettingsResponse, error)
- func (s *ImmuServer) Health(ctx context.Context, _ *empty.Empty) (*schema.HealthResponse, error)
- func (s *ImmuServer) History(ctx context.Context, req *schema.HistoryRequest) (*schema.Entries, error)
- func (s *ImmuServer) Initialize() error
- func (s *ImmuServer) InsertDocuments(ctx context.Context, req *protomodel.InsertDocumentsRequest) (*protomodel.InsertDocumentsResponse, error)
- func (s *ImmuServer) KeepALiveSessionStreamInterceptor(srv interface{}, ss grpc.ServerStream, info *grpc.StreamServerInfo, ...) error
- func (s *ImmuServer) KeepAlive(ctx context.Context, e *empty.Empty) (*empty.Empty, error)
- func (s *ImmuServer) KeepAliveSessionInterceptor(ctx context.Context, req interface{}, info *grpc.UnaryServerInfo, ...) (interface{}, error)
- func (s *ImmuServer) ListTables(ctx context.Context, _ *empty.Empty) (*schema.SQLQueryResult, error)
- func (s *ImmuServer) ListUsers(ctx context.Context, req *empty.Empty) (*schema.UserList, error)
- func (s *ImmuServer) LoadDatabase(ctx context.Context, req *schema.LoadDatabaseRequest) (res *schema.LoadDatabaseResponse, err error)
- func (s *ImmuServer) Login(ctx context.Context, r *schema.LoginRequest) (*schema.LoginResponse, error)
- func (s *ImmuServer) Logout(ctx context.Context, r *empty.Empty) (*empty.Empty, error)
- func (s *ImmuServer) NewTx(ctx context.Context, request *schema.NewTxRequest) (*schema.NewTxResponse, error)
- func (s *ImmuServer) OpenSession(ctx context.Context, r *schema.OpenSessionRequest) (*schema.OpenSessionResponse, error)
- func (s *ImmuServer) ProofDocument(ctx context.Context, req *protomodel.ProofDocumentRequest) (*protomodel.ProofDocumentResponse, error)
- func (s *ImmuServer) ReplaceDocuments(ctx context.Context, req *protomodel.ReplaceDocumentsRequest) (*protomodel.ReplaceDocumentsResponse, error)
- func (s *ImmuServer) ReplicateTx(replicateTxServer schema.ImmuService_ReplicateTxServer) error
- func (s *ImmuServer) Rollback(ctx context.Context, _ *empty.Empty) (*empty.Empty, error)
- func (s *ImmuServer) SQLExec(ctx context.Context, req *schema.SQLExecRequest) (*schema.SQLExecResult, error)
- func (s *ImmuServer) SQLQuery(ctx context.Context, req *schema.SQLQueryRequest) (*schema.SQLQueryResult, error)
- func (s *ImmuServer) Scan(ctx context.Context, req *schema.ScanRequest) (*schema.Entries, error)
- func (s *ImmuServer) SearchDocuments(ctx context.Context, req *protomodel.SearchDocumentsRequest) (*protomodel.SearchDocumentsResponse, error)
- func (s *ImmuServer) ServerInfo(ctx context.Context, req *schema.ServerInfoRequest) (*schema.ServerInfoResponse, error)
- func (s *ImmuServer) SessionAuthInterceptor(ctx context.Context, req interface{}, info *grpc.UnaryServerInfo, ...) (interface{}, error)
- func (s *ImmuServer) Set(ctx context.Context, kv *schema.SetRequest) (*schema.TxHeader, error)
- func (s *ImmuServer) SetActiveUser(ctx context.Context, r *schema.SetActiveUserRequest) (*empty.Empty, error)
- func (s *ImmuServer) SetReference(ctx context.Context, req *schema.ReferenceRequest) (*schema.TxHeader, error)
- func (s *ImmuServer) Start() (err error)
- func (s *ImmuServer) Stop() error
- func (s *ImmuServer) StreamExecAll(str schema.ImmuService_StreamExecAllServer) error
- func (s *ImmuServer) StreamExportTx(stream schema.ImmuService_StreamExportTxServer) error
- func (s *ImmuServer) StreamGet(kr *schema.KeyRequest, str schema.ImmuService_StreamGetServer) error
- func (s *ImmuServer) StreamHistory(request *schema.HistoryRequest, server schema.ImmuService_StreamHistoryServer) error
- func (s *ImmuServer) StreamScan(req *schema.ScanRequest, str schema.ImmuService_StreamScanServer) error
- func (s *ImmuServer) StreamSet(str schema.ImmuService_StreamSetServer) error
- func (s *ImmuServer) StreamVerifiableGet(req *schema.VerifiableGetRequest, ...) error
- func (s *ImmuServer) StreamVerifiableSet(str schema.ImmuService_StreamVerifiableSetServer) error
- func (s *ImmuServer) StreamZScan(request *schema.ZScanRequest, server schema.ImmuService_StreamZScanServer) error
- func (s *ImmuServer) TruncateDatabase(ctx context.Context, req *schema.TruncateDatabaseRequest) (res *schema.TruncateDatabaseResponse, err error)
- func (s *ImmuServer) TxById(ctx context.Context, req *schema.TxRequest) (*schema.Tx, error)
- func (s *ImmuServer) TxSQLExec(ctx context.Context, request *schema.SQLExecRequest) (*empty.Empty, error)
- func (s *ImmuServer) TxSQLQuery(ctx context.Context, request *schema.SQLQueryRequest) (*schema.SQLQueryResult, error)
- func (s *ImmuServer) TxScan(ctx context.Context, req *schema.TxScanRequest) (*schema.TxList, error)
- func (s *ImmuServer) UnloadDatabase(ctx context.Context, req *schema.UnloadDatabaseRequest) (res *schema.UnloadDatabaseResponse, err error)
- func (s *ImmuServer) UpdateAuthConfig(ctx context.Context, req *schema.AuthConfig) (*empty.Empty, error)
- func (s *ImmuServer) UpdateCollection(ctx context.Context, req *protomodel.UpdateCollectionRequest) (*protomodel.UpdateCollectionResponse, error)
- func (s *ImmuServer) UpdateDatabase(ctx context.Context, req *schema.DatabaseSettings) (*empty.Empty, error)
- func (s *ImmuServer) UpdateDatabaseV2(ctx context.Context, req *schema.UpdateDatabaseRequest) (res *schema.UpdateDatabaseResponse, err error)
- func (s *ImmuServer) UpdateMTLSConfig(ctx context.Context, req *schema.MTLSConfig) (*empty.Empty, error)
- func (s *ImmuServer) UseDatabase(ctx context.Context, req *schema.Database) (*schema.UseDatabaseReply, error)
- func (s *ImmuServer) VerifiableGet(ctx context.Context, req *schema.VerifiableGetRequest) (*schema.VerifiableEntry, error)
- func (s *ImmuServer) VerifiableSQLGet(ctx context.Context, req *schema.VerifiableSQLGetRequest) (*schema.VerifiableSQLEntry, error)
- func (s *ImmuServer) VerifiableSet(ctx context.Context, req *schema.VerifiableSetRequest) (*schema.VerifiableTx, error)
- func (s *ImmuServer) VerifiableSetReference(ctx context.Context, req *schema.VerifiableReferenceRequest) (*schema.VerifiableTx, error)
- func (s *ImmuServer) VerifiableTxById(ctx context.Context, req *schema.VerifiableTxRequest) (*schema.VerifiableTx, error)
- func (s *ImmuServer) VerifiableZAdd(ctx context.Context, req *schema.VerifiableZAddRequest) (*schema.VerifiableTx, error)
- func (s *ImmuServer) WithDbList(dbList database.DatabaseList) ImmuServerIf
- func (s *ImmuServer) WithLogger(logger logger.Logger) ImmuServerIf
- func (s *ImmuServer) WithOptions(options *Options) ImmuServerIf
- func (s *ImmuServer) WithPgsqlServer(psrv pgsqlsrv.Server) ImmuServerIf
- func (s *ImmuServer) WithStateSigner(stateSigner StateSigner) ImmuServerIf
- func (s *ImmuServer) WithStreamServiceFactory(ssf stream.ServiceFactory) ImmuServerIf
- func (s *ImmuServer) ZAdd(ctx context.Context, req *schema.ZAddRequest) (*schema.TxHeader, error)
- func (s *ImmuServer) ZScan(ctx context.Context, req *schema.ZScanRequest) (*schema.ZEntries, error)
- type ImmuServerIf
- type MetricsCollection
- func (mc *MetricsCollection) UpdateClientMetrics(ctx context.Context)
- func (mc *MetricsCollection) UpdateDBMetrics()
- func (mc *MetricsCollection) WithComputeDBEntries(f func() map[string]float64)
- func (mc *MetricsCollection) WithComputeDBSizes(f func() map[string]float64)
- func (mc *MetricsCollection) WithUptimeCounter(f func() float64)
- type Milliseconds
- type Options
- func (o *Options) Bind() string
- func (o *Options) GetAuth() bool
- func (o *Options) GetDefaultDBName() string
- func (o *Options) GetMaintenance() bool
- func (o *Options) GetSynced() bool
- func (o *Options) GetSystemAdminDBName() string
- func (o *Options) IsFileLogger() bool
- func (o *Options) IsJSONLogger() bool
- func (o *Options) MetricsBind() string
- func (o *Options) String() string
- func (o *Options) WebBind() string
- func (o *Options) WithAddress(address string) *Options
- func (o *Options) WithAdminPassword(adminPassword string) *Options
- func (o *Options) WithAuth(authEnabled bool) *Options
- func (o *Options) WithConfig(config string) *Options
- func (o *Options) WithDetached(detached bool) *Options
- func (o *Options) WithDevMode(devMode bool) *Options
- func (o *Options) WithDir(dir string) *Options
- func (o *Options) WithForceAdminPassword(forceAdminPassword bool) *Options
- func (o *Options) WithGRPCReflectionServerEnabled(enabled bool) *Options
- func (o *Options) WithListener(lis net.Listener) *Options
- func (o *Options) WithLogFormat(logFormat string) *Options
- func (o *Options) WithLogfile(logfile string) *Options
- func (o *Options) WithMaintenance(m bool) *Options
- func (o *Options) WithMaxRecvMsgSize(maxRecvMsgSize int) *Options
- func (o *Options) WithMetricsServer(metricsServer bool) *Options
- func (o *Options) WithMetricsServerPort(port int) *Options
- func (o *Options) WithNetwork(network string) *Options
- func (o *Options) WithNoHistograms(noHistograms bool) *Options
- func (o *Options) WithPProf(pprof bool) *Options
- func (o *Options) WithPgsqlServer(enable bool) *Options
- func (o *Options) WithPgsqlServerPort(port int) *Options
- func (o *Options) WithPidfile(pidfile string) *Options
- func (o *Options) WithPort(port int) *Options
- func (o *Options) WithRemoteStorageOptions(remoteStorageOptions *RemoteStorageOptions) *Options
- func (o *Options) WithReplicationOptions(replicationOptions *ReplicationOptions) *Options
- func (o *Options) WithSessionOptions(options *sessions.Options) *Options
- func (o *Options) WithSigningKey(signingKey string) *Options
- func (o *Options) WithStreamChunkSize(streamChunkSize int) *Options
- func (o *Options) WithSynced(synced bool) *Options
- func (o *Options) WithTLS(tls *tls.Config) *Options
- func (o *Options) WithTokenExpiryTime(tokenExpiryTimeMin int) *Options
- func (o *Options) WithWebServer(webServer bool) *Options
- func (o *Options) WithWebServerPort(port int) *Options
- type PIDFile
- type RemoteStorageOptions
- func (opts *RemoteStorageOptions) WithS3AccessKeyID(s3AccessKeyID string) *RemoteStorageOptions
- func (opts *RemoteStorageOptions) WithS3BucketName(s3BucketName string) *RemoteStorageOptions
- func (opts *RemoteStorageOptions) WithS3Endpoint(s3Endpoint string) *RemoteStorageOptions
- func (opts *RemoteStorageOptions) WithS3Location(s3Location string) *RemoteStorageOptions
- func (opts *RemoteStorageOptions) WithS3PathPrefix(s3PathPrefix string) *RemoteStorageOptions
- func (opts *RemoteStorageOptions) WithS3SecretKey(s3SecretKey string) *RemoteStorageOptions
- func (opts *RemoteStorageOptions) WithS3Storage(S3Storage bool) *RemoteStorageOptions
- type ReplicationOptions
- func (opts *ReplicationOptions) WithAllowTxDiscarding(allowTxDiscarding bool) *ReplicationOptions
- func (opts *ReplicationOptions) WithIsReplica(isReplica bool) *ReplicationOptions
- func (opts *ReplicationOptions) WithPrefetchTxBufferSize(prefetchTxBufferSize int) *ReplicationOptions
- func (opts *ReplicationOptions) WithPrimaryHost(primaryHost string) *ReplicationOptions
- func (opts *ReplicationOptions) WithPrimaryPassword(primaryPassword string) *ReplicationOptions
- func (opts *ReplicationOptions) WithPrimaryPort(primaryPort int) *ReplicationOptions
- func (opts *ReplicationOptions) WithPrimaryUsername(primaryUsername string) *ReplicationOptions
- func (opts *ReplicationOptions) WithReplicationCommitConcurrency(replicationCommitConcurrency int) *ReplicationOptions
- func (opts *ReplicationOptions) WithSkipIntegrityCheck(skipIntegrityCheck bool) *ReplicationOptions
- func (opts *ReplicationOptions) WithSyncAcks(syncAcks int) *ReplicationOptions
- func (opts *ReplicationOptions) WithSyncReplication(syncReplication bool) *ReplicationOptions
- func (opts *ReplicationOptions) WithWaitForIndexing(waitForIndexingç bool) *ReplicationOptions
- type Service
- type StateSigner
- type UUIDContext
- type VersionResponse
Constants ¶
const ( //KeyPrefixUser All user keys in the key/value store are prefixed by this keys to distinguish them from keys that have other purposes KeyPrefixUser = iota + 1 //KeyPrefixDBSettings is used for entries related to database settings KeyPrefixDBSettings )
const DefaultDBName = "defaultdb"
const DefaultMaxValueLen = 1 << 25 //32Mb
const DefaultStoreFileSize = 1 << 29 //512Mb
const IDENTIFIER_FNAME = "immudb.identifier"
IDENTIFIER_FNAME ...
const SERVER_UUID_HEADER = "immudb-uuid"
SERVER_UUID_HEADER ...
const SystemDBName = "systemdb"
Variables ¶
var ( ErrIllegalArguments = status.Error(codes.InvalidArgument, database.ErrIllegalArguments.Error()) ErrIllegalState = status.Error(codes.InvalidArgument, database.ErrIllegalState.Error()) ErrEmptyAdminPassword = status.Error(codes.InvalidArgument, "Admin password cannot be empty") ErrCantUpdateAdminPassword = errors.New("can not update sysadmin password") ErrUserNotActive = "user is not active" ErrInvalidUsernameOrPassword = "invalid user name or password" ErrAuthDisabled = "server is running with authentication disabled, please enable authentication to login" ErrAuthMustBeEnabled = status.Error(codes.InvalidArgument, "authentication must be on") ErrAuthMustBeDisabled = status.Error(codes.InvalidArgument, "authentication must be disabled when restoring systemdb") ErrNotAllowedInMaintenanceMode = status.Error(codes.InvalidArgument, "operation not allowed in maintenance mode") ErrReservedDatabase = errors.New("database is reserved") ErrPermissionDenied = errors.New("permission denied") ErrNotSupported = errors.New("operation not supported") ErrNotLoggedIn = auth.ErrNotLoggedIn ErrReplicationInProgress = errors.New("replication already in progress") ErrReplicatorNotNeeded = errors.New("replicator is not needed") ErrReplicationNotInProgress = errors.New("replication is not in progress") ErrSessionAlreadyPresent = errors.New("session already present").WithCode(errors.CodInternalError) ErrSessionNotFound = errors.New("session not found").WithCode(errors.CodSqlserverRejectedEstablishmentOfSqlSession) ErrOngoingReadWriteTx = sessions.ErrOngoingReadWriteTx ErrNoSessionIDPresent = errors.New("no sessionID provided") ErrTxNotProperlyClosed = errors.New("tx not properly closed") ErrReadWriteTxNotOngoing = errors.New("read write transaction not ongoing") ErrTxReadConflict = errors.New(store.ErrTxReadConflict.Error()).WithCode(errors.CodInFailedSqlTransaction) ErrDatabaseAlreadyLoaded = errors.New("database already loaded") ErrTruncatorNotNeeded = errors.New("truncator is not needed") ErrTruncatorNotInProgress = errors.New("truncation is not in progress") ErrTruncatorDoesNotExist = errors.New("truncator does not exist") )
var (
ErrRemoteStorageDoesNotMatch = errors.New("remote storage does not match local files")
)
var Metrics = MetricsCollection{ RPCsPerClientCounters: promauto.NewCounterVec( prometheus.CounterOpts{ Namespace: metricsNamespace, Name: "number_of_rpcs_per_client", Help: "Number of handled RPCs per client.", }, []string{"ip"}, ), DBSizeGauges: promauto.NewGaugeVec( prometheus.GaugeOpts{ Namespace: metricsNamespace, Name: "db_size_bytes", Help: "Database size in bytes.", }, []string{"db"}, ), DBEntriesGauges: promauto.NewGaugeVec( prometheus.GaugeOpts{ Namespace: metricsNamespace, Name: "number_of_stored_entries", Help: "Number of key-value entries currently stored by the database.", }, []string{"db"}, ), LastMessageAtPerClientGauges: promauto.NewGaugeVec( prometheus.GaugeOpts{ Namespace: metricsNamespace, Name: "clients_last_message_at_unix_seconds", Help: "Timestamp at which clients have sent their most recent message.", }, []string{"ip"}, ), RemoteStorageKind: promauto.NewGaugeVec( prometheus.GaugeOpts{ Namespace: metricsNamespace, Name: "remote_storage_kind", Help: "Set to 1 for remote storage kind for given database", }, []string{"db", "kind"}, ), }
Metrics immudb Prometheus metrics collection
Functions ¶
func ErrorMapper ¶ added in v0.9.2
func ErrorMapper(ctx context.Context, req interface{}, info *grpc.UnaryServerInfo, handler grpc.UnaryHandler) (interface{}, error)
ErrorMapper map standard errors in gRPC errors
func ErrorMapperStream ¶ added in v0.9.2
func ErrorMapperStream(srv interface{}, ss grpc.ServerStream, info *grpc.StreamServerInfo, handler grpc.StreamHandler) error
ErrorMapperStream map standard errors in gRPC errors
func ImmudbHealthHandlerFunc ¶ added in v1.0.5
func ImmudbHealthHandlerFunc() http.HandlerFunc
func ImmudbVersionHandlerFunc ¶ added in v1.0.5
func ImmudbVersionHandlerFunc(w http.ResponseWriter, r *http.Request)
func NewStateSigner ¶ added in v0.9.0
func NewUUIDContext ¶ added in v0.9.0
NewUUIDContext return a new UUId context servive
func StartMetrics ¶
func StartMetrics( updateInterval time.Duration, addr string, l logger.Logger, uptimeCounter func() float64, computeDBSizes func() map[string]float64, computeDBEntries func() map[string]float64, addPProf bool, ) *http.Server
StartMetrics listens and servers the HTTP metrics server in a new goroutine. The server is then returned and can be stopped using Close().
Types ¶
type ImmuServer ¶
type ImmuServer struct { OS immuos.OS Logger logger.Logger Options *Options Listener net.Listener GrpcServer *grpc.Server UUID xid.ID Pid PIDFile StateSigner StateSigner StreamServiceFactory stream.ServiceFactory PgsqlSrv pgsqlsrv.Server SessManager sessions.Manager // contains filtered or unexported fields }
ImmuServer ...
func (*ImmuServer) AuditDocument ¶ added in v1.5.0
func (s *ImmuServer) AuditDocument(ctx context.Context, req *protomodel.AuditDocumentRequest) (*protomodel.AuditDocumentResponse, error)
func (*ImmuServer) ChangePassword ¶
func (s *ImmuServer) ChangePassword(ctx context.Context, r *schema.ChangePasswordRequest) (*empty.Empty, error)
ChangePassword ...
func (*ImmuServer) ChangePermission ¶ added in v0.7.0
func (s *ImmuServer) ChangePermission(ctx context.Context, r *schema.ChangePermissionRequest) (*empty.Empty, error)
ChangePermission grant or revoke user permissions on databases
func (*ImmuServer) CloseDatabases ¶ added in v0.7.0
func (s *ImmuServer) CloseDatabases() error
CloseDatabases closes all opened databases including the consinstency checker
func (*ImmuServer) CloseSession ¶ added in v1.2.0
func (*ImmuServer) Commit ¶ added in v1.2.0
func (s *ImmuServer) Commit(ctx context.Context, _ *empty.Empty) (*schema.CommittedSQLTx, error)
func (*ImmuServer) CompactIndex ¶ added in v1.0.5
func (*ImmuServer) Count ¶
func (s *ImmuServer) Count(ctx context.Context, prefix *schema.KeyPrefix) (*schema.EntryCount, error)
Count ...
func (*ImmuServer) CountAll ¶ added in v0.8.1
func (s *ImmuServer) CountAll(ctx context.Context, _ *empty.Empty) (*schema.EntryCount, error)
CountAll ...
func (*ImmuServer) CountDocuments ¶ added in v1.5.0
func (s *ImmuServer) CountDocuments(ctx context.Context, req *protomodel.CountDocumentsRequest) (*protomodel.CountDocumentsResponse, error)
func (*ImmuServer) CreateCollection ¶ added in v1.5.0
func (s *ImmuServer) CreateCollection(ctx context.Context, req *protomodel.CreateCollectionRequest) (*protomodel.CreateCollectionResponse, error)
func (*ImmuServer) CreateDatabase ¶ added in v0.7.0
func (s *ImmuServer) CreateDatabase(ctx context.Context, req *schema.Database) (*empty.Empty, error)
CreateDatabase Create a new database instance
func (*ImmuServer) CreateDatabaseV2 ¶ added in v1.2.3
func (s *ImmuServer) CreateDatabaseV2(ctx context.Context, req *schema.CreateDatabaseRequest) (res *schema.CreateDatabaseResponse, err error)
CreateDatabaseV2 Create a new database instance
func (*ImmuServer) CreateDatabaseWith ¶ added in v1.0.5
func (s *ImmuServer) CreateDatabaseWith(ctx context.Context, req *schema.DatabaseSettings) (*empty.Empty, error)
CreateDatabaseWith Create a new database instance
func (*ImmuServer) CreateIndex ¶ added in v1.5.0
func (s *ImmuServer) CreateIndex(ctx context.Context, req *protomodel.CreateIndexRequest) (*protomodel.CreateIndexResponse, error)
func (*ImmuServer) CreateUser ¶
func (s *ImmuServer) CreateUser(ctx context.Context, r *schema.CreateUserRequest) (*empty.Empty, error)
CreateUser Creates a new user
func (*ImmuServer) CurrentState ¶ added in v0.9.0
func (s *ImmuServer) CurrentState(ctx context.Context, _ *empty.Empty) (*schema.ImmutableState, error)
CurrentState ...
func (*ImmuServer) DatabaseHealth ¶ added in v1.2.3
func (s *ImmuServer) DatabaseHealth(ctx context.Context, _ *empty.Empty) (*schema.DatabaseHealthResponse, error)
func (*ImmuServer) DatabaseList ¶ added in v0.7.0
func (s *ImmuServer) DatabaseList(ctx context.Context, _ *empty.Empty) (*schema.DatabaseListResponse, error)
DatabaseList returns a list of databases based on the requesting user permissions
func (*ImmuServer) DatabaseListV2 ¶ added in v1.2.3
func (s *ImmuServer) DatabaseListV2(ctx context.Context, req *schema.DatabaseListRequestV2) (*schema.DatabaseListResponseV2, error)
DatabaseList returns a list of databases based on the requesting user permissions
func (*ImmuServer) Delete ¶ added in v1.2.0
func (s *ImmuServer) Delete(ctx context.Context, req *schema.DeleteKeysRequest) (*schema.TxHeader, error)
func (*ImmuServer) DeleteCollection ¶ added in v1.5.0
func (s *ImmuServer) DeleteCollection(ctx context.Context, req *protomodel.DeleteCollectionRequest) (*protomodel.DeleteCollectionResponse, error)
func (*ImmuServer) DeleteDatabase ¶ added in v1.2.3
func (s *ImmuServer) DeleteDatabase(ctx context.Context, req *schema.DeleteDatabaseRequest) (res *schema.DeleteDatabaseResponse, err error)
func (*ImmuServer) DeleteDocuments ¶ added in v1.5.0
func (s *ImmuServer) DeleteDocuments(ctx context.Context, req *protomodel.DeleteDocumentsRequest) (*protomodel.DeleteDocumentsResponse, error)
func (*ImmuServer) DeleteIndex ¶ added in v1.5.0
func (s *ImmuServer) DeleteIndex(ctx context.Context, req *protomodel.DeleteIndexRequest) (*protomodel.DeleteIndexResponse, error)
func (*ImmuServer) DescribeTable ¶ added in v1.0.0
func (s *ImmuServer) DescribeTable(ctx context.Context, req *schema.Table) (*schema.SQLQueryResult, error)
func (*ImmuServer) ExecAll ¶ added in v0.9.0
func (s *ImmuServer) ExecAll(ctx context.Context, req *schema.ExecAllRequest) (*schema.TxHeader, error)
func (*ImmuServer) ExportTx ¶ added in v1.0.5
func (s *ImmuServer) ExportTx(req *schema.ExportTxRequest, txsServer schema.ImmuService_ExportTxServer) error
func (*ImmuServer) FlushIndex ¶ added in v1.2.3
func (s *ImmuServer) FlushIndex(ctx context.Context, req *schema.FlushIndexRequest) (*schema.FlushIndexResponse, error)
func (*ImmuServer) Get ¶
func (s *ImmuServer) Get(ctx context.Context, req *schema.KeyRequest) (*schema.Entry, error)
Get ...
func (*ImmuServer) GetAll ¶ added in v0.9.0
func (s *ImmuServer) GetAll(ctx context.Context, req *schema.KeyListRequest) (*schema.Entries, error)
GetAll ...
func (*ImmuServer) GetCollection ¶ added in v1.5.0
func (s *ImmuServer) GetCollection(ctx context.Context, req *protomodel.GetCollectionRequest) (*protomodel.GetCollectionResponse, error)
func (*ImmuServer) GetCollections ¶ added in v1.5.0
func (s *ImmuServer) GetCollections(ctx context.Context, req *protomodel.GetCollectionsRequest) (*protomodel.GetCollectionsResponse, error)
func (*ImmuServer) GetDatabaseSettings ¶ added in v1.2.3
func (s *ImmuServer) GetDatabaseSettings(ctx context.Context, _ *empty.Empty) (*schema.DatabaseSettings, error)
func (*ImmuServer) GetDatabaseSettingsV2 ¶ added in v1.2.3
func (s *ImmuServer) GetDatabaseSettingsV2(ctx context.Context, _ *schema.DatabaseSettingsRequest) (*schema.DatabaseSettingsResponse, error)
func (*ImmuServer) Health ¶
func (s *ImmuServer) Health(ctx context.Context, _ *empty.Empty) (*schema.HealthResponse, error)
Health ...
func (*ImmuServer) History ¶
func (s *ImmuServer) History(ctx context.Context, req *schema.HistoryRequest) (*schema.Entries, error)
History ...
func (*ImmuServer) Initialize ¶ added in v0.9.0
func (s *ImmuServer) Initialize() error
Initialize initializes dependencies, set up multi database capabilities and stats
func (*ImmuServer) InsertDocuments ¶ added in v1.5.0
func (s *ImmuServer) InsertDocuments(ctx context.Context, req *protomodel.InsertDocumentsRequest) (*protomodel.InsertDocumentsResponse, error)
func (*ImmuServer) KeepALiveSessionStreamInterceptor ¶ added in v1.2.0
func (s *ImmuServer) KeepALiveSessionStreamInterceptor(srv interface{}, ss grpc.ServerStream, info *grpc.StreamServerInfo, handler grpc.StreamHandler) error
func (*ImmuServer) KeepAliveSessionInterceptor ¶ added in v1.2.0
func (s *ImmuServer) KeepAliveSessionInterceptor(ctx context.Context, req interface{}, info *grpc.UnaryServerInfo, handler grpc.UnaryHandler) (interface{}, error)
func (*ImmuServer) ListTables ¶ added in v1.0.0
func (s *ImmuServer) ListTables(ctx context.Context, _ *empty.Empty) (*schema.SQLQueryResult, error)
func (*ImmuServer) ListUsers ¶
ListUsers returns a list of users based on the requesting user permissions
func (*ImmuServer) LoadDatabase ¶ added in v1.2.3
func (s *ImmuServer) LoadDatabase(ctx context.Context, req *schema.LoadDatabaseRequest) (res *schema.LoadDatabaseResponse, err error)
func (*ImmuServer) Login ¶
func (s *ImmuServer) Login(ctx context.Context, r *schema.LoginRequest) (*schema.LoginResponse, error)
Login ...
func (*ImmuServer) NewTx ¶ added in v1.2.0
func (s *ImmuServer) NewTx(ctx context.Context, request *schema.NewTxRequest) (*schema.NewTxResponse, error)
BeginTx creates a new transaction. Only one read-write transaction per session can be active at a time.
func (*ImmuServer) OpenSession ¶ added in v1.2.0
func (s *ImmuServer) OpenSession(ctx context.Context, r *schema.OpenSessionRequest) (*schema.OpenSessionResponse, error)
func (*ImmuServer) ProofDocument ¶ added in v1.5.0
func (s *ImmuServer) ProofDocument(ctx context.Context, req *protomodel.ProofDocumentRequest) (*protomodel.ProofDocumentResponse, error)
func (*ImmuServer) ReplaceDocuments ¶ added in v1.5.0
func (s *ImmuServer) ReplaceDocuments(ctx context.Context, req *protomodel.ReplaceDocumentsRequest) (*protomodel.ReplaceDocumentsResponse, error)
func (*ImmuServer) ReplicateTx ¶ added in v1.0.5
func (s *ImmuServer) ReplicateTx(replicateTxServer schema.ImmuService_ReplicateTxServer) error
func (*ImmuServer) SQLExec ¶ added in v1.0.0
func (s *ImmuServer) SQLExec(ctx context.Context, req *schema.SQLExecRequest) (*schema.SQLExecResult, error)
func (*ImmuServer) SQLQuery ¶ added in v1.0.0
func (s *ImmuServer) SQLQuery(ctx context.Context, req *schema.SQLQueryRequest) (*schema.SQLQueryResult, error)
func (*ImmuServer) Scan ¶
func (s *ImmuServer) Scan(ctx context.Context, req *schema.ScanRequest) (*schema.Entries, error)
Scan ...
func (*ImmuServer) SearchDocuments ¶ added in v1.5.0
func (s *ImmuServer) SearchDocuments(ctx context.Context, req *protomodel.SearchDocumentsRequest) (*protomodel.SearchDocumentsResponse, error)
func (*ImmuServer) ServerInfo ¶ added in v1.3.2
func (s *ImmuServer) ServerInfo(ctx context.Context, req *schema.ServerInfoRequest) (*schema.ServerInfoResponse, error)
ServerInfo returns information about the server instance.
func (*ImmuServer) SessionAuthInterceptor ¶ added in v1.2.0
func (s *ImmuServer) SessionAuthInterceptor(ctx context.Context, req interface{}, info *grpc.UnaryServerInfo, handler grpc.UnaryHandler) (interface{}, error)
func (*ImmuServer) Set ¶
func (s *ImmuServer) Set(ctx context.Context, kv *schema.SetRequest) (*schema.TxHeader, error)
Set ...
func (*ImmuServer) SetActiveUser ¶ added in v0.7.0
func (s *ImmuServer) SetActiveUser(ctx context.Context, r *schema.SetActiveUserRequest) (*empty.Empty, error)
SetActiveUser activate or deactivate a user
func (*ImmuServer) SetReference ¶ added in v0.9.0
func (s *ImmuServer) SetReference(ctx context.Context, req *schema.ReferenceRequest) (*schema.TxHeader, error)
SetReference ...
func (*ImmuServer) Start ¶
func (s *ImmuServer) Start() (err error)
Start starts the immudb server Loads and starts the System DB, default db and user db
func (*ImmuServer) StreamExecAll ¶ added in v0.9.2
func (s *ImmuServer) StreamExecAll(str schema.ImmuService_StreamExecAllServer) error
func (*ImmuServer) StreamExportTx ¶ added in v1.5.0
func (s *ImmuServer) StreamExportTx(stream schema.ImmuService_StreamExportTxServer) error
StreamExportTx implements the bidirectional streaming endpoint used to export transactions
func (*ImmuServer) StreamGet ¶ added in v0.9.2
func (s *ImmuServer) StreamGet(kr *schema.KeyRequest, str schema.ImmuService_StreamGetServer) error
StreamGet return a stream of key-values to the client
func (*ImmuServer) StreamHistory ¶ added in v0.9.2
func (s *ImmuServer) StreamHistory(request *schema.HistoryRequest, server schema.ImmuService_StreamHistoryServer) error
func (*ImmuServer) StreamScan ¶ added in v0.9.2
func (s *ImmuServer) StreamScan(req *schema.ScanRequest, str schema.ImmuService_StreamScanServer) error
func (*ImmuServer) StreamSet ¶ added in v0.9.2
func (s *ImmuServer) StreamSet(str schema.ImmuService_StreamSetServer) error
StreamSet set a stream of key-values in the internal store
func (*ImmuServer) StreamVerifiableGet ¶ added in v0.9.2
func (s *ImmuServer) StreamVerifiableGet(req *schema.VerifiableGetRequest, str schema.ImmuService_StreamVerifiableGetServer) error
StreamVerifiableGet ...
func (*ImmuServer) StreamVerifiableSet ¶ added in v0.9.2
func (s *ImmuServer) StreamVerifiableSet(str schema.ImmuService_StreamVerifiableSetServer) error
StreamVerifiableSet ...
func (*ImmuServer) StreamZScan ¶ added in v0.9.2
func (s *ImmuServer) StreamZScan(request *schema.ZScanRequest, server schema.ImmuService_StreamZScanServer) error
StreamZScan ...
func (*ImmuServer) TruncateDatabase ¶ added in v1.5.0
func (s *ImmuServer) TruncateDatabase(ctx context.Context, req *schema.TruncateDatabaseRequest) (res *schema.TruncateDatabaseResponse, err error)
func (*ImmuServer) TxSQLExec ¶ added in v1.2.0
func (s *ImmuServer) TxSQLExec(ctx context.Context, request *schema.SQLExecRequest) (*empty.Empty, error)
func (*ImmuServer) TxSQLQuery ¶ added in v1.2.0
func (s *ImmuServer) TxSQLQuery(ctx context.Context, request *schema.SQLQueryRequest) (*schema.SQLQueryResult, error)
func (*ImmuServer) TxScan ¶ added in v0.9.1
func (s *ImmuServer) TxScan(ctx context.Context, req *schema.TxScanRequest) (*schema.TxList, error)
TxScan ...
func (*ImmuServer) UnloadDatabase ¶ added in v1.2.3
func (s *ImmuServer) UnloadDatabase(ctx context.Context, req *schema.UnloadDatabaseRequest) (res *schema.UnloadDatabaseResponse, err error)
func (*ImmuServer) UpdateAuthConfig ¶
func (s *ImmuServer) UpdateAuthConfig(ctx context.Context, req *schema.AuthConfig) (*empty.Empty, error)
UpdateAuthConfig is DEPRECATED
func (*ImmuServer) UpdateCollection ¶ added in v1.5.0
func (s *ImmuServer) UpdateCollection(ctx context.Context, req *protomodel.UpdateCollectionRequest) (*protomodel.UpdateCollectionResponse, error)
func (*ImmuServer) UpdateDatabase ¶ added in v1.0.5
func (s *ImmuServer) UpdateDatabase(ctx context.Context, req *schema.DatabaseSettings) (*empty.Empty, error)
UpdateDatabase Updates database settings
func (*ImmuServer) UpdateDatabaseV2 ¶ added in v1.2.3
func (s *ImmuServer) UpdateDatabaseV2(ctx context.Context, req *schema.UpdateDatabaseRequest) (res *schema.UpdateDatabaseResponse, err error)
UpdateDatabaseV2 Updates database settings
func (*ImmuServer) UpdateMTLSConfig ¶
func (s *ImmuServer) UpdateMTLSConfig(ctx context.Context, req *schema.MTLSConfig) (*empty.Empty, error)
UpdateMTLSConfig is DEPRECATED
func (*ImmuServer) UseDatabase ¶ added in v0.7.0
func (s *ImmuServer) UseDatabase(ctx context.Context, req *schema.Database) (*schema.UseDatabaseReply, error)
UseDatabase ...
func (*ImmuServer) VerifiableGet ¶ added in v0.9.0
func (s *ImmuServer) VerifiableGet(ctx context.Context, req *schema.VerifiableGetRequest) (*schema.VerifiableEntry, error)
VerifiableGet ...
func (*ImmuServer) VerifiableSQLGet ¶ added in v1.0.0
func (s *ImmuServer) VerifiableSQLGet(ctx context.Context, req *schema.VerifiableSQLGetRequest) (*schema.VerifiableSQLEntry, error)
func (*ImmuServer) VerifiableSet ¶ added in v0.9.0
func (s *ImmuServer) VerifiableSet(ctx context.Context, req *schema.VerifiableSetRequest) (*schema.VerifiableTx, error)
VerifiableSet ...
func (*ImmuServer) VerifiableSetReference ¶ added in v0.9.0
func (s *ImmuServer) VerifiableSetReference(ctx context.Context, req *schema.VerifiableReferenceRequest) (*schema.VerifiableTx, error)
VerifibleSetReference ...
func (*ImmuServer) VerifiableTxById ¶ added in v0.9.0
func (s *ImmuServer) VerifiableTxById(ctx context.Context, req *schema.VerifiableTxRequest) (*schema.VerifiableTx, error)
VerifiableTxByID ...
func (*ImmuServer) VerifiableZAdd ¶ added in v0.9.0
func (s *ImmuServer) VerifiableZAdd(ctx context.Context, req *schema.VerifiableZAddRequest) (*schema.VerifiableTx, error)
VerifiableZAdd ...
func (*ImmuServer) WithDbList ¶ added in v1.4.0
func (s *ImmuServer) WithDbList(dbList database.DatabaseList) ImmuServerIf
WithDbList ...
func (*ImmuServer) WithLogger ¶
func (s *ImmuServer) WithLogger(logger logger.Logger) ImmuServerIf
WithLogger ...
func (*ImmuServer) WithOptions ¶
func (s *ImmuServer) WithOptions(options *Options) ImmuServerIf
WithOptions ...
func (*ImmuServer) WithPgsqlServer ¶ added in v1.0.0
func (s *ImmuServer) WithPgsqlServer(psrv pgsqlsrv.Server) ImmuServerIf
WithPgsqlServer ...
func (*ImmuServer) WithStateSigner ¶ added in v0.9.0
func (s *ImmuServer) WithStateSigner(stateSigner StateSigner) ImmuServerIf
WithStateSigner ...
func (*ImmuServer) WithStreamServiceFactory ¶ added in v0.9.2
func (s *ImmuServer) WithStreamServiceFactory(ssf stream.ServiceFactory) ImmuServerIf
func (*ImmuServer) ZAdd ¶
func (s *ImmuServer) ZAdd(ctx context.Context, req *schema.ZAddRequest) (*schema.TxHeader, error)
ZAdd ...
func (*ImmuServer) ZScan ¶
func (s *ImmuServer) ZScan(ctx context.Context, req *schema.ZScanRequest) (*schema.ZEntries, error)
ZScan ...
type ImmuServerIf ¶ added in v0.7.0
type ImmuServerIf interface { Initialize() error Start() error Stop() error WithOptions(options *Options) ImmuServerIf WithLogger(logger.Logger) ImmuServerIf WithStateSigner(stateSigner StateSigner) ImmuServerIf WithStreamServiceFactory(ssf stream.ServiceFactory) ImmuServerIf WithPgsqlServer(psrv pgsqlsrv.Server) ImmuServerIf WithDbList(dbList database.DatabaseList) ImmuServerIf }
type MetricsCollection ¶
type MetricsCollection struct { UptimeCounter prometheus.CounterFunc DBSizeGauges *prometheus.GaugeVec DBEntriesGauges *prometheus.GaugeVec RPCsPerClientCounters *prometheus.CounterVec LastMessageAtPerClientGauges *prometheus.GaugeVec RemoteStorageKind *prometheus.GaugeVec // contains filtered or unexported fields }
MetricsCollection immudb Prometheus metrics collection
func (*MetricsCollection) UpdateClientMetrics ¶
func (mc *MetricsCollection) UpdateClientMetrics(ctx context.Context)
UpdateClientMetrics ...
func (*MetricsCollection) UpdateDBMetrics ¶ added in v1.0.0
func (mc *MetricsCollection) UpdateDBMetrics()
UpdateDBMetrics ...
func (*MetricsCollection) WithComputeDBEntries ¶ added in v1.0.0
func (mc *MetricsCollection) WithComputeDBEntries(f func() map[string]float64)
WithComputeDBEntries ...
func (*MetricsCollection) WithComputeDBSizes ¶ added in v1.0.0
func (mc *MetricsCollection) WithComputeDBSizes(f func() map[string]float64)
WithComputeDBSizes ...
func (*MetricsCollection) WithUptimeCounter ¶
func (mc *MetricsCollection) WithUptimeCounter(f func() float64)
WithUptimeCounter ...
type Milliseconds ¶ added in v1.3.2
type Milliseconds int64
type Options ¶
type Options struct { Dir string Network string Address string Port int Config string Pidfile string Logfile string TLSConfig *tls.Config MaxRecvMsgSize int NoHistograms bool Detached bool MetricsServer bool MetricsServerPort int WebServer bool WebServerPort int DevMode bool AdminPassword string `json:"-"` ForceAdminPassword bool SigningKey string RemoteStorageOptions *RemoteStorageOptions StreamChunkSize int TokenExpiryTimeMin int PgsqlServer bool PgsqlServerPort int ReplicationOptions *ReplicationOptions SessionsOptions *sessions.Options PProf bool LogFormat string GRPCReflectionServerEnabled bool // contains filtered or unexported fields }
Options server options list
func (*Options) GetAuth ¶ added in v0.7.0
GetAuth gets auth Deprecated: GetAuth will be removed in future release
func (*Options) GetDefaultDBName ¶ added in v1.1.0
GetDefaultDBName returns the default database name
func (*Options) GetMaintenance ¶ added in v0.7.0
GetMaintenance gets maintenance mode
func (*Options) GetSystemAdminDBName ¶ added in v1.1.0
GetSystemAdminDBName returns the System database name
func (*Options) IsFileLogger ¶ added in v1.3.2
IsFileLogger returns if the log format is to a file
func (*Options) IsJSONLogger ¶ added in v1.3.2
IsJSONLogger returns if the log format is json
func (*Options) MetricsBind ¶
MetricsBind return metrics bind address
func (*Options) WithAddress ¶
WithAddress sets address
func (*Options) WithAdminPassword ¶ added in v0.6.2
WithAdminPassword ...
func (*Options) WithAuth ¶
WithAuth sets auth Deprecated: WithAuth will be removed in future release
func (*Options) WithConfig ¶
WithConfig sets config file name
func (*Options) WithDetached ¶
WithDetached sets immudb to be run in background
func (*Options) WithDevMode ¶ added in v0.6.2
WithDevMode ...
func (*Options) WithForceAdminPassword ¶ added in v1.4.1
WithForceAdminPassword ...
func (*Options) WithGRPCReflectionServerEnabled ¶ added in v1.5.0
func (*Options) WithListener ¶ added in v0.7.0
WithListener used usually to pass a bufered listener for testing purposes
func (*Options) WithLogFormat ¶ added in v1.3.2
func (*Options) WithLogfile ¶
WithLogfile sets logfile
func (*Options) WithMaintenance ¶ added in v0.7.0
WithMaintenance sets maintenance mode
func (*Options) WithMaxRecvMsgSize ¶ added in v0.8.1
func (*Options) WithMetricsServer ¶
WithMetricsServer ...
func (*Options) WithMetricsServerPort ¶ added in v1.3.1
MetricsPort set Prometheus end-point port
func (*Options) WithNetwork ¶
WithNetwork sets network
func (*Options) WithNoHistograms ¶
WithNoHistograms disables collection of histograms metrics (e.g. query durations)
func (*Options) WithPgsqlServer ¶ added in v1.0.0
PgsqlServerPort enable or disable pgsql server
func (*Options) WithPgsqlServerPort ¶ added in v1.0.0
PgsqlServerPort sets pgdsql server port
func (*Options) WithPidfile ¶
WithPidfile sets pid file
func (*Options) WithRemoteStorageOptions ¶ added in v1.0.5
func (o *Options) WithRemoteStorageOptions(remoteStorageOptions *RemoteStorageOptions) *Options
func (*Options) WithReplicationOptions ¶ added in v1.1.0
func (o *Options) WithReplicationOptions(replicationOptions *ReplicationOptions) *Options
func (*Options) WithSessionOptions ¶ added in v1.2.0
func (*Options) WithSigningKey ¶ added in v0.8.0
WithSigningKey sets signature private key
func (*Options) WithStreamChunkSize ¶ added in v0.9.2
WithStreamChunkSize set the chunk size
func (*Options) WithSynced ¶ added in v1.1.0
WithSynced sets synced mode
func (*Options) WithTokenExpiryTime ¶ added in v1.0.0
WithTokenExpiryTime set authentication token expiration time in minutes
func (*Options) WithWebServer ¶ added in v1.0.0
WithWebServer ...
func (*Options) WithWebServerPort ¶ added in v1.0.0
WithWebServerPort ...
type PIDFile ¶
PIDFile contains path of pid file
type RemoteStorageOptions ¶ added in v1.0.5
type RemoteStorageOptions struct { S3Storage bool S3Endpoint string S3AccessKeyID string S3SecretKey string `json:"-"` S3BucketName string S3Location string S3PathPrefix string }
func DefaultRemoteStorageOptions ¶ added in v1.0.5
func DefaultRemoteStorageOptions() *RemoteStorageOptions
func (*RemoteStorageOptions) WithS3AccessKeyID ¶ added in v1.0.5
func (opts *RemoteStorageOptions) WithS3AccessKeyID(s3AccessKeyID string) *RemoteStorageOptions
func (*RemoteStorageOptions) WithS3BucketName ¶ added in v1.0.5
func (opts *RemoteStorageOptions) WithS3BucketName(s3BucketName string) *RemoteStorageOptions
func (*RemoteStorageOptions) WithS3Endpoint ¶ added in v1.0.5
func (opts *RemoteStorageOptions) WithS3Endpoint(s3Endpoint string) *RemoteStorageOptions
func (*RemoteStorageOptions) WithS3Location ¶ added in v1.2.2
func (opts *RemoteStorageOptions) WithS3Location(s3Location string) *RemoteStorageOptions
func (*RemoteStorageOptions) WithS3PathPrefix ¶ added in v1.0.5
func (opts *RemoteStorageOptions) WithS3PathPrefix(s3PathPrefix string) *RemoteStorageOptions
func (*RemoteStorageOptions) WithS3SecretKey ¶ added in v1.0.5
func (opts *RemoteStorageOptions) WithS3SecretKey(s3SecretKey string) *RemoteStorageOptions
func (*RemoteStorageOptions) WithS3Storage ¶ added in v1.0.5
func (opts *RemoteStorageOptions) WithS3Storage(S3Storage bool) *RemoteStorageOptions
type ReplicationOptions ¶ added in v1.1.0
type ReplicationOptions struct { IsReplica bool SyncReplication bool SyncAcks int // only if !IsReplica && SyncReplication PrimaryHost string // only if IsReplica PrimaryPort int // only if IsReplica PrimaryUsername string // only if IsReplica PrimaryPassword string // only if IsReplica PrefetchTxBufferSize int // only if IsReplica ReplicationCommitConcurrency int // only if IsReplica AllowTxDiscarding bool // only if IsReplica SkipIntegrityCheck bool // only if IsReplica WaitForIndexing bool // only if IsReplica }
func DefaultReplicationOptions ¶ added in v1.5.0
func DefaultReplicationOptions() *ReplicationOptions
func (*ReplicationOptions) WithAllowTxDiscarding ¶ added in v1.4.0
func (opts *ReplicationOptions) WithAllowTxDiscarding(allowTxDiscarding bool) *ReplicationOptions
func (*ReplicationOptions) WithIsReplica ¶ added in v1.4.0
func (opts *ReplicationOptions) WithIsReplica(isReplica bool) *ReplicationOptions
func (*ReplicationOptions) WithPrefetchTxBufferSize ¶ added in v1.4.0
func (opts *ReplicationOptions) WithPrefetchTxBufferSize(prefetchTxBufferSize int) *ReplicationOptions
func (*ReplicationOptions) WithPrimaryHost ¶ added in v1.4.1
func (opts *ReplicationOptions) WithPrimaryHost(primaryHost string) *ReplicationOptions
func (*ReplicationOptions) WithPrimaryPassword ¶ added in v1.4.1
func (opts *ReplicationOptions) WithPrimaryPassword(primaryPassword string) *ReplicationOptions
func (*ReplicationOptions) WithPrimaryPort ¶ added in v1.4.1
func (opts *ReplicationOptions) WithPrimaryPort(primaryPort int) *ReplicationOptions
func (*ReplicationOptions) WithPrimaryUsername ¶ added in v1.4.1
func (opts *ReplicationOptions) WithPrimaryUsername(primaryUsername string) *ReplicationOptions
func (*ReplicationOptions) WithReplicationCommitConcurrency ¶ added in v1.4.0
func (opts *ReplicationOptions) WithReplicationCommitConcurrency(replicationCommitConcurrency int) *ReplicationOptions
func (*ReplicationOptions) WithSkipIntegrityCheck ¶ added in v1.5.0
func (opts *ReplicationOptions) WithSkipIntegrityCheck(skipIntegrityCheck bool) *ReplicationOptions
func (*ReplicationOptions) WithSyncAcks ¶ added in v1.4.0
func (opts *ReplicationOptions) WithSyncAcks(syncAcks int) *ReplicationOptions
func (*ReplicationOptions) WithSyncReplication ¶ added in v1.4.0
func (opts *ReplicationOptions) WithSyncReplication(syncReplication bool) *ReplicationOptions
func (*ReplicationOptions) WithWaitForIndexing ¶ added in v1.5.0
func (opts *ReplicationOptions) WithWaitForIndexing(waitForIndexingç bool) *ReplicationOptions
type StateSigner ¶ added in v0.9.0
type StateSigner interface {
Sign(state *schema.ImmutableState) error
}
type UUIDContext ¶
type UUIDContext interface { UUIDStreamContextSetter(srv interface{}, ss grpc.ServerStream, info *grpc.StreamServerInfo, handler grpc.StreamHandler) error UUIDContextSetter(ctx context.Context, req interface{}, info *grpc.UnaryServerInfo, handler grpc.UnaryHandler) (interface{}, error) }
UUIDContext manage UUID context
type VersionResponse ¶ added in v1.0.5
type VersionResponse struct { Component string `json:"component" example:"immudb"` Version string `json:"version" example:"1.0.1-c9c6495"` BuildTime string `json:"buildtime" example:"1604692129"` BuiltBy string `json:"builtby,omitempty"` Static bool `json:"static"` FIPS bool `json:"fips"` }
VersionResponse ...
var Version VersionResponse
Source Files ¶
- authorization_operations.go
- corruption_checker.go
- db_dummy_closed.go
- db_operations.go
- db_options.go
- documents_operations.go
- error_mapper_interceptor.go
- errors.go
- keepAlive.go
- keep_alive_session_interceptor.go
- metrics.go
- metrics_funcs.go
- multidb_handler.go
- options.go
- pid.go
- remote_storage.go
- server.go
- service.go
- session.go
- session_auth_interceptor.go
- sql.go
- state_signer.go
- stream_replication.go
- streams.go
- transaction.go
- truncator.go
- types.go
- user.go
- uuid.go
- webserver.go