Versions in this module Expand all Collapse all v1 v1.0.2 May 18, 2023 Changes in this version + const DefaultSVIDCacheMaxSize + const SVIDSyncInterval + type Bundle = bundleutil.Bundle + type BundleCache struct + func NewBundleCache(trustDomain spiffeid.TrustDomain, bundle *Bundle) *BundleCache + func (c *BundleCache) Bundle() *Bundle + func (c *BundleCache) Bundles() map[spiffeid.TrustDomain]*Bundle + func (c *BundleCache) SubscribeToBundleChanges() *BundleStream + func (c *BundleCache) Update(bundles map[spiffeid.TrustDomain]*Bundle) + type BundleStream struct + func NewBundleStream(stream observer.Stream) *BundleStream + func (b *BundleStream) Changes() chan struct{} + func (b *BundleStream) Clone() *BundleStream + func (b *BundleStream) HasNext() bool + func (b *BundleStream) Next() map[spiffeid.TrustDomain]*Bundle + func (b *BundleStream) Value() map[spiffeid.TrustDomain]*Bundle + func (b *BundleStream) WaitNext() map[spiffeid.TrustDomain]*Bundle + type Cache struct + func New(log logrus.FieldLogger, trustDomain spiffeid.TrustDomain, bundle *Bundle, ...) *Cache + func (c *Cache) CountSVIDs() int + func (c *Cache) Entries() []*common.RegistrationEntry + func (c *Cache) FetchWorkloadUpdate(selectors []*common.Selector) *WorkloadUpdate + func (c *Cache) GetStaleEntries() []*StaleEntry + func (c *Cache) Identities() []Identity + func (c *Cache) MatchingIdentities(selectors []*common.Selector) []Identity + func (c *Cache) MatchingRegistrationEntries(selectors []*common.Selector) []*common.RegistrationEntry + func (c *Cache) SubscribeToWorkloadUpdates(ctx context.Context, selectors Selectors) (Subscriber, error) + func (c *Cache) SyncSVIDsWithSubscribers() + func (c *Cache) UpdateEntries(update *UpdateEntries, ...) + func (c *Cache) UpdateSVIDs(update *UpdateSVIDs) + type Identity struct + Entry *common.RegistrationEntry + PrivateKey crypto.Signer + SVID []*x509.Certificate + type JWTSVIDCache struct + func NewJWTSVIDCache() *JWTSVIDCache + func (c *JWTSVIDCache) GetJWTSVID(spiffeID spiffeid.ID, audience []string) (*client.JWTSVID, bool) + func (c *JWTSVIDCache) SetJWTSVID(spiffeID spiffeid.ID, audience []string, svid *client.JWTSVID) + type LRUCache struct + func NewLRUCache(log logrus.FieldLogger, trustDomain spiffeid.TrustDomain, bundle *Bundle, ...) *LRUCache + func (c *LRUCache) CountSVIDs() int + func (c *LRUCache) Entries() []*common.RegistrationEntry + func (c *LRUCache) FetchWorkloadUpdate(selectors []*common.Selector) *WorkloadUpdate + func (c *LRUCache) GetStaleEntries() []*StaleEntry + func (c *LRUCache) Identities() []Identity + func (c *LRUCache) MatchingRegistrationEntries(selectors []*common.Selector) []*common.RegistrationEntry + func (c *LRUCache) NewSubscriber(selectors []*common.Selector) Subscriber + func (c *LRUCache) Notify(selectors []*common.Selector) bool + func (c *LRUCache) SubscribeToWorkloadUpdates(ctx context.Context, selectors Selectors) (Subscriber, error) + func (c *LRUCache) SyncSVIDsWithSubscribers() + func (c *LRUCache) UpdateEntries(update *UpdateEntries, ...) + func (c *LRUCache) UpdateSVIDs(update *UpdateSVIDs) + type Selectors []*common.Selector + type StaleEntry struct + Entry *common.RegistrationEntry + ExpiresAt time.Time + type Subscriber interface + Finish func() + Updates func() <-chan *WorkloadUpdate + type UpdateEntries struct + Bundles map[spiffeid.TrustDomain]*bundleutil.Bundle + RegistrationEntries map[string]*common.RegistrationEntry + type UpdateSVIDs struct + X509SVIDs map[string]*X509SVID + type WorkloadUpdate struct + Bundle *bundleutil.Bundle + FederatedBundles map[spiffeid.TrustDomain]*bundleutil.Bundle + Identities []Identity + func (u *WorkloadUpdate) HasIdentity() bool + type X509SVID struct + Chain []*x509.Certificate + PrivateKey crypto.Signer