Documentation
¶
Index ¶
- Constants
- Variables
- func BuildToken(database string, token string) []byte
- func NewHomedirService() *homedirService
- type HomedirService
- type ImmuClient
- type MTLsOptions
- type Options
- func (o *Options) Bind() string
- func (o *Options) String() string
- func (o *Options) WithAddress(address string) *Options
- func (o *Options) WithAuth(authEnabled bool) *Options
- func (o *Options) WithConfig(config string) *Options
- func (o *Options) WithDialOptions(dialOptions *[]grpc.DialOption) *Options
- func (o *Options) WithDir(dir string) *Options
- func (o *Options) WithHealthCheckRetries(retries int) *Options
- func (o *Options) WithLogFileName(filename string) *Options
- func (o *Options) WithMTLs(MTLs bool) *Options
- func (o *Options) WithMTLsOptions(MTLsOptions MTLsOptions) *Options
- func (o *Options) WithMaxRecvMsgSize(maxRecvMsgSize int) *Options
- func (o *Options) WithMetrics(start bool) *Options
- func (o *Options) WithPasswordReader(pr c.PasswordReader) *Options
- func (o *Options) WithPidPath(path string) *Options
- func (o *Options) WithPort(port int) *Options
- func (o *Options) WithPrometheusHost(host string) *Options
- func (o *Options) WithPrometheusPort(port string) *Options
- func (o *Options) WithTokenFileName(tokenFileName string) *Options
- func (o *Options) WithTokenService(tkns TokenService) *Options
- type TimestampService
- type TokenService
Constants ¶
const AdminTokenFileSuffix = "_admin"
AdminTokenFileSuffix is the suffix used for the token file name
Variables ¶
var ( ErrIllegalArguments = errors.New("illegal arguments") ErrAlreadyConnected = errors.New("already connected") ErrNotConnected = errors.New("not connected") ErrHealthCheckFailed = errors.New("health check failed") )
Errors related to Client connection and health check
Functions ¶
func BuildToken ¶ added in v0.7.0
func NewHomedirService ¶ added in v0.7.0
func NewHomedirService() *homedirService
Types ¶
type HomedirService ¶ added in v0.7.0
type ImmuClient ¶
type ImmuClient interface { Disconnect() error IsConnected() bool WaitForHealthCheck(ctx context.Context) (err error) HealthCheck(ctx context.Context) error Connect(ctx context.Context) (clientConn *grpc.ClientConn, err error) Login(ctx context.Context, user []byte, pass []byte) (*schema.LoginResponse, error) Logout(ctx context.Context) error CreateUser(ctx context.Context, user []byte, pass []byte, permission uint32, databasename string) error ListUsers(ctx context.Context) (*schema.UserList, error) ChangePassword(ctx context.Context, user []byte, oldPass []byte, newPass []byte) error ChangePermission(ctx context.Context, action schema.PermissionAction, username string, database string, permissions uint32) error UpdateAuthConfig(ctx context.Context, kind auth.Kind) error UpdateMTLSConfig(ctx context.Context, enabled bool) error PrintTree(ctx context.Context) (*schema.Tree, error) WithOptions(options *Options) *immuClient WithLogger(logger logger.Logger) *immuClient WithStateService(rs state.StateService) *immuClient WithTimestampService(ts TimestampService) *immuClient WithClientConn(clientConn *grpc.ClientConn) *immuClient WithServiceClient(serviceClient schema.ImmuServiceClient) *immuClient WithTokenService(tokenService TokenService) *immuClient GetServiceClient() *schema.ImmuServiceClient GetOptions() *Options SetupDialOptions(options *Options) *[]grpc.DialOption DatabaseList(ctx context.Context) (*schema.DatabaseListResponse, error) CreateDatabase(ctx context.Context, d *schema.Database) error UseDatabase(ctx context.Context, d *schema.Database) (*schema.UseDatabaseReply, error) SetActiveUser(ctx context.Context, u *schema.SetActiveUserRequest) error CurrentState(ctx context.Context) (*schema.ImmutableState, error) Set(ctx context.Context, key []byte, value []byte) (*schema.TxMetadata, error) VerifiedSet(ctx context.Context, key []byte, value []byte) (*schema.TxMetadata, error) Get(ctx context.Context, key []byte) (*schema.Entry, error) VerifiedGet(ctx context.Context, key []byte, opts ...grpc.CallOption) (*schema.Entry, error) GetSince(ctx context.Context, key []byte, tx uint64) (*schema.Entry, error) History(ctx context.Context, req *schema.HistoryRequest) (*schema.Entries, error) ZAdd(ctx context.Context, set []byte, score float64, key []byte) (*schema.TxMetadata, error) VerifiedZAdd(ctx context.Context, set []byte, score float64, key []byte) (*schema.TxMetadata, error) ZAddAt(ctx context.Context, set []byte, score float64, key []byte, atTx uint64) (*schema.TxMetadata, error) VerifiedZAddAt(ctx context.Context, set []byte, score float64, key []byte, atTx uint64) (*schema.TxMetadata, error) Scan(ctx context.Context, req *schema.ScanRequest) (*schema.Entries, error) ZScan(ctx context.Context, req *schema.ZScanRequest) (*schema.ZEntries, error) TxByID(ctx context.Context, tx uint64) (*schema.Tx, error) VerifiedTxByID(ctx context.Context, tx uint64) (*schema.Tx, error) Count(ctx context.Context, prefix []byte) (*schema.EntryCount, error) CountAll(ctx context.Context) (*schema.EntryCount, error) SetAll(ctx context.Context, kvList *schema.SetRequest) (*schema.TxMetadata, error) GetAll(ctx context.Context, keys [][]byte) (*schema.Entries, error) ExecAll(ctx context.Context, in *schema.ExecAllRequest) (*schema.TxMetadata, error) SetReference(ctx context.Context, key []byte, referencedKey []byte) (*schema.TxMetadata, error) VerifiedSetReference(ctx context.Context, key []byte, referencedKey []byte) (*schema.TxMetadata, error) SetReferenceAt(ctx context.Context, key []byte, referencedKey []byte, atTx uint64) (*schema.TxMetadata, error) VerifiedSetReferenceAt(ctx context.Context, key []byte, referencedKey []byte, atTx uint64) (*schema.TxMetadata, error) Dump(ctx context.Context, writer io.WriteSeeker) (int64, error) // DEPRECATED: Please use CurrentState CurrentRoot(ctx context.Context) (*schema.ImmutableState, error) // DEPRECATED: Please use VerifiedSet SafeSet(ctx context.Context, key []byte, value []byte) (*schema.TxMetadata, error) // DEPRECATED: Please use VerifiedGet SafeGet(ctx context.Context, key []byte, opts ...grpc.CallOption) (*schema.Entry, error) // DEPRECATED: Please use VerifiedZAdd SafeZAdd(ctx context.Context, set []byte, score float64, key []byte) (*schema.TxMetadata, error) // DEPRECATED: Please use VerifiedSetRefrence SafeReference(ctx context.Context, key []byte, referencedKey []byte) (*schema.TxMetadata, error) }
ImmuClient ...
func NewImmuClient ¶
func NewImmuClient(options *Options) (c ImmuClient, err error)
NewImmuClient ...
type MTLsOptions ¶
MTLsOptions mTLS options
func DefaultMTLsOptions ¶
func DefaultMTLsOptions() MTLsOptions
DefaultMTLsOptions returns the default mTLS options
func (MTLsOptions) WithCertificate ¶
func (o MTLsOptions) WithCertificate(certificate string) MTLsOptions
WithCertificate ...
func (MTLsOptions) WithClientCAs ¶
func (o MTLsOptions) WithClientCAs(clientCAs string) MTLsOptions
WithClientCAs ...
func (MTLsOptions) WithServername ¶
func (o MTLsOptions) WithServername(servername string) MTLsOptions
WithServername ...
type Options ¶
type Options struct { Dir string Address string Port int HealthCheckRetries int MTLs bool MTLsOptions MTLsOptions Auth bool MaxRecvMsgSize int DialOptions *[]grpc.DialOption Config string TokenFileName string CurrentDatabase string PasswordReader c.PasswordReader Tkns TokenService Metrics bool PidPath string PrometheusHost string PrometheusPort string LogFileName string }
Options client options
func (*Options) WithAddress ¶
WithAddress sets address
func (*Options) WithConfig ¶
WithConfig sets config file name
func (*Options) WithDialOptions ¶
func (o *Options) WithDialOptions(dialOptions *[]grpc.DialOption) *Options
WithDialOptions sets dialOptions
func (*Options) WithHealthCheckRetries ¶
WithHealthCheckRetries sets healt check retries
func (*Options) WithLogFileName ¶ added in v0.7.0
WithLogFileName set log file name
func (*Options) WithMTLsOptions ¶
func (o *Options) WithMTLsOptions(MTLsOptions MTLsOptions) *Options
WithMTLsOptions sets MTLsOptions
func (*Options) WithMaxRecvMsgSize ¶ added in v0.8.1
MaxRecvMsgSize max recv msg size in bytes
func (*Options) WithMetrics ¶ added in v0.7.0
WithMetrics set if metrics should start
func (*Options) WithPasswordReader ¶ added in v0.7.0
func (o *Options) WithPasswordReader(pr c.PasswordReader) *Options
WithPasswordReader sets the password reader for the client
func (*Options) WithPidPath ¶ added in v0.7.0
WithPidPath set pid file path
func (*Options) WithPrometheusHost ¶ added in v0.7.0
WithPrometheusHost set prometheus host
func (*Options) WithPrometheusPort ¶ added in v0.7.0
WithPrometheusPort set prometheus port
func (*Options) WithTokenFileName ¶
WithTokenFileName sets token file name
func (*Options) WithTokenService ¶ added in v0.7.0
func (o *Options) WithTokenService(tkns TokenService) *Options
WithTokenService sets the TokenService for the client
type TimestampService ¶
TimestampService the timestamp service interface
func NewTimestampService ¶
func NewTimestampService(ts timestamp.TsGenerator) TimestampService
NewTimestampService ...
type TokenService ¶ added in v0.7.0
type TokenService interface { SetToken(database string, token string) error WithHds(hds HomedirService) TokenService WithTokenFileName(tfn string) TokenService IsTokenPresent() (bool, error) DeleteToken() error GetToken() (string, error) GetDatabase() (string, error) }