# System Configuration Public API
#
# Main interface for system configuration
# Migrated from provisioning/kcl/system_config.k

let contracts = import "contracts.ncl" in
let defaults = import "defaults.ncl" in

{
  # Re-export contracts
  SystemConfig = contracts.SystemConfig,
  OrchestratorConfig = contracts.OrchestratorConfig,
  DatabaseConfig = contracts.DatabaseConfig,
  ControlCenterConfig = contracts.ControlCenterConfig,
  KMSConfig = contracts.KMSConfig,
  PlatformServicesConfig = contracts.PlatformServicesConfig,
  ProviderCredentialsReference = contracts.ProviderCredentialsReference,
  UpCloudConfig = contracts.UpCloudConfig,
  AWSConfig = contracts.AWSConfig,
  HetznerConfig = contracts.HetznerConfig,
  LocalConfig = contracts.LocalConfig,
  RustyVaultBootstrap = contracts.RustyVaultBootstrap,
  ProviderConfig = contracts.ProviderConfig,
  UserPreferences = contracts.UserPreferences,
  WorkspaceConfig = contracts.WorkspaceConfig,

  # Re-export defaults
  default_system = defaults.default_system,
  default_orchestrator = defaults.default_orchestrator,
  default_control_center = defaults.default_control_center,
  default_kms = defaults.default_kms,
  default_platform_services = defaults.default_platform_services,
  default_user_prefs = defaults.default_user_prefs,
}
