namespace JdeScoping.Core.Options; /// /// Configuration options for the secure secrets store. /// public class SecureStoreOptions { /// /// Configuration section name in appsettings.json. /// public const string SectionName = "SecureStore"; /// /// Path to the encrypted secrets store file. /// Defaults to "data/secrets.json" relative to app directory. /// public string StorePath { get; set; } = "data/secrets.json"; /// /// Path to the key file (used in development). /// Defaults to "data/secrets.key" relative to app directory. /// public string KeyFilePath { get; set; } = "data/secrets.key"; /// /// Environment variable name containing the master key (used in production). /// If set and the env var exists, it takes precedence over the key file. /// public string MasterKeyEnvVar { get; set; } = "SCOPINGTOOL_MASTER_KEY"; /// /// Whether to auto-create the store and generate a key file on first run. /// public bool AutoCreateStore { get; set; } = true; /// /// List of secret keys that must exist in the store for the application to start. /// public List RequiredKeys { get; set; } = []; }