package
4.2.1-rc.1+incompatible
Repository: https://github.com/marshall-lee/teleport.git
Documentation: pkg.go.dev

# Packages

Package dynamodbDynamoDBBackend implements DynamoDB storage backend for Teleport auth service, similar to etcd backend.
Package etcdbk implements Etcd powered backend.
Package firestoreFirestoreBackend implements Firestore storage backend for Teleport auth service, similar to DynamoDB backend.
Package lite implements SQLite backend used for local persistent caches in proxies and nodes and for standalone auth service deployments.
Package memory implements backend interface using a combination of Minheap (to store expiring items) and B-Tree for storing sorted dictionary of items.
Package test contains a backend acceptance test suite that is backend implementation independent each backend will use the suite to test itself.

# Functions

AcquireLock grabs a lock that will be released automatically in TTL.
EarliestExpiry returns first of the otherwise returns empty.
Expiry converts ttl to expiry time, if ttl is 0 returns empty time.
Key joins parts into path separated by Separator, makes sure path always starts with Separator ("/").
NewCircularBuffer returns a new instance of circular buffer.
NewReporter returns a new Reporter.
NewReporterWatcher creates new reporter watcher instance.
NewSanitizer returns a new Sanitizer.
NewWrapper returns a new Wrapper.
RangeEnd returns end of the range for given key.
ReleaseLock forces lock release.
TTL returns TTL in duration units, rounds up to one second.

# Constants

DefaultBufferSize is a default circular buffer size used by backends to fan out events.
DefaultEventsTTL is a default events TTL period.
DefaultLargeLimit is used to specify some very large limit when limit is not specified explicitly to prevent OOM.
DefaultPollStreamPeriod is a default event poll stream period.
Forever means that object TTL will not expire unless deleted.
NoLimit specifies no limits.
OpDelete is returned for Delete events.
OpGet is used for tracking, not present in the event stream.
OpInit is returned by the system whenever the system is initialized, init operation is always sent as a first event over the channel, so the client can verify that watch has been established.
OpPut is returned for Put events.
Separator is used as a separator between key parts.

# Structs

BufferWatcher is a watcher connected to the buffer and receiving fan-out events from the watcher.
CircularBuffer implements in-memory circular buffer of predefined size, that is capable of fan-out of the backend events.
Config is used for 'storage' config section.
Event is a event containing operation with item.
GetResult provides the result of GetRange request.
Item is a key value item.
Lease represents a lease on the item that can be used to extend item's TTL without updating its contents.
Reporter wraps a Backend implementation and reports statistics about the backend operations.
ReporterConfig configures reporter wrapper.
ReporterWatcher is a wrapper around backend watcher that reports events.
Sanitizer wraps a Backend implementation to make sure all values requested of the backend are whitelisted.
Watch specifies watcher parameters.
Wrapper wraps a Backend implementation that can fail on demand.

# Interfaces

Backend implements abstraction over local or remote storage backend.
Batch implements some batch methods that are not mandatory for all interfaces, only the ones used in bulk operations.
Watcher returns watcher.

# Type aliases

Items is a sortable list of backend items.
OpType specifies operation type.
Params type defines a flexible unified back-end configuration API.