Files
KArtSell.Aegis/docs/Design/kbx-foundation-v36/generated/configuration-manifest.json
T

529 lines
13 KiB
JSON

{
"schemaVersion": "1.0",
"contractVersion": "1.0.0",
"sourceSha256": "e09186d626b034a524b7cdf78f1e4bb6adbc112975b3baf4fd6194b1c1abd771",
"principles": {
"secretsNeverCommitted": true,
"failFastOnInvalidRuntimeConfiguration": true,
"productionUnsafeDefaultsForbidden": true,
"staticConfigurationSeparatedFromDynamicRuntimeState": true,
"databaseMigrationsArePreDeployInProduction": true,
"providerEndpointOverridesForbiddenInProduction": true,
"configurationFingerprintExcludesSecrets": true,
"generatedExamplesNeverContainSecretValues": true,
"environmentPromotionUsesTheSameArtifact": true,
"runtimeConfigMustNotReplaceDomainRules": true
},
"sourcePrecedence": [
"defaults",
"appsettings",
"environment-specific-appsettings",
"environment",
"secret-store",
"command-line"
],
"settingCount": 33,
"environmentCount": 4,
"settings": [
{
"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"
]
},
{
"key": "Kbx:Runtime:ReadOnly",
"env": "KBX__Runtime__ReadOnly",
"category": "runtime",
"type": "boolean",
"default": false,
"secret": false,
"restartRequired": false,
"requiredIn": []
},
{
"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"
]
},
{
"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"
]
},
{
"key": "Kbx:Database:CommandTimeoutSeconds",
"env": "KBX__Database__CommandTimeoutSeconds",
"category": "database",
"type": "integer",
"default": 30,
"minimum": 1,
"maximum": 300,
"secret": false,
"restartRequired": true,
"requiredIn": []
},
{
"key": "Kbx:Hangfire:Enabled",
"env": "KBX__Hangfire__Enabled",
"category": "background-jobs",
"type": "boolean",
"default": true,
"secret": false,
"restartRequired": true,
"requiredIn": []
},
{
"key": "Kbx:Hangfire:WorkerCount",
"env": "KBX__Hangfire__WorkerCount",
"category": "background-jobs",
"type": "integer",
"default": 4,
"minimum": 1,
"maximum": 64,
"secret": false,
"restartRequired": true,
"requiredIn": []
},
{
"key": "Kbx:SignalR:Enabled",
"env": "KBX__SignalR__Enabled",
"category": "realtime",
"type": "boolean",
"default": true,
"secret": false,
"restartRequired": true,
"requiredIn": []
},
{
"key": "Kbx:Outbox:DispatcherEnabled",
"env": "KBX__Outbox__DispatcherEnabled",
"category": "messaging",
"type": "boolean",
"default": true,
"secret": false,
"restartRequired": true,
"requiredIn": []
},
{
"key": "Kbx:Inbox:CleanupEnabled",
"env": "KBX__Inbox__CleanupEnabled",
"category": "messaging",
"type": "boolean",
"default": true,
"secret": false,
"restartRequired": true,
"requiredIn": []
},
{
"key": "Kbx:Integration:DispatcherEnabled",
"env": "KBX__Integration__DispatcherEnabled",
"category": "integration",
"type": "boolean",
"default": true,
"secret": false,
"restartRequired": true,
"requiredIn": []
},
{
"key": "Kbx:ExternalData:RefreshEnabled",
"env": "KBX__ExternalData__RefreshEnabled",
"category": "external-data",
"type": "boolean",
"default": true,
"secret": false,
"restartRequired": true,
"requiredIn": []
},
{
"key": "Kbx:ExternalData:ObservationRetentionEnabled",
"env": "KBX__ExternalData__ObservationRetentionEnabled",
"category": "external-data",
"type": "boolean",
"default": true,
"secret": false,
"restartRequired": true,
"requiredIn": []
},
{
"key": "Kbx:Experiments:Enabled",
"env": "KBX__Experiments__Enabled",
"category": "experiments",
"type": "boolean",
"default": true,
"secret": false,
"restartRequired": false,
"requiredIn": []
},
{
"key": "Kbx:Logging:MinimumLevel",
"env": "KBX__Logging__MinimumLevel",
"category": "logging",
"type": "enum",
"allowedValues": [
"Debug",
"Information",
"Warning",
"Error"
],
"default": "Information",
"secret": false,
"restartRequired": true,
"requiredIn": []
},
{
"key": "Kbx:Logging:JsonConsoleEnabled",
"env": "KBX__Logging__JsonConsoleEnabled",
"category": "logging",
"type": "boolean",
"default": true,
"secret": false,
"restartRequired": true,
"requiredIn": []
},
{
"key": "Kbx:Telemetry:Enabled",
"env": "KBX__Telemetry__Enabled",
"category": "observability",
"type": "boolean",
"default": true,
"secret": false,
"restartRequired": true,
"requiredIn": []
},
{
"key": "Kbx:Telemetry:OtlpEndpoint",
"env": "KBX__Telemetry__OtlpEndpoint",
"category": "observability",
"type": "uri",
"secret": false,
"restartRequired": true,
"requiredIn": []
},
{
"key": "Kbx:Telegram:Enabled",
"env": "KBX__Telegram__Enabled",
"category": "alerting",
"type": "boolean",
"default": false,
"secret": false,
"restartRequired": true,
"requiredIn": []
},
{
"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"
]
},
{
"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"
]
},
{
"key": "ExternalProviders:Krx:Enabled",
"env": "ExternalProviders__Krx__Enabled",
"category": "provider",
"type": "boolean",
"default": false,
"secret": false,
"restartRequired": true,
"requiredIn": []
},
{
"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"
]
},
{
"key": "ExternalProviders:OpenDart:Enabled",
"env": "ExternalProviders__OpenDart__Enabled",
"category": "provider",
"type": "boolean",
"default": false,
"secret": false,
"restartRequired": true,
"requiredIn": []
},
{
"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"
]
},
{
"key": "ExternalProviders:Kis:Enabled",
"env": "ExternalProviders__Kis__Enabled",
"category": "provider",
"type": "boolean",
"default": false,
"secret": false,
"restartRequired": true,
"requiredIn": []
},
{
"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
}
},
{
"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"
]
},
{
"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"
]
},
{
"key": "Kbx:Security:RequireHttps",
"env": "KBX__Security__RequireHttps",
"category": "security",
"type": "boolean",
"default": true,
"secret": false,
"restartRequired": true,
"requiredIn": []
},
{
"key": "Kbx:Health:ReadinessEnabled",
"env": "KBX__Health__ReadinessEnabled",
"category": "runtime",
"type": "boolean",
"default": true,
"secret": false,
"restartRequired": true,
"requiredIn": []
},
{
"key": "Kbx:Import:MaxUploadBytes",
"env": "KBX__Import__MaxUploadBytes",
"category": "import",
"type": "integer",
"default": 52428800,
"minimum": 1048576,
"maximum": 209715200,
"secret": false,
"restartRequired": true,
"requiredIn": []
},
{
"key": "Kbx:Import:MaxRows",
"env": "KBX__Import__MaxRows",
"category": "import",
"type": "integer",
"default": 100000,
"minimum": 1,
"maximum": 1000000,
"secret": false,
"restartRequired": true,
"requiredIn": []
}
],
"environments": [
{
"id": "Development",
"artifactPromotion": false,
"secretSources": [
"user-secrets",
"environment"
],
"migrationStrategy": "startup-apply-allowed",
"providerNetwork": "opt-in",
"requireHttps": false,
"providerEndpointOverrideAllowed": true,
"requiredGates": [
"static-governance"
]
},
{
"id": "Test",
"artifactPromotion": false,
"secretSources": [
"environment"
],
"migrationStrategy": "ephemeral-apply",
"providerNetwork": "forbidden",
"requireHttps": false,
"providerEndpointOverrideAllowed": true,
"requiredGates": [
"static-governance",
"build",
"unit",
"integration",
"scenario"
]
},
{
"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"
]
},
{
"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"
]
}
]
}