extends: ["spectral:oas"] documentationUrl: https://docs.cribl.io/edge/ rules: cribl-edge-info-contact: description: API info object should reference Cribl support contact. given: "$.info.contact" severity: error then: field: url function: pattern functionOptions: match: "cribl" cribl-edge-bearer-auth: description: API must declare bearerAuth security scheme. given: "$.components.securitySchemes" severity: error then: field: bearerAuth function: truthy cribl-edge-fleet-paths: description: Edge API must define fleet and node management paths. given: "$.paths" severity: error then: function: schema functionOptions: schema: type: object required: - /master/fleets - /master/nodes cribl-edge-operation-id: description: All operations must define an operationId. given: "$.paths.*.*" severity: error then: field: operationId function: truthy cribl-edge-tags: description: All operations must define tags. given: "$.paths.*.*" severity: error then: field: tags function: truthy