# System Configuration Defaults
#
# Concrete default values for system configuration schemas.

{
  SystemConfig = {
    version = "1.0.0",
    install_path = "/opt/provisioning",
    os_name = 'linux,
    os_version = "5.15.0",
    config_base_path = "/etc/provisioning",
    cache_base_path = "/var/cache/provisioning",
    workspaces_dir = "/opt/workspaces",
    system_architecture = "x86_64",
    cpu_count = 8,
    memory_total_gb = 32,
    disk_total_gb = 500,
    setup_date = "2025-12-11T00:00:00Z",
    setup_by_user = "provisioning",
    setup_hostname = "provisioning-host",
  },

  OrchestratorConfig = {
    enabled = true,
    endpoint = "http://localhost:9090",
    port = 9090,
    timeout_seconds = 30,
    health_check_interval_seconds = 5,
  },

  DatabaseConfig = {
    backend = 'memory,
  },

  ControlCenterConfig = {
    enabled = true,
    url = "http://localhost:3000",
    port = 3000,
    timeout_seconds = 30,
    database = {},
  },

  KMSConfig = {
    enabled = true,
    backend = 'age,
    rotation_days = 90,
  },

  PlatformServicesConfig = {
    orchestrator = {},
    control_center = {},
    kms_service = {},
  },

  ProviderCredentialsReference = {
    credentials_source = "",
    credentials_source_type = 'rustyvault,
  },

  UpCloudConfig = {
    api_url = "https://api.upcloud.com/1.3",
    interface = 'API,
    credentials = {},
    timeout_seconds = 30,
  },

  AWSConfig = {
    region = "us-east-1",
    credentials = {},
    timeout_seconds = 30,
  },

  HetznerConfig = {
    api_url = "https://api.hetzner.cloud/v1",
    credentials = {},
    timeout_seconds = 30,
  },

  LocalConfig = {
    base_path = "/tmp/provisioning-local",
    timeout_seconds = 10,
  },

  RustyVaultBootstrap = {
    encrypted_key_path = "",
    encrypted_key_format = 'age,
  },

  ProviderConfig = {},

  UserPreferences = {
    preferred_editor = 'vim,
    preferred_output_format = 'text,
    auto_confirm_operations = false,
    log_level = 'info,
    default_timeout_seconds = 300,
  },

  WorkspaceConfig = {
    workspace_name = "",
    workspace_path = "",
    active_infrastructure = "",
    active_providers = [],
    provider_config = {},
  },
}
