{ "$schema": "http://json-schema.org/draft-04/schema#", "type": "object", "properties": { "ConnectionStrings": { "type": "object", "properties": { "CodeWeTrustDb": { "type": "string", "description": "Connection string to a Postgres database. Leave empty for embedded SQLite." } } }, "AllowedHosts": { "type": "string" }, "JiraConnectorSettings": { "type": "object", "description": "Settings for the Jira connector. Allows exporting detected issues to Jira.", "properties": { "Username": { "type": "string" }, "ApiToken": { "type": "string" }, "BaseUrl": { "type": "string" }, "ProjectKey": { "type": "string" } } }, "CodeWeTrustSettings": { "type": "object", "properties": { "AnalysisDisabled": { "type": "boolean", "description": "Disable code analysis on this instance. This is useful if you want to use CodeWeTrust as a viewer for existing analysis results." }, "ReadOnly": { "type": "boolean", "description": "Disable all write operations on this instance." }, "SkipBrowserOpen": { "type": "boolean", "description": "Skip opening the browser on startup." }, "SkipSystemCheck": { "type": "boolean", "description": "Skip system check on startup." }, "DisableWebView": { "type": "boolean", "description": "Disable the web view window - use default browser instead." }, "SkipFrontEndFiles": { "type": "boolean", "description": "Don't serve front-end files (UI). Improves startup time for API-only usage scenarios." }, "AllowMultipleInstances": { "type": "boolean", "description": "Allow multiple instances of CodeWeTrust to run on the same machine." }, "CacheExpirationTimeout": { "type": "string", "description": "Cache expiration timeout. Default is '00:05:00' (5 minutes). Cache invalidation is handled properly, but the timeout can help reduce memory usage." } } }, "AuthorizationSettings": { "type": "object", "properties": { "Administrators": { "type": "string", "description": "Comma-separated list of email addresses of administrators. Wildcards are supported. Example: '*@example.com,myname@mycompany.com'" }, "Users": { "type": "array", "items": [ { "type": "object", "properties": { "Email": { "type": "string" }, "IsAdmin": { "type": "string" }, "Permissions": { "type": "string", "description": "Comma-separated list of permissions. Example: 'Admin,View,RunAnalysis,ChangeSettings,ExportExecutiveReport,ExportEngineeringReport,ExportData,ImportData'" } } } ] } } }, "RestApiSettings": { "type": "object", "properties": { "Enabled": { "type": "boolean", "description": "Enable the REST API. Default is true." } } }, "Logging": { "type": "object", "properties": { "LogLevel": { "type": "object", "properties": { "Default": { "type": "string", "enum": ["Trace", "Debug", "Information", "Warning", "Error", "Critical"] } } } } }, "Kestrel": { "type": "object", "description": "Settings for the Kestrel web server.", "properties": { "EndPoints": { "type": "object", "properties": { "Http": { "type": "object", "properties": { "Url": { "type": "string", "description": "URL for the HTTP endpoint. Example: 'http://0.0.0.0:5000' - listen on all interfaces using port 5000." } } } } } } } } }