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; } = [];
}