Documentation
¶
Overview ¶
Package mgorootkeystore provides an implementation of bakery.RootKeyStore that uses MongoDB as a persistent store.
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Policy ¶
type Policy struct { // GenerateInterval holds the maximum length of time // for which a root key will be returned from RootKey. // If this is zero, it defaults to ExpiryDuration. GenerateInterval time.Duration // ExpiryDuration holds the minimum length of time that // root keys will be valid for after they are returned from // RootKey. The maximum length of time that they // will be valid for is ExpiryDuration + GenerateInterval. ExpiryDuration time.Duration }
Policy holds a store policy for root keys.
type RootKeys ¶
type RootKeys struct {
// contains filtered or unexported fields
}
RootKeys represents a cache of macaroon root keys.
func NewRootKeys ¶
NewRootKeys returns a root-keys cache that is limited in size to approximately the given size.
The NewStore method returns a store implementation that uses a specific mongo collection and store policy.
func (*RootKeys) EnsureIndex ¶
EnsureIndex ensures that the required indexes exist on the collection that will be used for root key store. This should be called at least once before using NewStore.
func (*RootKeys) NewStore ¶
func (s *RootKeys) NewStore(c *mgo.Collection, policy Policy) bakery.RootKeyStore
NewStore returns a new RootKeyStore implementation that stores and obtains root keys from the given collection.
Root keys will be generated and stored following the given store policy.
It is expected that all collections passed to a given Store's NewStore method should refer to the same underlying collection.