Security News
CISA Brings KEV Data to GitHub
CISA's KEV data is now on GitHub, offering easier access, API integration, commit history tracking, and automated updates for security teams and researchers.
@rhoas/openapi-validator
Advanced tools
A CLI for validating OpenAPI specifications against the RHOAS API Guidelines.
NOTE: This project uses Yarn workspaces for easier development.
Install dependencies:
yarn install
Build:
yarn build
Running examples
Validate OpenAPI files using the uncompiled TypeScript CLI:
yarn validate-dev ./examples/openapi-valid.yaml
It is recommended to use npx
to validate your documents to ensure you use the latest validation rules:
npx @rhoas/openapi-validator validate ./path/to/openapi.yaml
The RHOAS ruleset extends the Spectral built-in "oas" ruleset (except operation-tags
, openapi-tags
). You can see the full list of rules from that ruleset here
OpenAPI schemas should be a minimum of v3.
openapi: 3.0
Recommended: Yes Severity: warning
The servers
OpenAPI object must be defined and must specify at minimum the following URLs:
servers:
- url: https://api.openshift.com
- url: https://api.stage.openshift.com
- url: http://localhost:8000
- url: /
Recommended: Yes Severity: warning
The info.license.name
field must be "Apache 2.0".
info:
license:
name: 'Apache 2.0'
Recommended: Yes Severity: warning
The info.license.url
field must have the correct link for Apache 2.0.
info:
license:
url: 'https://www.apache.org/licenses/LICENSE-2.0.html'
Recommended: Yes Severity: warning
All paths must match the specified regular expression: /api/([a-z_]*){1,}(/v[0-9]*(alpha|beta)?)(/{?[a-z_]*}?){1,}$"
.
/api
v1
or a channel-version such as v1beta
, v1alpha
.camel_case
and can only contain alphabetical characters.Recommended: Yes Severity: warning
The content type for all responses must be application/json
.
Recommended: Yes Severity: error
All error response bodies must reference #/components/Schemas/Error
Recommended: Yes Severity: error
All API response bodies must be an object
with three required properties:
type: object
required: [id, kind, href]
properties:
id:
type: string
kind:
type: string
href:
type: string
Recommended: Yes Severity: error
All JSON schema objects defined in components.schemas
must follow CamelCase
.
Recommended: Yes Severity: warning
All JSON schema properties defined must follow camel_case
.
Recommended: Yes Severity: error
components.schema
MUST have a valid Error
object.
Error:
type: object
required: [id, kind, href, code, reason]
properties:
id:
type: string
kind:
type: string
href:
type: string
code:
type: string
reason:
type: string
Recommended: Yes Severity: warning
components.schema
MUST have a valid ObjectReference
object.
ObjectReference:
type: object
required: [id, kind, href]
properties:
id:
type: string
kind:
type: string
href:
type: string
Recommended: Yes Severity: warning
components.schema
MUST have a valid List
object.
List:
required:
- kind
- page
- size
- total
- items
type: object
properties:
items:
type: array
kind:
type: string
page:
type: integer
size:
type: integer
total:
type: integer
Recommended: Yes Severity: warning
FAQs
RHOAS OpenAPI Validator
We found that @rhoas/openapi-validator demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 5 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
CISA's KEV data is now on GitHub, offering easier access, API integration, commit history tracking, and automated updates for security teams and researchers.
Security News
Opengrep forks Semgrep to preserve open source SAST in response to controversial licensing changes.
Security News
Critics call the Node.js EOL CVE a misuse of the system, sparking debate over CVE standards and the growing noise in vulnerability databases.