UNPKG

@backstage-community/plugin-tech-insights-backend-module-jsonfc

Version:
188 lines (187 loc) 3.96 kB
{ "$schema": "https://backstage.io/schema/config-v1", "type": "object", "properties": { "techInsights": { "type": "object", "properties": { "factChecker": { "type": "object", "properties": { "checks": { "type": "object", "additionalProperties": { "$ref": "#/$defs/check" } } } } } } }, "$defs": { "check": { "type": "object", "required": ["type", "name", "description", "factIds", "rule"], "properties": { "type": { "type": "string" }, "name": { "type": "string" }, "description": { "type": "string" }, "factIds": { "type": "array", "items": { "type": "string" } }, "rule": { "$ref": "#/$defs/rule" }, "metadata": { "type": "object", "additionalProperties": true } } }, "conditionProperties": { "type": "object", "required": ["fact", "operator", "value"], "properties": { "fact": { "type": "string" }, "operator": { "type": "string" }, "value": { "oneOf": [ { "type": "object", "required": ["fact"], "properties": { "fact": { "type": "string" } } }, {} ] }, "path": { "type": "string" }, "name": { "type": "string" }, "priority": { "type": "number" }, "params": { "type": "object", "additionalProperties": true } } }, "conditionReference": { "type": "object", "required": ["condition"], "properties": { "condition": { "type": "string" }, "name": { "type": "string" }, "priority": { "type": "number" } } }, "nestedCondition": { "oneOf": [ { "$ref": "#/$defs/conditionProperties" }, { "$ref": "#/$defs/topLevelCondition" } ] }, "rule": { "type": "object", "required": ["conditions"], "properties": { "conditions": { "$ref": "#/$defs/topLevelCondition" }, "name": { "type": "string" }, "priority": { "type": "number" }, "successMetadata": { "type": "object", "additionalProperties": true }, "failureMetadata": { "type": "object", "additionalProperties": true } } }, "topLevelCondition": { "oneOf": [ { "type": "object", "required": ["all"], "properties": { "all": { "type": "array", "items": { "oneOf": [ { "$ref": "#/$defs/nestedCondition" } ] } } } }, { "type": "object", "required": ["any"], "properties": { "any": { "type": "array", "items": { "oneOf": [ { "$ref": "#/$defs/nestedCondition" } ] } } } }, { "type": "object", "required": ["not"], "properties": { "not": { "$ref": "#/$defs/nestedCondition" } } }, { "$ref": "#/$defs/conditionReference" } ] } } }