Restructure solution layout by module
This commit is contained in:
@@ -0,0 +1,40 @@
|
||||
using System.IO;
|
||||
|
||||
namespace StellaOps.Scanner.Cache;
|
||||
|
||||
public sealed class ScannerCacheOptions
|
||||
{
|
||||
private const long DefaultMaxBytes = 5L * 1024 * 1024 * 1024; // 5 GiB
|
||||
|
||||
public bool Enabled { get; set; } = true;
|
||||
|
||||
public string RootPath { get; set; } = Path.Combine("cache", "scanner");
|
||||
|
||||
public string LayersDirectoryName { get; set; } = "layers";
|
||||
|
||||
public string FileCasDirectoryName { get; set; } = "cas";
|
||||
|
||||
public TimeSpan LayerTtl { get; set; } = TimeSpan.FromDays(45);
|
||||
|
||||
public TimeSpan FileTtl { get; set; } = TimeSpan.FromDays(30);
|
||||
|
||||
public long MaxBytes { get; set; } = DefaultMaxBytes;
|
||||
|
||||
public long WarmBytesThreshold { get; set; } = DefaultMaxBytes / 5; // 20 %
|
||||
|
||||
public long ColdBytesThreshold { get; set; } = (DefaultMaxBytes * 4) / 5; // 80 %
|
||||
|
||||
public bool EnableAutoEviction { get; set; } = true;
|
||||
|
||||
public TimeSpan MaintenanceInterval { get; set; } = TimeSpan.FromMinutes(15);
|
||||
|
||||
public bool EnableFileCas { get; set; } = true;
|
||||
|
||||
public string? ImportDirectory { get; set; }
|
||||
|
||||
public string? ExportDirectory { get; set; }
|
||||
|
||||
public string LayersDirectoryPath => Path.Combine(RootPath, LayersDirectoryName);
|
||||
|
||||
public string FileCasDirectoryPath => Path.Combine(RootPath, FileCasDirectoryName);
|
||||
}
|
||||
Reference in New Issue
Block a user