db

package
v0.23.17 Latest Latest
Warning

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

Go to latest
Published: May 19, 2023 License: Apache-2.0 Imports: 18 Imported by: 4

Documentation

Index

Constants

View Source
const (
	RootBucket     = "ziti"
	MetadataBucket = "metadata"
)
View Source
const (
	FieldServiceEgress   = "egress"
	FieldServiceBinding  = "binding"
	FieldServiceEndpoint = "endpoint"
)
View Source
const (
	EntityTypeRouters      = "routers"
	FieldRouterFingerprint = "fingerprint"
	FieldRouterCost        = "cost"
	FieldRouterNoTraversal = "noTraversal"
	FieldRouterDisabled    = "disabled"
)
View Source
const (
	EntityTypeServices             = "services"
	FieldServiceTerminatorStrategy = "terminatorStrategy"
)
View Source
const (
	EntityTypeTerminators         = "terminators"
	FieldTerminatorService        = "service"
	FieldTerminatorRouter         = "router"
	FieldTerminatorBinding        = "binding"
	FieldTerminatorAddress        = "address"
	FieldTerminatorInstanceId     = "instanceId"
	FieldTerminatorInstanceSecret = "instanceSecret"
	FieldTerminatorCost           = "cost"
	FieldTerminatorPrecedence     = "precedence"
	FieldServerPeerData           = "peerData"
	FieldTerminatorHostId         = "hostId"
)
View Source
const CurrentDbVersion = 5
View Source
const (
	FieldName = "name"
)

Variables

This section is empty.

Functions

func NewStoreDefinition added in v0.23.0

func NewStoreDefinition[E boltz.ExtEntity](strategy boltz.EntityStrategy[E]) boltz.StoreDefinition[E]

func Open

func Open(path string) (boltz.Db, error)

Types

type Router

type Router struct {
	boltz.BaseExtEntity
	Name        string  `json:"name"`
	Fingerprint *string `json:"fingerprint"`
	Cost        uint16  `json:"cost"`
	NoTraversal bool    `json:"noTraversal"`
	Disabled    bool    `json:"disabled"`
}

func (*Router) GetEntityType

func (entity *Router) GetEntityType() string

type RouterStore

type RouterStore interface {
	boltz.EntityStore[*Router]
	boltz.EntityStrategy[*Router]
	GetNameIndex() boltz.ReadIndex
	FindByName(tx *bbolt.Tx, id string) (*Router, error)
}

type Service

type Service struct {
	boltz.BaseExtEntity
	Name               string `json:"name"`
	TerminatorStrategy string `json:"terminatorStrategy"`
}

func (*Service) GetEntityType

func (entity *Service) GetEntityType() string

func (*Service) GetName added in v0.23.0

func (entity *Service) GetName() string

type ServiceStore

type ServiceStore interface {
	boltz.EntityStore[*Service]
	boltz.EntityStrategy[*Service]
	GetNameIndex() boltz.ReadIndex
	FindByName(tx *bbolt.Tx, name string) (*Service, error)
}

type Stores

type Stores struct {
	Terminator TerminatorStore
	Router     RouterStore
	Service    ServiceStore
	// contains filtered or unexported fields
}

func InitStores

func InitStores(db boltz.Db) (*Stores, error)

func (*Stores) AddCheckable added in v0.17.62

func (store *Stores) AddCheckable(checkable boltz.Checkable)

func (*Stores) CheckIntegrity added in v0.17.62

func (stores *Stores) CheckIntegrity(db boltz.Db, ctx context.Context, fix bool, errorHandler func(error, bool)) error

func (*Stores) CheckIntegrityInTx added in v0.17.62

func (stores *Stores) CheckIntegrityInTx(db boltz.Db, ctx boltz.MutateContext, fix bool, errorHandler func(error, bool)) error

func (*Stores) GetStoreForEntity

func (stores *Stores) GetStoreForEntity(entity boltz.Entity) boltz.Store

func (*Stores) GetStoreForEntityType added in v0.18.0

func (stores *Stores) GetStoreForEntityType(entityType string) boltz.Store

func (*Stores) GetStoreList

func (stores *Stores) GetStoreList() []boltz.Store

type Terminator

type Terminator struct {
	boltz.BaseExtEntity
	Service        string      `json:"service"`
	Router         string      `json:"router"`
	Binding        string      `json:"binding"`
	Address        string      `json:"address"`
	InstanceId     string      `json:"instanceId"`
	InstanceSecret []byte      `json:"instanceSecret"`
	Cost           uint16      `json:"cost"`
	Precedence     string      `json:"precedence"`
	PeerData       xt.PeerData `json:"peerData"`
	HostId         string      `json:"hostId"`
}

func (*Terminator) GetAddress

func (entity *Terminator) GetAddress() string

func (*Terminator) GetBinding

func (entity *Terminator) GetBinding() string

func (*Terminator) GetCost

func (entity *Terminator) GetCost() uint16

func (*Terminator) GetEntityType

func (entity *Terminator) GetEntityType() string

func (*Terminator) GetHostId added in v0.20.0

func (entity *Terminator) GetHostId() string

func (*Terminator) GetInstanceId added in v0.19.0

func (entity *Terminator) GetInstanceId() string

func (*Terminator) GetInstanceSecret added in v0.19.0

func (entity *Terminator) GetInstanceSecret() []byte

func (*Terminator) GetPeerData

func (entity *Terminator) GetPeerData() xt.PeerData

func (*Terminator) GetPrecedence added in v0.17.0

func (entity *Terminator) GetPrecedence() xt.Precedence

func (*Terminator) GetRouterId

func (entity *Terminator) GetRouterId() string

func (*Terminator) GetServiceId

func (entity *Terminator) GetServiceId() string

type TerminatorStore

type TerminatorStore interface {
	boltz.EntityStore[*Terminator]
	GetTerminatorsInIdentityGroup(tx *bbolt.Tx, terminatorId string) ([]*Terminator, error)
}

type TestContext

type TestContext struct {
	*boltztest.BaseTestContext
	// contains filtered or unexported fields
}

func NewTestContext

func NewTestContext(t testing.TB) *TestContext

func (*TestContext) GetStoreForEntity

func (ctx *TestContext) GetStoreForEntity(entity boltz.Entity) boltz.Store

func (*TestContext) Init

func (ctx *TestContext) Init()

Jump to

Keyboard shortcuts

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