// generated from contracts/configuration/kbx.configuration.json; do not edit.
import type { KbxConfigurationSettingDefinition, KbxEnvironmentProfileDefinition } from '../configuration'
export const kbxConfigurationSourceSha256='e09186d626b034a524b7cdf78f1e4bb6adbc112975b3baf4fd6194b1c1abd771' as const
export const kbxConfigurationCatalog={
  "Kbx:Runtime:Environment": {
    "key": "Kbx:Runtime:Environment",
    "env": "KBX__Runtime__Environment",
    "category": "runtime",
    "type": "enum",
    "allowedValues": [
      "Development",
      "Test",
      "Staging",
      "Production"
    ],
    "default": "Development",
    "secret": false,
    "restartRequired": true,
    "requiredIn": [
      "Development",
      "Test",
      "Staging",
      "Production"
    ]
  },
  "Kbx:Runtime:ReadOnly": {
    "key": "Kbx:Runtime:ReadOnly",
    "env": "KBX__Runtime__ReadOnly",
    "category": "runtime",
    "type": "boolean",
    "default": false,
    "secret": false,
    "restartRequired": false,
    "requiredIn": []
  },
  "ConnectionStrings:Main": {
    "key": "ConnectionStrings:Main",
    "env": "ConnectionStrings__Main",
    "category": "database",
    "type": "connection-string",
    "secret": true,
    "restartRequired": true,
    "requiredIn": [
      "Development",
      "Test",
      "Staging",
      "Production"
    ],
    "allowedSources": [
      "environment",
      "secret-store",
      "user-secrets"
    ]
  },
  "Kbx:Database:MigrationsMode": {
    "key": "Kbx:Database:MigrationsMode",
    "env": "KBX__Database__MigrationsMode",
    "category": "database",
    "type": "enum",
    "allowedValues": [
      "validate",
      "startup-apply",
      "predeploy"
    ],
    "default": "validate",
    "secret": false,
    "restartRequired": true,
    "requiredIn": [
      "Development",
      "Test",
      "Staging",
      "Production"
    ]
  },
  "Kbx:Database:CommandTimeoutSeconds": {
    "key": "Kbx:Database:CommandTimeoutSeconds",
    "env": "KBX__Database__CommandTimeoutSeconds",
    "category": "database",
    "type": "integer",
    "default": 30,
    "minimum": 1,
    "maximum": 300,
    "secret": false,
    "restartRequired": true,
    "requiredIn": []
  },
  "Kbx:Hangfire:Enabled": {
    "key": "Kbx:Hangfire:Enabled",
    "env": "KBX__Hangfire__Enabled",
    "category": "background-jobs",
    "type": "boolean",
    "default": true,
    "secret": false,
    "restartRequired": true,
    "requiredIn": []
  },
  "Kbx:Hangfire:WorkerCount": {
    "key": "Kbx:Hangfire:WorkerCount",
    "env": "KBX__Hangfire__WorkerCount",
    "category": "background-jobs",
    "type": "integer",
    "default": 4,
    "minimum": 1,
    "maximum": 64,
    "secret": false,
    "restartRequired": true,
    "requiredIn": []
  },
  "Kbx:SignalR:Enabled": {
    "key": "Kbx:SignalR:Enabled",
    "env": "KBX__SignalR__Enabled",
    "category": "realtime",
    "type": "boolean",
    "default": true,
    "secret": false,
    "restartRequired": true,
    "requiredIn": []
  },
  "Kbx:Outbox:DispatcherEnabled": {
    "key": "Kbx:Outbox:DispatcherEnabled",
    "env": "KBX__Outbox__DispatcherEnabled",
    "category": "messaging",
    "type": "boolean",
    "default": true,
    "secret": false,
    "restartRequired": true,
    "requiredIn": []
  },
  "Kbx:Inbox:CleanupEnabled": {
    "key": "Kbx:Inbox:CleanupEnabled",
    "env": "KBX__Inbox__CleanupEnabled",
    "category": "messaging",
    "type": "boolean",
    "default": true,
    "secret": false,
    "restartRequired": true,
    "requiredIn": []
  },
  "Kbx:Integration:DispatcherEnabled": {
    "key": "Kbx:Integration:DispatcherEnabled",
    "env": "KBX__Integration__DispatcherEnabled",
    "category": "integration",
    "type": "boolean",
    "default": true,
    "secret": false,
    "restartRequired": true,
    "requiredIn": []
  },
  "Kbx:ExternalData:RefreshEnabled": {
    "key": "Kbx:ExternalData:RefreshEnabled",
    "env": "KBX__ExternalData__RefreshEnabled",
    "category": "external-data",
    "type": "boolean",
    "default": true,
    "secret": false,
    "restartRequired": true,
    "requiredIn": []
  },
  "Kbx:ExternalData:ObservationRetentionEnabled": {
    "key": "Kbx:ExternalData:ObservationRetentionEnabled",
    "env": "KBX__ExternalData__ObservationRetentionEnabled",
    "category": "external-data",
    "type": "boolean",
    "default": true,
    "secret": false,
    "restartRequired": true,
    "requiredIn": []
  },
  "Kbx:Experiments:Enabled": {
    "key": "Kbx:Experiments:Enabled",
    "env": "KBX__Experiments__Enabled",
    "category": "experiments",
    "type": "boolean",
    "default": true,
    "secret": false,
    "restartRequired": false,
    "requiredIn": []
  },
  "Kbx:Logging:MinimumLevel": {
    "key": "Kbx:Logging:MinimumLevel",
    "env": "KBX__Logging__MinimumLevel",
    "category": "logging",
    "type": "enum",
    "allowedValues": [
      "Debug",
      "Information",
      "Warning",
      "Error"
    ],
    "default": "Information",
    "secret": false,
    "restartRequired": true,
    "requiredIn": []
  },
  "Kbx:Logging:JsonConsoleEnabled": {
    "key": "Kbx:Logging:JsonConsoleEnabled",
    "env": "KBX__Logging__JsonConsoleEnabled",
    "category": "logging",
    "type": "boolean",
    "default": true,
    "secret": false,
    "restartRequired": true,
    "requiredIn": []
  },
  "Kbx:Telemetry:Enabled": {
    "key": "Kbx:Telemetry:Enabled",
    "env": "KBX__Telemetry__Enabled",
    "category": "observability",
    "type": "boolean",
    "default": true,
    "secret": false,
    "restartRequired": true,
    "requiredIn": []
  },
  "Kbx:Telemetry:OtlpEndpoint": {
    "key": "Kbx:Telemetry:OtlpEndpoint",
    "env": "KBX__Telemetry__OtlpEndpoint",
    "category": "observability",
    "type": "uri",
    "secret": false,
    "restartRequired": true,
    "requiredIn": []
  },
  "Kbx:Telegram:Enabled": {
    "key": "Kbx:Telegram:Enabled",
    "env": "KBX__Telegram__Enabled",
    "category": "alerting",
    "type": "boolean",
    "default": false,
    "secret": false,
    "restartRequired": true,
    "requiredIn": []
  },
  "Kbx:Telegram:BotToken": {
    "key": "Kbx:Telegram:BotToken",
    "env": "KBX__Telegram__BotToken",
    "category": "alerting",
    "type": "string",
    "secret": true,
    "restartRequired": true,
    "requiredWhen": {
      "key": "Kbx:Telegram:Enabled",
      "equals": true
    },
    "allowedSources": [
      "environment",
      "secret-store",
      "user-secrets"
    ]
  },
  "Kbx:Telegram:ChatId": {
    "key": "Kbx:Telegram:ChatId",
    "env": "KBX__Telegram__ChatId",
    "category": "alerting",
    "type": "string",
    "secret": true,
    "restartRequired": true,
    "requiredWhen": {
      "key": "Kbx:Telegram:Enabled",
      "equals": true
    },
    "allowedSources": [
      "environment",
      "secret-store",
      "user-secrets"
    ]
  },
  "ExternalProviders:Krx:Enabled": {
    "key": "ExternalProviders:Krx:Enabled",
    "env": "ExternalProviders__Krx__Enabled",
    "category": "provider",
    "type": "boolean",
    "default": false,
    "secret": false,
    "restartRequired": true,
    "requiredIn": []
  },
  "ExternalProviders:Krx:AuthKey": {
    "key": "ExternalProviders:Krx:AuthKey",
    "env": "ExternalProviders__Krx__AuthKey",
    "category": "provider",
    "type": "string",
    "secret": true,
    "restartRequired": true,
    "requiredWhen": {
      "key": "ExternalProviders:Krx:Enabled",
      "equals": true
    },
    "allowedSources": [
      "environment",
      "secret-store",
      "user-secrets"
    ]
  },
  "ExternalProviders:OpenDart:Enabled": {
    "key": "ExternalProviders:OpenDart:Enabled",
    "env": "ExternalProviders__OpenDart__Enabled",
    "category": "provider",
    "type": "boolean",
    "default": false,
    "secret": false,
    "restartRequired": true,
    "requiredIn": []
  },
  "ExternalProviders:OpenDart:ApiKey": {
    "key": "ExternalProviders:OpenDart:ApiKey",
    "env": "ExternalProviders__OpenDart__ApiKey",
    "category": "provider",
    "type": "string",
    "secret": true,
    "restartRequired": true,
    "requiredWhen": {
      "key": "ExternalProviders:OpenDart:Enabled",
      "equals": true
    },
    "allowedSources": [
      "environment",
      "secret-store",
      "user-secrets"
    ]
  },
  "ExternalProviders:Kis:Enabled": {
    "key": "ExternalProviders:Kis:Enabled",
    "env": "ExternalProviders__Kis__Enabled",
    "category": "provider",
    "type": "boolean",
    "default": false,
    "secret": false,
    "restartRequired": true,
    "requiredIn": []
  },
  "ExternalProviders:Kis:Environment": {
    "key": "ExternalProviders:Kis:Environment",
    "env": "ExternalProviders__Kis__Environment",
    "category": "provider",
    "type": "enum",
    "allowedValues": [
      "sandbox",
      "production"
    ],
    "default": "sandbox",
    "secret": false,
    "restartRequired": true,
    "requiredWhen": {
      "key": "ExternalProviders:Kis:Enabled",
      "equals": true
    }
  },
  "ExternalProviders:Kis:AppKey": {
    "key": "ExternalProviders:Kis:AppKey",
    "env": "ExternalProviders__Kis__AppKey",
    "category": "provider",
    "type": "string",
    "secret": true,
    "restartRequired": true,
    "requiredWhen": {
      "key": "ExternalProviders:Kis:Enabled",
      "equals": true
    },
    "allowedSources": [
      "environment",
      "secret-store",
      "user-secrets"
    ]
  },
  "ExternalProviders:Kis:AppSecret": {
    "key": "ExternalProviders:Kis:AppSecret",
    "env": "ExternalProviders__Kis__AppSecret",
    "category": "provider",
    "type": "string",
    "secret": true,
    "restartRequired": true,
    "requiredWhen": {
      "key": "ExternalProviders:Kis:Enabled",
      "equals": true
    },
    "allowedSources": [
      "environment",
      "secret-store",
      "user-secrets"
    ]
  },
  "Kbx:Security:RequireHttps": {
    "key": "Kbx:Security:RequireHttps",
    "env": "KBX__Security__RequireHttps",
    "category": "security",
    "type": "boolean",
    "default": true,
    "secret": false,
    "restartRequired": true,
    "requiredIn": []
  },
  "Kbx:Health:ReadinessEnabled": {
    "key": "Kbx:Health:ReadinessEnabled",
    "env": "KBX__Health__ReadinessEnabled",
    "category": "runtime",
    "type": "boolean",
    "default": true,
    "secret": false,
    "restartRequired": true,
    "requiredIn": []
  },
  "Kbx:Import:MaxUploadBytes": {
    "key": "Kbx:Import:MaxUploadBytes",
    "env": "KBX__Import__MaxUploadBytes",
    "category": "import",
    "type": "integer",
    "default": 52428800,
    "minimum": 1048576,
    "maximum": 209715200,
    "secret": false,
    "restartRequired": true,
    "requiredIn": []
  },
  "Kbx:Import:MaxRows": {
    "key": "Kbx:Import:MaxRows",
    "env": "KBX__Import__MaxRows",
    "category": "import",
    "type": "integer",
    "default": 100000,
    "minimum": 1,
    "maximum": 1000000,
    "secret": false,
    "restartRequired": true,
    "requiredIn": []
  }
} as const satisfies Record<string,KbxConfigurationSettingDefinition>
export const kbxEnvironmentProfiles={
  "Development": {
    "id": "Development",
    "artifactPromotion": false,
    "secretSources": [
      "user-secrets",
      "environment"
    ],
    "migrationStrategy": "startup-apply-allowed",
    "providerNetwork": "opt-in",
    "requireHttps": false,
    "providerEndpointOverrideAllowed": true,
    "requiredGates": [
      "static-governance"
    ]
  },
  "Test": {
    "id": "Test",
    "artifactPromotion": false,
    "secretSources": [
      "environment"
    ],
    "migrationStrategy": "ephemeral-apply",
    "providerNetwork": "forbidden",
    "requireHttps": false,
    "providerEndpointOverrideAllowed": true,
    "requiredGates": [
      "static-governance",
      "build",
      "unit",
      "integration",
      "scenario"
    ]
  },
  "Staging": {
    "id": "Staging",
    "artifactPromotion": true,
    "secretSources": [
      "secret-store",
      "environment"
    ],
    "migrationStrategy": "predeploy",
    "providerNetwork": "opt-in",
    "requireHttps": true,
    "providerEndpointOverrideAllowed": false,
    "requiredGates": [
      "static-governance",
      "build",
      "unit",
      "integration",
      "scenario",
      "migration-dry-run"
    ]
  },
  "Production": {
    "id": "Production",
    "artifactPromotion": true,
    "secretSources": [
      "secret-store",
      "environment"
    ],
    "migrationStrategy": "predeploy",
    "providerNetwork": "opt-in",
    "requireHttps": true,
    "providerEndpointOverrideAllowed": false,
    "requiredGates": [
      "static-governance",
      "build",
      "unit",
      "integration",
      "scenario",
      "migration-dry-run",
      "configuration-validation",
      "release-governance"
    ]
  }
} as const satisfies Record<string,KbxEnvironmentProfileDefinition>
export type KbxConfigurationKey=keyof typeof kbxConfigurationCatalog
export type KbxEnvironmentProfile=keyof typeof kbxEnvironmentProfiles
