377 lines
9.4 KiB
JSON
377 lines
9.4 KiB
JSON
{
|
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
"$id": "https://awoooi.wooo.work/schemas/monitoring_alerting_observability_inventory_v1.schema.json",
|
|
"title": "IwoooS monitoring / alerting / observability repo-only 清冊",
|
|
"type": "object",
|
|
"additionalProperties": false,
|
|
"required": [
|
|
"schema_version",
|
|
"generated_at",
|
|
"git_commit",
|
|
"status",
|
|
"source_scope",
|
|
"summary",
|
|
"execution_boundaries",
|
|
"expected_scopes",
|
|
"observability_surfaces",
|
|
"write_capable_surfaces",
|
|
"next_collection_order",
|
|
"operator_interpretation"
|
|
],
|
|
"properties": {
|
|
"schema_version": {
|
|
"const": "monitoring_alerting_observability_inventory_v1"
|
|
},
|
|
"generated_at": {
|
|
"type": "string"
|
|
},
|
|
"git_commit": {
|
|
"type": "string"
|
|
},
|
|
"status": {
|
|
"const": "repo_only_inventory_ready"
|
|
},
|
|
"source_scope": {
|
|
"const": "committed_repo_files_only"
|
|
},
|
|
"summary": {
|
|
"type": "object",
|
|
"additionalProperties": false,
|
|
"required": [
|
|
"surface_count",
|
|
"source_exists_count",
|
|
"expected_scope_count",
|
|
"prometheus_config_surface_count",
|
|
"alert_rule_surface_count",
|
|
"alertmanager_receiver_surface_count",
|
|
"grafana_surface_count",
|
|
"signoz_surface_count",
|
|
"sentry_surface_count",
|
|
"langfuse_surface_count",
|
|
"notification_policy_surface_count",
|
|
"telegram_surface_count",
|
|
"otel_surface_count",
|
|
"deploy_or_reload_surface_count",
|
|
"drift_guard_surface_count",
|
|
"smoke_surface_count",
|
|
"write_capable_surface_count",
|
|
"surfaces_requiring_owner_response_count",
|
|
"surfaces_requiring_live_evidence_count",
|
|
"owner_response_received_count",
|
|
"owner_response_accepted_count",
|
|
"live_evidence_received_count",
|
|
"reload_owner_accepted_count",
|
|
"receiver_owner_accepted_count",
|
|
"route_smoke_accepted_count",
|
|
"maintenance_window_accepted_count",
|
|
"rollback_owner_accepted_count",
|
|
"runtime_gate_count",
|
|
"action_button_count",
|
|
"coverage_percent_before_inventory",
|
|
"coverage_percent_after_inventory"
|
|
],
|
|
"properties": {
|
|
"surface_count": {
|
|
"const": 60
|
|
},
|
|
"source_exists_count": {
|
|
"const": 60
|
|
},
|
|
"expected_scope_count": {
|
|
"const": 60
|
|
},
|
|
"prometheus_config_surface_count": {
|
|
"const": 8
|
|
},
|
|
"alert_rule_surface_count": {
|
|
"const": 13
|
|
},
|
|
"alertmanager_receiver_surface_count": {
|
|
"const": 1
|
|
},
|
|
"grafana_surface_count": {
|
|
"const": 6
|
|
},
|
|
"signoz_surface_count": {
|
|
"const": 3
|
|
},
|
|
"sentry_surface_count": {
|
|
"const": 4
|
|
},
|
|
"langfuse_surface_count": {
|
|
"const": 3
|
|
},
|
|
"notification_policy_surface_count": {
|
|
"const": 4
|
|
},
|
|
"telegram_surface_count": {
|
|
"const": 3
|
|
},
|
|
"otel_surface_count": {
|
|
"const": 1
|
|
},
|
|
"deploy_or_reload_surface_count": {
|
|
"const": 6
|
|
},
|
|
"drift_guard_surface_count": {
|
|
"const": 1
|
|
},
|
|
"smoke_surface_count": {
|
|
"const": 4
|
|
},
|
|
"write_capable_surface_count": {
|
|
"const": 11
|
|
},
|
|
"surfaces_requiring_owner_response_count": {
|
|
"const": 60
|
|
},
|
|
"surfaces_requiring_live_evidence_count": {
|
|
"const": 60
|
|
},
|
|
"owner_response_received_count": {
|
|
"const": 0
|
|
},
|
|
"owner_response_accepted_count": {
|
|
"const": 0
|
|
},
|
|
"live_evidence_received_count": {
|
|
"const": 0
|
|
},
|
|
"reload_owner_accepted_count": {
|
|
"const": 0
|
|
},
|
|
"receiver_owner_accepted_count": {
|
|
"const": 0
|
|
},
|
|
"route_smoke_accepted_count": {
|
|
"const": 0
|
|
},
|
|
"maintenance_window_accepted_count": {
|
|
"const": 0
|
|
},
|
|
"rollback_owner_accepted_count": {
|
|
"const": 0
|
|
},
|
|
"runtime_gate_count": {
|
|
"const": 0
|
|
},
|
|
"action_button_count": {
|
|
"const": 0
|
|
},
|
|
"coverage_percent_before_inventory": {
|
|
"const": 56
|
|
},
|
|
"coverage_percent_after_inventory": {
|
|
"const": 62
|
|
}
|
|
}
|
|
},
|
|
"execution_boundaries": {
|
|
"type": "object",
|
|
"additionalProperties": {
|
|
"const": false
|
|
},
|
|
"required": [
|
|
"runtime_execution_authorized",
|
|
"host_write_authorized",
|
|
"prometheus_reload_authorized",
|
|
"alertmanager_reload_authorized",
|
|
"grafana_dashboard_apply_authorized",
|
|
"signoz_rule_apply_authorized",
|
|
"sentry_deploy_authorized",
|
|
"langfuse_config_change_authorized",
|
|
"otel_collector_reload_authorized",
|
|
"receiver_route_change_authorized",
|
|
"silence_policy_change_authorized",
|
|
"telegram_send_authorized",
|
|
"notification_route_change_authorized",
|
|
"webhook_receiver_change_authorized",
|
|
"remote_write_change_authorized",
|
|
"exporter_deploy_authorized",
|
|
"live_alert_fire_authorized",
|
|
"alert_chain_smoke_authorized",
|
|
"ssh_read_authorized",
|
|
"ssh_write_authorized",
|
|
"kubectl_action_authorized",
|
|
"secret_value_collection_allowed",
|
|
"active_scan_authorized",
|
|
"action_buttons_allowed"
|
|
]
|
|
},
|
|
"expected_scopes": {
|
|
"type": "array",
|
|
"minItems": 60,
|
|
"maxItems": 60,
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"observability_surfaces": {
|
|
"type": "array",
|
|
"minItems": 60,
|
|
"maxItems": 60,
|
|
"items": {
|
|
"$ref": "#/$defs/observability_surface"
|
|
}
|
|
},
|
|
"write_capable_surfaces": {
|
|
"type": "array",
|
|
"minItems": 11,
|
|
"maxItems": 11,
|
|
"items": {
|
|
"type": "object",
|
|
"additionalProperties": false,
|
|
"required": [
|
|
"surface_id",
|
|
"label",
|
|
"config_kind",
|
|
"expected_scope",
|
|
"required_gate"
|
|
],
|
|
"properties": {
|
|
"surface_id": {
|
|
"type": "string"
|
|
},
|
|
"label": {
|
|
"type": "string"
|
|
},
|
|
"config_kind": {
|
|
"type": "string"
|
|
},
|
|
"expected_scope": {
|
|
"type": "string"
|
|
},
|
|
"required_gate": {
|
|
"const": "owner_response_plus_maintenance_window_plus_rollback_owner"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"next_collection_order": {
|
|
"type": "array",
|
|
"minItems": 10,
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"operator_interpretation": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"$defs": {
|
|
"observability_surface": {
|
|
"type": "object",
|
|
"additionalProperties": false,
|
|
"required": [
|
|
"surface_id",
|
|
"label",
|
|
"source_path",
|
|
"expected_scope",
|
|
"config_kind",
|
|
"control_tier",
|
|
"current_state",
|
|
"observability_scope",
|
|
"requires_live_evidence",
|
|
"requires_owner_response",
|
|
"next_owner_action",
|
|
"source_exists",
|
|
"line_count",
|
|
"sha256",
|
|
"owner_response_received",
|
|
"owner_response_accepted",
|
|
"live_evidence_received",
|
|
"reload_owner_accepted",
|
|
"receiver_owner_accepted",
|
|
"route_smoke_accepted",
|
|
"maintenance_window_accepted",
|
|
"rollback_owner_accepted",
|
|
"runtime_gate_open",
|
|
"action_buttons_allowed"
|
|
],
|
|
"properties": {
|
|
"surface_id": {
|
|
"type": "string"
|
|
},
|
|
"label": {
|
|
"type": "string"
|
|
},
|
|
"source_path": {
|
|
"type": "string"
|
|
},
|
|
"expected_scope": {
|
|
"type": "string"
|
|
},
|
|
"config_kind": {
|
|
"type": "string"
|
|
},
|
|
"control_tier": {
|
|
"const": "C1"
|
|
},
|
|
"current_state": {
|
|
"type": "string"
|
|
},
|
|
"observability_scope": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"requires_live_evidence": {
|
|
"const": true
|
|
},
|
|
"requires_owner_response": {
|
|
"const": true
|
|
},
|
|
"next_owner_action": {
|
|
"type": "string"
|
|
},
|
|
"source_exists": {
|
|
"const": true
|
|
},
|
|
"line_count": {
|
|
"type": "integer",
|
|
"minimum": 1
|
|
},
|
|
"sha256": {
|
|
"type": "string",
|
|
"minLength": 64,
|
|
"maxLength": 64
|
|
},
|
|
"owner_response_received": {
|
|
"const": false
|
|
},
|
|
"owner_response_accepted": {
|
|
"const": false
|
|
},
|
|
"live_evidence_received": {
|
|
"const": false
|
|
},
|
|
"reload_owner_accepted": {
|
|
"const": false
|
|
},
|
|
"receiver_owner_accepted": {
|
|
"const": false
|
|
},
|
|
"route_smoke_accepted": {
|
|
"const": false
|
|
},
|
|
"maintenance_window_accepted": {
|
|
"const": false
|
|
},
|
|
"rollback_owner_accepted": {
|
|
"const": false
|
|
},
|
|
"runtime_gate_open": {
|
|
"const": false
|
|
},
|
|
"action_buttons_allowed": {
|
|
"const": false
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|