Documentation ¶
Index ¶
- Constants
- type CacheMemDB
- func (c *CacheMemDB) Evict(indexName string, indexValues ...interface{}) error
- func (c *CacheMemDB) Flush() error
- func (c *CacheMemDB) Get(indexName string, indexValues ...interface{}) (*Index, error)
- func (c *CacheMemDB) GetByPrefix(indexName string, indexValues ...interface{}) ([]*Index, error)
- func (c *CacheMemDB) Set(index *Index) error
- type ContextInfo
- type Index
- type IndexName
Constants ¶
View Source
const ( // IndexNameID is the ID of the index constructed from the serialized request. IndexNameID = "id" // IndexNameLease is the lease of the index. IndexNameLease = "lease" // IndexNameRequestPath is the request path of the index. IndexNameRequestPath = "request_path" // IndexNameToken is the token of the index. IndexNameToken = "token" // IndexNameTokenAccessor is the token accessor of the index. IndexNameTokenAccessor = "token_accessor" // IndexNameTokenParent is the token parent of the index. IndexNameTokenParent = "token_parent" // IndexNameLeaseToken is the token that created the lease. IndexNameLeaseToken = "lease_token" )
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type CacheMemDB ¶
type CacheMemDB struct {
// contains filtered or unexported fields
}
CacheMemDB is the underlying cache database for storing indexes.
func (*CacheMemDB) Evict ¶
func (c *CacheMemDB) Evict(indexName string, indexValues ...interface{}) error
Evict removes an index from the cache based on index name and value.
func (*CacheMemDB) Flush ¶
func (c *CacheMemDB) Flush() error
Flush resets the underlying cache object.
func (*CacheMemDB) Get ¶
func (c *CacheMemDB) Get(indexName string, indexValues ...interface{}) (*Index, error)
Get returns the index based on the indexer and the index values provided.
func (*CacheMemDB) GetByPrefix ¶
func (c *CacheMemDB) GetByPrefix(indexName string, indexValues ...interface{}) ([]*Index, error)
GetByPrefix returns all the cached indexes based on the index name and the value prefix.
func (*CacheMemDB) Set ¶
func (c *CacheMemDB) Set(index *Index) error
Set stores the index into the cache.
type ContextInfo ¶
type ContextInfo struct { Ctx context.Context CancelFunc context.CancelFunc DoneCh chan struct{} }
func NewContextInfo ¶
func NewContextInfo(ctx context.Context) *ContextInfo
type Index ¶
type Index struct { // ID is a value that uniquely represents the request held by this // index. This is computed by serializing and hashing the response object. // Required: true, Unique: true ID string // Token is the token that fetched the response held by this index // Required: true, Unique: true Token string // TokenParent is the parent token of the token held by this index // Required: false, Unique: false TokenParent string // TokenAccessor is the accessor of the token being cached in this index // Required: true, Unique: true TokenAccessor string // Namespace is the namespace that was provided in the request path as the // Vault namespace to query Namespace string // RequestPath is the path of the request that resulted in the response // held by this index. // Required: true, Unique: false RequestPath string // Lease is the identifier of the lease in Vault, that belongs to the // response held by this index. // Required: false, Unique: true Lease string // LeaseToken is the identifier of the token that created the lease held by // this index. // Required: false, Unique: false LeaseToken string // Response is the serialized response object that the agent is caching. Response []byte // RenewCtxInfo holds the context and the corresponding cancel func for the // goroutine that manages the renewal of the secret belonging to the // response in this index. RenewCtxInfo *ContextInfo // RequestMethod is the HTTP method of the request RequestMethod string // RequestToken is the token used in the request RequestToken string // RequestHeader is the header used in the request RequestHeader http.Header // LastRenewed is the timestamp of last renewal LastRenewed time.Time // Type is the index type (token, auth-lease, secret-lease) Type string }
Index holds the response to be cached along with multiple other values that serve as pointers to refer back to this index.
func Deserialize ¶
Deserialize converts json bytes to an Index object Note: RenewCtxInfo will need to be reconstructed elsewhere.
Click to show internal directories.
Click to hide internal directories.