Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type BaseProvider ¶
type BaseProvider struct {
// contains filtered or unexported fields
}
BaseProvider implements common functionality for providers.
func NewBaseProvider ¶
func NewBaseProvider(name string, cfg config.Provider) (*BaseProvider, error)
NewBaseProvider creates a BaseProvider from config.
func (*BaseProvider) Available ¶
func (b *BaseProvider) Available() bool
Available implements Provider.
func (*BaseProvider) CurrentSize ¶
func (b *BaseProvider) CurrentSize() (int64, error)
CurrentSize implements Provider.
func (*BaseProvider) MaxAge ¶
func (b *BaseProvider) MaxAge() time.Duration
MaxAge implements Provider.
type CleanOptions ¶
CleanOptions configures cleaning behavior.
type CleanResult ¶
CleanResult contains cleaning operation results.
type CommandProvider ¶
type CommandProvider struct {
*BaseProvider
// contains filtered or unexported fields
}
CommandProvider cleans caches by running an external command.
func NewCommandProvider ¶
func NewCommandProvider(name string, cfg config.Provider) (*CommandProvider, error)
NewCommandProvider creates a provider that cleans via external command.
func (*CommandProvider) Clean ¶
func (p *CommandProvider) Clean(ctx context.Context, opts CleanOptions) (CleanResult, error)
Clean implements Provider.
type DockerProvider ¶
type DockerProvider struct {
*BaseProvider
// contains filtered or unexported fields
}
DockerProvider cleans Docker caches when daemon is available.
func NewDockerProvider ¶
func NewDockerProvider(name string, cfg config.Provider) (*DockerProvider, error)
NewDockerProvider creates a Docker provider with availability checking.
func (*DockerProvider) Available ¶
func (p *DockerProvider) Available() bool
Available implements Provider.
func (*DockerProvider) Clean ¶
func (p *DockerProvider) Clean(ctx context.Context, opts CleanOptions) (CleanResult, error)
Clean implements Provider.
type FileProvider ¶
type FileProvider struct {
*BaseProvider
}
FileProvider cleans caches by deleting oldest files until under limit.
func NewFileProvider ¶
func NewFileProvider(name string, cfg config.Provider) (*FileProvider, error)
NewFileProvider creates a provider that cleans by file deletion.
func (*FileProvider) Clean ¶
func (p *FileProvider) Clean(ctx context.Context, opts CleanOptions) (CleanResult, error)
Clean implements Provider.
type Provider ¶
type Provider interface {
// Name returns the provider's identifier.
Name() string
// Paths returns the expanded paths this provider manages.
Paths() []string
// CurrentSize returns the total size of cached files in bytes.
CurrentSize() (int64, error)
// MaxSize returns the configured maximum size in bytes.
MaxSize() int64
// MaxAge returns the configured maximum file age.
MaxAge() time.Duration
// Clean removes cached files to bring size under limit.
Clean(ctx context.Context, opts CleanOptions) (CleanResult, error)
// Available returns whether the provider can be used.
// For most providers this is always true. Docker checks if daemon is running.
Available() bool
}
Provider defines the interface for cache providers.
func LoadProvider ¶
LoadProvider creates a single provider by name.
func LoadProviders ¶
LoadProviders creates all enabled providers from config.