Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
View Source
var (
ErrNotFound = errors.New("not found")
)
Functions ¶
func NewMemoryBackend ¶ added in v0.5.0
func NewMemoryBackend() *memoryBackend
Types ¶
type Backend ¶ added in v0.5.0
type Backend interface {
GetGateway(ctx context.Context, id core.GatewayID) ([]byte, error)
ListGateways(ctx context.Context) ([][]byte, error)
DeleteGateway(ctx context.Context, id core.GatewayID) error
UpsertGateways(ctx context.Context, gateways ...GatewayRecord) error
GetRoute(ctx context.Context, id string) ([]byte, error)
ListRoutes(ctx context.Context) ([][]byte, error)
DeleteRoute(ctx context.Context, id string) error
UpsertRoutes(ctx context.Context, routes ...RouteRecord) error
}
Backend is used for persisting and querying gateways and routes
type CompareResult ¶
type CompareResult int
type Config ¶ added in v0.5.0
type Config struct {
Adapter core.SyncAdapter
Backend Backend
Binder Binder
Logger hclog.Logger
Marshaler Marshaler
StatusUpdater StatusUpdater
}
type Gateway ¶
type Gateway interface {
ID() core.GatewayID
Resolve() core.ResolvedGateway
CanFetchSecrets(secrets []string) (bool, error)
}
Gateway describes a gateway.
type GatewayRecord ¶ added in v0.5.0
GatewayRecord represents a serialized Gateway
type Route ¶
type Route interface {
ID() string
}
Route should be implemented by all route source integrations
type RouteRecord ¶ added in v0.5.0
RouteRecord represents a serialized Route
type StatusUpdater ¶ added in v0.5.0
type Store ¶
type Store interface {
ReadStore
WriteStore
}
Store is used for persisting and querying gateways and routes
type WriteStore ¶ added in v0.5.0
type WriteStore interface {
UpsertGateway(ctx context.Context, gateway Gateway, updateConditionFn func(current Gateway) bool) error
DeleteGateway(ctx context.Context, id core.GatewayID) error
UpsertRoute(ctx context.Context, route Route, updateConditionFn func(current Route) bool) error
DeleteRoute(ctx context.Context, id string) error
SyncAllAtInterval(ctx context.Context)
}
Click to show internal directories.
Click to hide internal directories.