cache

package
v1.8.9 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 17, 2026 License: Apache-2.0 Imports: 19 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	ErrCacheMiss      = cacheutil.ErrCacheMiss
	ErrCacheKeyLocked = cacheutil.ErrCacheKeyLocked
)

Functions

func AddCacheFlagsToCmd

func AddCacheFlagsToCmd(cmd *cobra.Command, opts ...cacheutil.Options) func() (*Cache, error)

func GitRefCacheItemToReferences added in v1.8.8

func GitRefCacheItemToReferences(cacheItem [][2]string) *[]*plumbing.Reference

Converts raw cache items to plumbing.Reference objects

func LogDebugManifestCacheKeyFields added in v1.8.8

func LogDebugManifestCacheKeyFields(message string, reason string, manifestKey ManifestKey)

LogDebugManifestCacheKeyFields logs all the information included in a manifest cache key. It's intended to be run before every manifest cache operation to help debug cache misses.

Types

type Cache

type Cache struct {
	// contains filtered or unexported fields
}

func NewCache

func NewCache(cache *cacheutil.Cache, repoCacheExpiration time.Duration, revisionCacheExpiration time.Duration, revisionCacheLockTimeout time.Duration) *Cache

func (*Cache) DeleteManifests added in v1.8.8

func (c *Cache) DeleteManifests(manifestKey ManifestKey) error

func (*Cache) GetAppDetails

func (c *Cache) GetAppDetails(revision string, appSrc *appv1.ApplicationSource, srcRefs appv1.RefTargetRevisionMapping, res *apiclient.RepoAppDetailsResponse, trackingMethod appv1.TrackingMethod, refSourceCommitSHAs ResolvedRevisions) error

func (*Cache) GetGitDirectories added in v1.8.8

func (c *Cache) GetGitDirectories(repoURL, revision string) ([]string, error)

func (*Cache) GetGitFiles added in v1.8.8

func (c *Cache) GetGitFiles(repoURL, revision, pattern string) (map[string][]byte, error)

func (*Cache) GetGitFilesChanges added in v1.8.8

func (c *Cache) GetGitFilesChanges(repoURL, revision, targetRevision string) ([]string, error)

func (*Cache) GetGitReferences added in v1.8.8

func (c *Cache) GetGitReferences(repo string, references *[]*plumbing.Reference) (string, error)

Retrieves the cache item for git repo references. Returns foundLockId, error

func (*Cache) GetHelmIndex added in v1.8.8

func (c *Cache) GetHelmIndex(repo string, indexData *[]byte) error

GetHelmIndex retrieves helm repository index.yaml content from cache

func (*Cache) GetManifests

func (c *Cache) GetManifests(manifestKey ManifestKey, res *CachedManifestResponse) error

func (*Cache) GetOCIMetadata added in v1.8.8

func (c *Cache) GetOCIMetadata(repoURL, revision string) (*appv1.OCIMetadata, error)

func (*Cache) GetOCITags added in v1.8.8

func (c *Cache) GetOCITags(repo string, indexData *[]byte) error

GetOCITags retrieves oci image tags from cache

func (*Cache) GetOrLockGitReferences added in v1.8.8

func (c *Cache) GetOrLockGitReferences(repo string, lockId string, references *[]*plumbing.Reference) (string, error)

GetOrLockGitReferences retrieves the git references if they exist, otherwise creates a lock and returns so the caller can populate the cache Returns isLockOwner, localLockId, error

func (*Cache) GetRepoCacheExpiration added in v1.8.8

func (c *Cache) GetRepoCacheExpiration() time.Duration

GetRepoCacheExpiration returns the repository cache expiration duration.

func (*Cache) GetRevisionChartDetails added in v1.8.8

func (c *Cache) GetRevisionChartDetails(repoURL, chart, revision string) (*appv1.ChartDetails, error)

func (*Cache) GetRevisionMetadata

func (c *Cache) GetRevisionMetadata(repoURL, revision string) (*appv1.RevisionMetadata, error)

func (*Cache) ListApps

func (c *Cache) ListApps(repoURL, revision string) (map[string]string, error)

func (*Cache) SetAppDetails

func (c *Cache) SetAppDetails(revision string, appSrc *appv1.ApplicationSource, srcRefs appv1.RefTargetRevisionMapping, res *apiclient.RepoAppDetailsResponse, trackingMethod appv1.TrackingMethod, refSourceCommitSHAs ResolvedRevisions) error

func (*Cache) SetApps

func (c *Cache) SetApps(repoURL, revision string, apps map[string]string) error

func (*Cache) SetGitDirectories added in v1.8.8

func (c *Cache) SetGitDirectories(repoURL, revision string, directories []string) error

func (*Cache) SetGitFiles added in v1.8.8

func (c *Cache) SetGitFiles(repoURL, revision, pattern string, files map[string][]byte) error

func (*Cache) SetGitFilesChanges added in v1.8.8

func (c *Cache) SetGitFilesChanges(repoURL, revision, targetRevision string, files []string) error

func (*Cache) SetGitReferences added in v1.8.8

func (c *Cache) SetGitReferences(repo string, references []*plumbing.Reference) error

SetGitReferences saves resolved Git repository references to cache

func (*Cache) SetHelmIndex added in v1.8.8

func (c *Cache) SetHelmIndex(repo string, indexData []byte) error

SetHelmIndex stores helm repository index.yaml content to cache

func (*Cache) SetManifests

func (c *Cache) SetManifests(manifestKey ManifestKey, res *CachedManifestResponse) error

func (*Cache) SetNewRevisionManifests added in v1.8.8

func (c *Cache) SetNewRevisionManifests(oldKey, newKey ManifestKey) error

func (*Cache) SetOCIMetadata added in v1.8.8

func (c *Cache) SetOCIMetadata(repoURL, revision string, item *appv1.OCIMetadata) error

func (*Cache) SetOCITags added in v1.8.8

func (c *Cache) SetOCITags(repo string, indexData []byte) error

SetOCITags stores oci image tags to cache

func (*Cache) SetRevisionChartDetails added in v1.8.8

func (c *Cache) SetRevisionChartDetails(repoURL, chart, revision string, item *appv1.ChartDetails) error

func (*Cache) SetRevisionMetadata

func (c *Cache) SetRevisionMetadata(repoURL, revision string, item *appv1.RevisionMetadata) error

func (*Cache) TryLockGitRefCache added in v1.8.8

func (c *Cache) TryLockGitRefCache(repo string, lockId string, references *[]*plumbing.Reference) (string, error)

TryLockGitRefCache attempts to lock the key for the Git repository references if the key doesn't exist, returns the value of GetGitReferences after calling the SET

func (*Cache) UnlockGitReferences added in v1.8.8

func (c *Cache) UnlockGitReferences(repo string, lockId string) error

UnlockGitReferences unlocks the key for the Git repository references if needed

type CachedManifestResponse added in v1.8.8

type CachedManifestResponse struct {
	CacheEntryHash                  string                      `json:"cacheEntryHash"`
	ManifestResponse                *apiclient.ManifestResponse `json:"manifestResponse"`
	MostRecentError                 string                      `json:"mostRecentError"`
	FirstFailureTimestamp           int64                       `json:"firstFailureTimestamp"`
	NumberOfConsecutiveFailures     int                         `json:"numberOfConsecutiveFailures"`
	NumberOfCachedResponsesReturned int                         `json:"numberOfCachedResponsesReturned"`
}

CachedManifestResponse represents a cached result of a previous manifest generation operation, including the caching of a manifest generation error, plus additional information on previous failures

type ClusterRuntimeInfo added in v1.8.8

type ClusterRuntimeInfo interface {
	// GetApiVersions returns supported api versions
	GetApiVersions() []string
	// GetKubeVersion returns cluster API version
	GetKubeVersion() string
}

ClusterRuntimeInfo holds cluster runtime information

type ManifestKey added in v1.8.8

type ManifestKey struct {
	Revision       string
	AppSource      *appv1.ApplicationSource
	RefSources     appv1.RefTargetRevisionMapping
	ClusterInfo    ClusterRuntimeInfo
	Namespace      string
	TrackingMethod string
	AppLabelKey    string
	AppName        string
	// RefSourceCommitSHAs is a list of resolved revisions for each ref source. This allows us to invalidate the cache
	// when someone pushes a commit to a source which is referenced from the main source (the one referred to by `revision`).
	RefSourceCommitSHAs ResolvedRevisions
	InstallationID      string
	SourceIntegrity     *appv1.SourceIntegrity
}

ManifestKey carries all fields required to build a manifests cache key.

func (ManifestKey) String added in v1.8.8

func (d ManifestKey) String() string

type ResolvedRevisions added in v1.8.8

type ResolvedRevisions map[string]string

ResolvedRevisions is a map of "normalized git URL" -> "git commit SHA". When one source references another source, the referenced source revision may change, for example, when someone pushes a commit to the referenced branch. This map lets us keep track of the current revision for each referenced source.

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL