metadata

package
v0.5.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 17, 2023 License: Apache-2.0 Imports: 13 Imported by: 0

Documentation

Overview

Package metadata implements a Raft-based distributed metadata storage system. Powered by etcd.

Index

Constants

View Source
const (
	// DefaultNamespace is the default namespace of the metadata stored in etcd.
	DefaultNamespace = "banyandb"
)

Variables

This section is empty.

Functions

This section is empty.

Types

type IndexFilter

type IndexFilter interface {
	// IndexRules fetches v1.IndexRule by subject defined in IndexRuleBinding
	IndexRules(ctx context.Context, subject *commonv1.Metadata) ([]*databasev1.IndexRule, error)
	// Subjects fetches Subject(s) by index rule
	Subjects(ctx context.Context, indexRule *databasev1.IndexRule, catalog commonv1.Catalog) ([]schema.Spec, error)
}

IndexFilter provides methods to find a specific index related objects and vice versa.

type Repo

type Repo interface {
	IndexFilter
	StreamRegistry() schema.Stream
	IndexRuleRegistry() schema.IndexRule
	IndexRuleBindingRegistry() schema.IndexRuleBinding
	MeasureRegistry() schema.Measure
	GroupRegistry() schema.Group
	TopNAggregationRegistry() schema.TopNAggregation
	PropertyRegistry() schema.Property
	RegisterHandler(string, schema.Kind, schema.EventHandler)
}

Repo is the facade to interact with the metadata repository.

type Service

type Service interface {
	Repo
	run.PreRunner
	run.Service
	run.Config
	SchemaRegistry() schema.Registry
}

Service is the metadata repository.

func NewClient added in v0.5.0

func NewClient(forceRegisterNode bool) (Service, error)

NewClient returns a new metadata client.

func NewService

func NewService(_ context.Context) (Service, error)

NewService returns a new metadata repository Service.

Directories

Path Synopsis
Package embeddedetcd implements an embedded etcd server.
Package embeddedetcd implements an embedded etcd server.
Package schema implements CRUD schema.
Package schema implements CRUD schema.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL