Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Agent ¶ added in v0.12.0
type Agent struct { // ID is the Agent's SPIFFE ID. ID spiffeid.ID // Selectors is the Agent's selectors. Selectors []*types.Selector }
Agent represents the association of selectors to an agent SPIFFE ID.
type AgentIterator ¶ added in v0.12.0
type AgentIterator interface { // Next returns true if there are any remaining agents in the data source and returns false otherwise. Next(ctx context.Context) bool // Agent returns the next agent from the data source. Agent() Agent // Err returns an error encountered when attempting to process agents from the data source. Err() error }
AgentIterator is used to iterate through Agent selectors from a data source. The usage pattern of the iterator is as follows:
for it.Next() { agent := it.Agent() // process agent } if it.Err() { // handle error }
type Cache ¶ added in v0.12.0
Cache contains a snapshot of all registration entries and Agent selectors from the data source at a particular moment in time.
type EntryIterator ¶ added in v0.12.0
type EntryIterator interface { // Next returns true if there are any remaining registration entries in the data source and returns false otherwise. Next(ctx context.Context) bool // Entry returns the next entry from the data source. Entry() *types.Entry // Err returns an error encountered when attempting to process entries from the data source. Err() error }
EntryIterator is used to iterate through registration entries from a data source. The usage pattern of the iterator is as follows:
for it.Next() { entry := it.Entry() // process entry } if it.Err() { // handle error }
type FullEntryCache ¶ added in v0.12.0
type FullEntryCache struct {
// contains filtered or unexported fields
}
func Build ¶ added in v0.12.0
func Build(ctx context.Context, entryIter EntryIterator, agentIter AgentIterator) (*FullEntryCache, error)
Build queries the data source for all registration entries and Agent selectors and builds an in-memory representation of the data that can be used for efficient lookups.
func BuildFromDataStore ¶ added in v0.12.0
BuildFromDataStore builds a Cache using the provided datastore as the data source
func (*FullEntryCache) GetAuthorizedEntries ¶ added in v0.12.0
func (c *FullEntryCache) GetAuthorizedEntries(agentID spiffeid.ID) []*types.Entry
GetAuthorizedEntries gets all authorized registration entries for a given Agent SPIFFE ID.