diff --git a/.github/workflows/web.yaml b/.github/workflows/web.yaml
new file mode 100644
index 0000000..6f08c13
--- /dev/null
+++ b/.github/workflows/web.yaml
@@ -0,0 +1,38 @@
+name: Deploy web to Pages
+
+on:
+ # Runs on pushes targeting the default branch
+ push:
+ branches: ["main"]
+
+ # Allows you to run this workflow manually from the Actions tab
+ workflow_dispatch:
+
+# Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages
+permissions:
+ contents: read
+ pages: write
+ id-token: write
+
+# Allow one concurrent deployment
+concurrency:
+ group: "pages"
+ cancel-in-progress: true
+
+jobs:
+ # Single deploy job since we're just deploying
+ deploy:
+ environment:
+ name: github-pages
+ url: ${{ steps.deployment.outputs.page_url }}
+ runs-on: ubuntu-latest
+ steps:
+ - name: Checkout
+ uses: actions/checkout@v3
+ - name: Deploy docs
+ uses: mhausenblas/mkdocs-deploy-gh-pages@master
+ env:
+ GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
+ CUSTOM_DOMAIN: distro-tools.rocky.page
+ CONFIG_FILE: web/mkdocs.yaml
+ REQUIREMENTS: web/requirements.txt
diff --git a/web/docs/.pages b/web/docs/.pages
new file mode 100644
index 0000000..3e1029e
--- /dev/null
+++ b/web/docs/.pages
@@ -0,0 +1,4 @@
+---
+nav:
+ - ... | index.md
+ - Apollo: apollo
\ No newline at end of file
diff --git a/web/docs/apollo/openapi.md b/web/docs/apollo/openapi.md
new file mode 100644
index 0000000..57fc170
--- /dev/null
+++ b/web/docs/apollo/openapi.md
@@ -0,0 +1,4295 @@
+
+
+# Peridot Apollo 0.1.0
+
+Apollo Errata Management
+
+## non-api
+
+
+
+### GET /
+List Advisories
+
+**Input parameters**
+
+
+
+
+ Parameter
+ In
+ Type
+ Default
+ Nullable
+ Description
+
+
+
+
+ page
+ query
+ integer
+ 1
+ No
+
+
+
+ search
+ query
+ string
+
+ No
+
+
+
+ size
+ query
+ integer
+ 50
+ No
+
+
+
+
+
+
+ Response 200 OK
+
+
+=== "text/html"
+
+
+ ```json
+ "string"
+ ```
+ ⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.
+
+
+
+ ??? hint "Schema of the response body"
+ ```json
+ {
+ "type": "string"
+ }
+ ```
+
+
+
+
+ Response 422 Unprocessable Entity
+
+
+=== "application/json"
+
+
+ ```json
+ {
+ "detail": [
+ {
+ "loc": [
+ null
+ ],
+ "msg": "string",
+ "type": "string"
+ }
+ ]
+ }
+ ```
+ ⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.
+
+
+
+ ??? hint "Schema of the response body"
+ ```json
+ {
+ "title": "HTTPValidationError",
+ "type": "object",
+ "properties": {
+ "detail": {
+ "title": "Detail",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/ValidationError"
+ }
+ }
+ }
+ }
+ ```
+
+
+
+
+
+### GET /{advisory_name}
+Get Advisory
+
+**Input parameters**
+
+
+
+
+ Parameter
+ In
+ Type
+ Default
+ Nullable
+ Description
+
+
+
+
+ advisory_name
+ path
+ string
+
+ No
+
+
+
+
+
+
+ Response 200 OK
+
+
+=== "text/html"
+
+
+ ```json
+ "string"
+ ```
+ ⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.
+
+
+
+ ??? hint "Schema of the response body"
+ ```json
+ {
+ "type": "string"
+ }
+ ```
+
+
+
+
+ Response 422 Unprocessable Entity
+
+
+=== "application/json"
+
+
+ ```json
+ {
+ "detail": [
+ {
+ "loc": [
+ null
+ ],
+ "msg": "string",
+ "type": "string"
+ }
+ ]
+ }
+ ```
+ ⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.
+
+
+
+ ??? hint "Schema of the response body"
+ ```json
+ {
+ "title": "HTTPValidationError",
+ "type": "object",
+ "properties": {
+ "detail": {
+ "title": "Detail",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/ValidationError"
+ }
+ }
+ }
+ }
+ ```
+
+
+
+
+
+### GET /statistics/
+Statistics
+
+
+ Response 200 OK
+
+
+=== "text/html"
+
+
+ ```json
+ "string"
+ ```
+ ⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.
+
+
+
+ ??? hint "Schema of the response body"
+ ```json
+ {
+ "type": "string"
+ }
+ ```
+
+
+
+
+
+### GET /login/
+Login Page
+
+
+ Response 200 OK
+
+
+=== "text/html"
+
+
+ ```json
+ "string"
+ ```
+ ⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.
+
+
+
+ ??? hint "Schema of the response body"
+ ```json
+ {
+ "type": "string"
+ }
+ ```
+
+
+
+
+### POST /login/
+Do Login
+Request body
+
+
+
+=== "application/x-www-form-urlencoded"
+
+
+ ```json
+ {
+ "email": "string",
+ "password": "string"
+ }
+ ```
+ ⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.
+
+
+
+ ??? hint "Schema of the request body"
+ ```json
+ {
+ "title": "Body_do_login_login__post",
+ "type": "object",
+ "properties": {
+ "email": {
+ "title": "Email",
+ "type": "string"
+ },
+ "password": {
+ "title": "Password",
+ "type": "string"
+ }
+ }
+ }
+ ```
+
+
+
+
+ Response 200 OK
+
+
+=== "text/html"
+
+
+ ```json
+ "string"
+ ```
+ ⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.
+
+
+
+ ??? hint "Schema of the response body"
+ ```json
+ {
+ "type": "string"
+ }
+ ```
+
+
+
+
+ Response 422 Unprocessable Entity
+
+
+=== "application/json"
+
+
+ ```json
+ {
+ "detail": [
+ {
+ "loc": [
+ null
+ ],
+ "msg": "string",
+ "type": "string"
+ }
+ ]
+ }
+ ```
+ ⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.
+
+
+
+ ??? hint "Schema of the response body"
+ ```json
+ {
+ "title": "HTTPValidationError",
+ "type": "object",
+ "properties": {
+ "detail": {
+ "title": "Detail",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/ValidationError"
+ }
+ }
+ }
+ }
+ ```
+
+
+
+
+
+### POST /login/setup
+Setup Page
+Request body
+
+
+
+=== "application/x-www-form-urlencoded"
+
+
+ ```json
+ {
+ "name": "string",
+ "email": "string",
+ "password": "string",
+ "confirm_password": "string"
+ }
+ ```
+ ⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.
+
+
+
+ ??? hint "Schema of the request body"
+ ```json
+ {
+ "title": "Body_setup_page_login_setup_post",
+ "type": "object",
+ "properties": {
+ "name": {
+ "title": "Name",
+ "type": "string"
+ },
+ "email": {
+ "title": "Email",
+ "type": "string"
+ },
+ "password": {
+ "title": "Password",
+ "type": "string"
+ },
+ "confirm_password": {
+ "title": "Confirm Password",
+ "type": "string"
+ }
+ }
+ }
+ ```
+
+
+
+
+ Response 200 OK
+
+
+=== "text/html"
+
+
+ ```json
+ "string"
+ ```
+ ⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.
+
+
+
+ ??? hint "Schema of the response body"
+ ```json
+ {
+ "type": "string"
+ }
+ ```
+
+
+
+
+ Response 422 Unprocessable Entity
+
+
+=== "application/json"
+
+
+ ```json
+ {
+ "detail": [
+ {
+ "loc": [
+ null
+ ],
+ "msg": "string",
+ "type": "string"
+ }
+ ]
+ }
+ ```
+ ⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.
+
+
+
+ ??? hint "Schema of the response body"
+ ```json
+ {
+ "title": "HTTPValidationError",
+ "type": "object",
+ "properties": {
+ "detail": {
+ "title": "Detail",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/ValidationError"
+ }
+ }
+ }
+ }
+ ```
+
+
+
+
+
+### GET /logout/
+Logout
+
+
+ Response 200 OK
+
+
+=== "application/json"
+
+
+
+ ??? hint "Schema of the response body"
+ ```json
+
+ ```
+
+
+
+
+
+### GET /admin/
+Admin General
+
+
+ Response 200 OK
+
+
+=== "text/html"
+
+
+ ```json
+ "string"
+ ```
+ ⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.
+
+
+
+ ??? hint "Schema of the response body"
+ ```json
+ {
+ "type": "string"
+ }
+ ```
+
+
+
+
+
+### GET /red_hat/advisories
+List Red Hat Advisories
+
+**Input parameters**
+
+
+
+
+ Parameter
+ In
+ Type
+ Default
+ Nullable
+ Description
+
+
+
+
+ page
+ query
+ integer
+ 1
+ No
+
+
+
+ size
+ query
+ integer
+ 50
+ No
+
+
+
+
+
+
+ Response 200 OK
+
+
+=== "text/html"
+
+
+ ```json
+ "string"
+ ```
+ ⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.
+
+
+
+ ??? hint "Schema of the response body"
+ ```json
+ {
+ "type": "string"
+ }
+ ```
+
+
+
+
+ Response 422 Unprocessable Entity
+
+
+=== "application/json"
+
+
+ ```json
+ {
+ "detail": [
+ {
+ "loc": [
+ null
+ ],
+ "msg": "string",
+ "type": "string"
+ }
+ ]
+ }
+ ```
+ ⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.
+
+
+
+ ??? hint "Schema of the response body"
+ ```json
+ {
+ "title": "HTTPValidationError",
+ "type": "object",
+ "properties": {
+ "detail": {
+ "title": "Detail",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/ValidationError"
+ }
+ }
+ }
+ }
+ ```
+
+
+
+
+
+### GET /red_hat/advisories/{advisory_name}
+Get Red Hat Advisory
+
+**Input parameters**
+
+
+
+
+ Parameter
+ In
+ Type
+ Default
+ Nullable
+ Description
+
+
+
+
+ advisory_name
+ path
+ string
+
+ No
+
+
+
+
+
+
+ Response 200 OK
+
+
+=== "text/html"
+
+
+ ```json
+ "string"
+ ```
+ ⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.
+
+
+
+ ??? hint "Schema of the response body"
+ ```json
+ {
+ "type": "string"
+ }
+ ```
+
+
+
+
+ Response 422 Unprocessable Entity
+
+
+=== "application/json"
+
+
+ ```json
+ {
+ "detail": [
+ {
+ "loc": [
+ null
+ ],
+ "msg": "string",
+ "type": "string"
+ }
+ ]
+ }
+ ```
+ ⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.
+
+
+
+ ??? hint "Schema of the response body"
+ ```json
+ {
+ "title": "HTTPValidationError",
+ "type": "object",
+ "properties": {
+ "detail": {
+ "title": "Detail",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/ValidationError"
+ }
+ }
+ }
+ }
+ ```
+
+
+
+
+### POST /red_hat/advisories/{advisory_name}
+Execute Red Hat Advisory Action
+
+**Input parameters**
+
+
+
+
+ Parameter
+ In
+ Type
+ Default
+ Nullable
+ Description
+
+
+
+
+ advisory_name
+ path
+ string
+
+ No
+
+
+
+
+Request body
+
+
+
+=== "application/x-www-form-urlencoded"
+
+
+ ```json
+ {
+ "action": "string",
+ "data": "string"
+ }
+ ```
+ ⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.
+
+
+
+ ??? hint "Schema of the request body"
+ ```json
+ {
+ "title": "Body_execute_red_hat_advisory_action_red_hat_advisories__advisory_name__post",
+ "required": [
+ "action",
+ "data"
+ ],
+ "type": "object",
+ "properties": {
+ "action": {
+ "title": "Action",
+ "type": "string"
+ },
+ "data": {
+ "title": "Data",
+ "type": "string"
+ }
+ }
+ }
+ ```
+
+
+
+
+ Response 200 OK
+
+
+=== "text/html"
+
+
+ ```json
+ "string"
+ ```
+ ⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.
+
+
+
+ ??? hint "Schema of the response body"
+ ```json
+ {
+ "type": "string"
+ }
+ ```
+
+
+
+
+ Response 422 Unprocessable Entity
+
+
+=== "application/json"
+
+
+ ```json
+ {
+ "detail": [
+ {
+ "loc": [
+ null
+ ],
+ "msg": "string",
+ "type": "string"
+ }
+ ]
+ }
+ ```
+ ⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.
+
+
+
+ ??? hint "Schema of the response body"
+ ```json
+ {
+ "title": "HTTPValidationError",
+ "type": "object",
+ "properties": {
+ "detail": {
+ "title": "Detail",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/ValidationError"
+ }
+ }
+ }
+ }
+ ```
+
+
+
+
+
+## advisories
+
+
+
+### GET /api/v3/advisories/
+List Advisories
+
+**Input parameters**
+
+
+
+
+ Parameter
+ In
+ Type
+ Default
+ Nullable
+ Description
+
+
+
+
+ after_raw
+ query
+ string
+
+ No
+
+
+
+ before_raw
+ query
+ string
+
+ No
+
+
+
+ cve
+ query
+ string
+
+ No
+
+
+
+ keyword
+ query
+ string
+
+ No
+
+
+
+ kind
+ query
+ string
+
+ No
+
+
+
+ page
+ query
+ integer
+ 1
+ No
+
+
+
+ product
+ query
+ string
+
+ No
+
+
+
+ severity
+ query
+ string
+
+ No
+
+
+
+ size
+ query
+ integer
+ 50
+ No
+
+
+
+ synopsis
+ query
+ string
+
+ No
+
+
+
+
+
+
+ Response 200 OK
+
+
+=== "application/json"
+
+
+ ```json
+ {
+ "advisories": [
+ {
+ "id": 0,
+ "created_at": "2022-04-13T15:42:05.901Z",
+ "updated_at": "2022-04-13T15:42:05.901Z",
+ "published_at": "2022-04-13T15:42:05.901Z",
+ "name": "string",
+ "synopsis": "string",
+ "description": "string",
+ "kind": "string",
+ "severity": "string",
+ "topic": "string",
+ "red_hat_advisory_id": 0,
+ "affected_products": [
+ {
+ "id": 0,
+ "variant": "string",
+ "name": "string",
+ "major_version": 0,
+ "minor_version": 0,
+ "arch": "string"
+ }
+ ],
+ "cves": [
+ {
+ "id": 0,
+ "cve": "string",
+ "cvss3_scoring_vector": "string",
+ "cvss3_base_score": "string",
+ "cwe": "string"
+ }
+ ],
+ "fixes": [
+ {
+ "id": 0,
+ "ticket_id": "string",
+ "source": "string",
+ "description": "string"
+ }
+ ],
+ "packages": [
+ {
+ "id": 0,
+ "nevra": "string",
+ "checksum": "string",
+ "checksum_type": "string",
+ "module_context": "string",
+ "module_name": "string",
+ "module_stream": "string",
+ "module_version": "string",
+ "repo_name": "string",
+ "package_name": "string",
+ "product_name": "string"
+ }
+ ]
+ }
+ ],
+ "total": 0,
+ "page": 0,
+ "size": 0,
+ "links": {
+ "first": "/api/v1/users?limit=1&offset1",
+ "last": "/api/v1/users?limit=1&offset1",
+ "self": "/api/v1/users?limit=1&offset1",
+ "next": "/api/v1/users?limit=1&offset1",
+ "prev": "/api/v1/users?limit=1&offset1"
+ }
+ }
+ ```
+ ⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.
+
+
+
+ ??? hint "Schema of the response body"
+ ```json
+ {
+ "title": "Pagination[Advisory]",
+ "required": [
+ "advisories",
+ "total",
+ "page",
+ "size",
+ "links"
+ ],
+ "type": "object",
+ "properties": {
+ "advisories": {
+ "title": "Advisories",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/Advisory"
+ }
+ },
+ "total": {
+ "title": "Total",
+ "minimum": 0.0,
+ "type": "integer"
+ },
+ "page": {
+ "title": "Page",
+ "minimum": 1.0,
+ "type": "integer"
+ },
+ "size": {
+ "title": "Size",
+ "minimum": 1.0,
+ "type": "integer"
+ },
+ "links": {
+ "$ref": "#/components/schemas/Links"
+ }
+ }
+ }
+ ```
+
+
+
+
+ Response 422 Unprocessable Entity
+
+
+=== "application/json"
+
+
+ ```json
+ {
+ "detail": [
+ {
+ "loc": [
+ null
+ ],
+ "msg": "string",
+ "type": "string"
+ }
+ ]
+ }
+ ```
+ ⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.
+
+
+
+ ??? hint "Schema of the response body"
+ ```json
+ {
+ "title": "HTTPValidationError",
+ "type": "object",
+ "properties": {
+ "detail": {
+ "title": "Detail",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/ValidationError"
+ }
+ }
+ }
+ }
+ ```
+
+
+
+
+
+### GET /api/v3/advisories/{advisory_name}
+Get Advisory
+
+**Input parameters**
+
+
+
+
+ Parameter
+ In
+ Type
+ Default
+ Nullable
+ Description
+
+
+
+
+ advisory_name
+ path
+ string
+
+ No
+
+
+
+
+
+
+ Response 200 OK
+
+
+=== "application/json"
+
+
+ ```json
+ {
+ "id": 0,
+ "created_at": "2022-04-13T15:42:05.901Z",
+ "updated_at": "2022-04-13T15:42:05.901Z",
+ "published_at": "2022-04-13T15:42:05.901Z",
+ "name": "string",
+ "synopsis": "string",
+ "description": "string",
+ "kind": "string",
+ "severity": "string",
+ "topic": "string",
+ "red_hat_advisory_id": 0,
+ "affected_products": [
+ {
+ "id": 0,
+ "variant": "string",
+ "name": "string",
+ "major_version": 0,
+ "minor_version": 0,
+ "arch": "string"
+ }
+ ],
+ "cves": [
+ {
+ "id": 0,
+ "cve": "string",
+ "cvss3_scoring_vector": "string",
+ "cvss3_base_score": "string",
+ "cwe": "string"
+ }
+ ],
+ "fixes": [
+ {
+ "id": 0,
+ "ticket_id": "string",
+ "source": "string",
+ "description": "string"
+ }
+ ],
+ "packages": [
+ {
+ "id": 0,
+ "nevra": "string",
+ "checksum": "string",
+ "checksum_type": "string",
+ "module_context": "string",
+ "module_name": "string",
+ "module_stream": "string",
+ "module_version": "string",
+ "repo_name": "string",
+ "package_name": "string",
+ "product_name": "string"
+ }
+ ]
+ }
+ ```
+ ⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.
+
+
+
+ ??? hint "Schema of the response body"
+ ```json
+ {
+ "title": "Advisory",
+ "required": [
+ "id",
+ "created_at",
+ "published_at",
+ "name",
+ "synopsis",
+ "description",
+ "kind",
+ "severity",
+ "topic",
+ "red_hat_advisory_id",
+ "affected_products",
+ "cves",
+ "fixes",
+ "packages"
+ ],
+ "type": "object",
+ "properties": {
+ "id": {
+ "title": "Id",
+ "maximum": 9.223372036854776e+18,
+ "minimum": 1.0,
+ "type": "integer"
+ },
+ "created_at": {
+ "title": "Created At",
+ "type": "string",
+ "format": "date-time",
+ "readOnly": true
+ },
+ "updated_at": {
+ "title": "Updated At",
+ "type": "string",
+ "format": "date-time",
+ "nullable": true,
+ "readOnly": true
+ },
+ "published_at": {
+ "title": "Published At",
+ "type": "string",
+ "format": "date-time"
+ },
+ "name": {
+ "title": "Name",
+ "maxLength": 255,
+ "type": "string"
+ },
+ "synopsis": {
+ "title": "Synopsis",
+ "type": "string"
+ },
+ "description": {
+ "title": "Description",
+ "type": "string"
+ },
+ "kind": {
+ "title": "Kind",
+ "maxLength": 255,
+ "type": "string"
+ },
+ "severity": {
+ "title": "Severity",
+ "maxLength": 255,
+ "type": "string"
+ },
+ "topic": {
+ "title": "Topic",
+ "type": "string"
+ },
+ "red_hat_advisory_id": {
+ "title": "Red Hat Advisory Id",
+ "maximum": 9.223372036854776e+18,
+ "minimum": 1.0,
+ "type": "integer"
+ },
+ "affected_products": {
+ "title": "Affected Products",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/apollo.db.AdvisoryAffectedProduct.leaf"
+ }
+ },
+ "cves": {
+ "title": "Cves",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/apollo.db.AdvisoryCVE.leaf"
+ }
+ },
+ "fixes": {
+ "title": "Fixes",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/apollo.db.AdvisoryFix.leaf"
+ }
+ },
+ "packages": {
+ "title": "Packages",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/apollo.db.AdvisoryPackage.leaf"
+ }
+ }
+ },
+ "additionalProperties": false
+ }
+ ```
+
+
+
+
+ Response 422 Unprocessable Entity
+
+
+=== "application/json"
+
+
+ ```json
+ {
+ "detail": [
+ {
+ "loc": [
+ null
+ ],
+ "msg": "string",
+ "type": "string"
+ }
+ ]
+ }
+ ```
+ ⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.
+
+
+
+ ??? hint "Schema of the response body"
+ ```json
+ {
+ "title": "HTTPValidationError",
+ "type": "object",
+ "properties": {
+ "detail": {
+ "title": "Detail",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/ValidationError"
+ }
+ }
+ }
+ }
+ ```
+
+
+
+
+
+## updateinfo
+
+
+
+### GET /api/v3/updateinfo/{product_name} /{repo} /updateinfo.xml
+Get Updateinfo
+
+**Input parameters**
+
+
+
+
+ Parameter
+ In
+ Type
+ Default
+ Nullable
+ Description
+
+
+
+
+ product_name
+ path
+ string
+
+ No
+
+
+
+ repo
+ path
+ string
+
+ No
+
+
+
+ req_arch
+ query
+ string
+
+ No
+
+
+
+
+
+
+ Response 200 OK
+
+
+=== "application/json"
+
+
+
+ ??? hint "Schema of the response body"
+ ```json
+
+ ```
+
+
+
+
+ Response 422 Unprocessable Entity
+
+
+=== "application/json"
+
+
+ ```json
+ {
+ "detail": [
+ {
+ "loc": [
+ null
+ ],
+ "msg": "string",
+ "type": "string"
+ }
+ ]
+ }
+ ```
+ ⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.
+
+
+
+ ??? hint "Schema of the response body"
+ ```json
+ {
+ "title": "HTTPValidationError",
+ "type": "object",
+ "properties": {
+ "detail": {
+ "title": "Detail",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/ValidationError"
+ }
+ }
+ }
+ }
+ ```
+
+
+
+
+
+## red_hat
+
+
+
+### GET /api/v3/red_hat/advisories
+List Red Hat Advisories
+
+**Input parameters**
+
+
+
+
+ Parameter
+ In
+ Type
+ Default
+ Nullable
+ Description
+
+
+
+
+ page
+ query
+ integer
+ 1
+ No
+
+
+
+ size
+ query
+ integer
+ 50
+ No
+
+
+
+
+
+
+ Response 200 OK
+
+
+=== "application/json"
+
+
+ ```json
+ {
+ "advisories": [
+ {
+ "id": 0,
+ "created_at": "2022-04-13T15:42:05.901Z",
+ "updated_at": "2022-04-13T15:42:05.901Z",
+ "red_hat_issued_at": "2022-04-13T15:42:05.901Z",
+ "name": "string",
+ "synopsis": "string",
+ "description": "string",
+ "kind": "string",
+ "severity": "string",
+ "topic": "string",
+ "affected_products": [
+ {
+ "id": 0,
+ "variant": "string",
+ "name": "string",
+ "major_version": 0,
+ "minor_version": 0,
+ "arch": "string"
+ }
+ ],
+ "bugzilla_tickets": [
+ {
+ "id": 0,
+ "bugzilla_bug_id": "string",
+ "description": "string"
+ }
+ ],
+ "cves": [
+ {
+ "id": 0,
+ "cve": "string",
+ "cvss3_scoring_vector": "string",
+ "cvss3_base_score": "string",
+ "cwe": "string"
+ }
+ ],
+ "packages": [
+ {
+ "id": 0,
+ "nevra": "string"
+ }
+ ]
+ }
+ ],
+ "total": 0,
+ "page": 0,
+ "size": 0,
+ "links": {
+ "first": "/api/v1/users?limit=1&offset1",
+ "last": "/api/v1/users?limit=1&offset1",
+ "self": "/api/v1/users?limit=1&offset1",
+ "next": "/api/v1/users?limit=1&offset1",
+ "prev": "/api/v1/users?limit=1&offset1"
+ }
+ }
+ ```
+ ⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.
+
+
+
+ ??? hint "Schema of the response body"
+ ```json
+ {
+ "title": "Pagination[RedHatAdvisory]",
+ "required": [
+ "advisories",
+ "total",
+ "page",
+ "size",
+ "links"
+ ],
+ "type": "object",
+ "properties": {
+ "advisories": {
+ "title": "Advisories",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/RedHatAdvisory"
+ }
+ },
+ "total": {
+ "title": "Total",
+ "minimum": 0.0,
+ "type": "integer"
+ },
+ "page": {
+ "title": "Page",
+ "minimum": 1.0,
+ "type": "integer"
+ },
+ "size": {
+ "title": "Size",
+ "minimum": 1.0,
+ "type": "integer"
+ },
+ "links": {
+ "$ref": "#/components/schemas/Links"
+ }
+ }
+ }
+ ```
+
+
+
+
+ Response 422 Unprocessable Entity
+
+
+=== "application/json"
+
+
+ ```json
+ {
+ "detail": [
+ {
+ "loc": [
+ null
+ ],
+ "msg": "string",
+ "type": "string"
+ }
+ ]
+ }
+ ```
+ ⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.
+
+
+
+ ??? hint "Schema of the response body"
+ ```json
+ {
+ "title": "HTTPValidationError",
+ "type": "object",
+ "properties": {
+ "detail": {
+ "title": "Detail",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/ValidationError"
+ }
+ }
+ }
+ }
+ ```
+
+
+
+
+
+### GET /api/v3/red_hat/advisories/{advisory_name}
+Get Red Hat Advisory
+
+**Input parameters**
+
+
+
+
+ Parameter
+ In
+ Type
+ Default
+ Nullable
+ Description
+
+
+
+
+ advisory_name
+ path
+ string
+
+ No
+
+
+
+
+
+
+ Response 200 OK
+
+
+=== "application/json"
+
+
+ ```json
+ {
+ "id": 0,
+ "created_at": "2022-04-13T15:42:05.901Z",
+ "updated_at": "2022-04-13T15:42:05.901Z",
+ "red_hat_issued_at": "2022-04-13T15:42:05.901Z",
+ "name": "string",
+ "synopsis": "string",
+ "description": "string",
+ "kind": "string",
+ "severity": "string",
+ "topic": "string",
+ "affected_products": [
+ {
+ "id": 0,
+ "variant": "string",
+ "name": "string",
+ "major_version": 0,
+ "minor_version": 0,
+ "arch": "string"
+ }
+ ],
+ "bugzilla_tickets": [
+ {
+ "id": 0,
+ "bugzilla_bug_id": "string",
+ "description": "string"
+ }
+ ],
+ "cves": [
+ {
+ "id": 0,
+ "cve": "string",
+ "cvss3_scoring_vector": "string",
+ "cvss3_base_score": "string",
+ "cwe": "string"
+ }
+ ],
+ "packages": [
+ {
+ "id": 0,
+ "nevra": "string"
+ }
+ ]
+ }
+ ```
+ ⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.
+
+
+
+ ??? hint "Schema of the response body"
+ ```json
+ {
+ "title": "RedHatAdvisory",
+ "required": [
+ "id",
+ "created_at",
+ "red_hat_issued_at",
+ "name",
+ "synopsis",
+ "description",
+ "kind",
+ "severity",
+ "topic",
+ "affected_products",
+ "bugzilla_tickets",
+ "cves",
+ "packages"
+ ],
+ "type": "object",
+ "properties": {
+ "id": {
+ "title": "Id",
+ "maximum": 9.223372036854776e+18,
+ "minimum": 1.0,
+ "type": "integer"
+ },
+ "created_at": {
+ "title": "Created At",
+ "type": "string",
+ "format": "date-time",
+ "readOnly": true
+ },
+ "updated_at": {
+ "title": "Updated At",
+ "type": "string",
+ "format": "date-time",
+ "nullable": true,
+ "readOnly": true
+ },
+ "red_hat_issued_at": {
+ "title": "Red Hat Issued At",
+ "type": "string",
+ "format": "date-time"
+ },
+ "name": {
+ "title": "Name",
+ "maxLength": 255,
+ "type": "string"
+ },
+ "synopsis": {
+ "title": "Synopsis",
+ "type": "string"
+ },
+ "description": {
+ "title": "Description",
+ "type": "string"
+ },
+ "kind": {
+ "title": "Kind",
+ "maxLength": 255,
+ "type": "string"
+ },
+ "severity": {
+ "title": "Severity",
+ "maxLength": 255,
+ "type": "string"
+ },
+ "topic": {
+ "title": "Topic",
+ "type": "string"
+ },
+ "affected_products": {
+ "title": "Affected Products",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/apollo.db.RedHatAdvisoryAffectedProduct.leaf"
+ }
+ },
+ "bugzilla_tickets": {
+ "title": "Bugzilla Tickets",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/apollo.db.RedHatAdvisoryBugzillaBug.leaf"
+ }
+ },
+ "cves": {
+ "title": "Cves",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/apollo.db.RedHatAdvisoryCVE.leaf"
+ }
+ },
+ "packages": {
+ "title": "Packages",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/apollo.db.RedHatAdvisoryPackage.leaf"
+ }
+ }
+ },
+ "additionalProperties": false
+ }
+ ```
+
+
+
+
+ Response 422 Unprocessable Entity
+
+
+=== "application/json"
+
+
+ ```json
+ {
+ "detail": [
+ {
+ "loc": [
+ null
+ ],
+ "msg": "string",
+ "type": "string"
+ }
+ ]
+ }
+ ```
+ ⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.
+
+
+
+ ??? hint "Schema of the response body"
+ ```json
+ {
+ "title": "HTTPValidationError",
+ "type": "object",
+ "properties": {
+ "detail": {
+ "title": "Detail",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/ValidationError"
+ }
+ }
+ }
+ }
+ ```
+
+
+
+
+
+## v2_compat
+
+
+
+### GET /v2/advisories
+List Advisories Compat V2
+
+**Input parameters**
+
+
+
+
+ Parameter
+ In
+ Type
+ Default
+ Nullable
+ Description
+
+
+
+
+ filters.after
+ query
+ string
+
+ No
+
+
+
+ filters.before
+ query
+ string
+
+ No
+
+
+
+ filters.cve
+ query
+ string
+
+ No
+
+
+
+ filters.fetchRelated
+ query
+ boolean
+ True
+ No
+
+
+
+ filters.keyword
+ query
+ string
+
+ No
+
+
+
+ filters.product
+ query
+ string
+
+ No
+
+
+
+ filters.severity
+ query
+ string
+
+ No
+
+
+
+ filters.synopsis
+ query
+ string
+
+ No
+
+
+
+ filters.type
+ query
+ string
+
+ No
+
+
+
+ limit
+ query
+ integer
+ 20
+ No
+
+
+
+ page
+ query
+ integer
+ 0
+ No
+
+
+
+
+
+
+ Response 200 OK
+
+
+=== "application/json"
+
+
+ ```json
+ {
+ "advisories": [
+ {
+ "type": "string",
+ "shortCode": "string",
+ "name": "string",
+ "synopsis": "string",
+ "severity": "string",
+ "topic": "string",
+ "description": "string",
+ "solution": "string",
+ "affectedProducts": [
+ "string"
+ ],
+ "fixes": [
+ {
+ "ticket": "string",
+ "sourceBy": "string",
+ "sourceLink": "string",
+ "description": "string"
+ }
+ ],
+ "cves": [
+ {
+ "name": "string",
+ "sourceBy": "string",
+ "sourceLink": "string",
+ "cvss3ScoringVector": "string",
+ "cvss3BaseScore": "string",
+ "cwe": "string"
+ }
+ ],
+ "references": [
+ "string"
+ ],
+ "publishedAt": "string",
+ "rpms": {},
+ "rebootSuggested": true,
+ "buildReferences": [
+ "string"
+ ]
+ }
+ ],
+ "total": 0,
+ "lastUpdated": "string",
+ "page": 0,
+ "size": 0
+ }
+ ```
+ ⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.
+
+
+
+ ??? hint "Schema of the response body"
+ ```json
+ {
+ "title": "Pagination[Advisory_Pydantic_V2]",
+ "required": [
+ "advisories",
+ "total",
+ "page",
+ "size"
+ ],
+ "type": "object",
+ "properties": {
+ "advisories": {
+ "title": "Advisories",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/Advisory_Pydantic_V2"
+ }
+ },
+ "total": {
+ "title": "Total",
+ "minimum": 0.0,
+ "type": "integer"
+ },
+ "lastUpdated": {
+ "title": "Lastupdated",
+ "type": "string"
+ },
+ "page": {
+ "title": "Page",
+ "minimum": 0.0,
+ "type": "integer"
+ },
+ "size": {
+ "title": "Size",
+ "minimum": 1.0,
+ "type": "integer"
+ }
+ }
+ }
+ ```
+
+
+
+
+ Response 422 Unprocessable Entity
+
+
+=== "application/json"
+
+
+ ```json
+ {
+ "detail": [
+ {
+ "loc": [
+ null
+ ],
+ "msg": "string",
+ "type": "string"
+ }
+ ]
+ }
+ ```
+ ⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.
+
+
+
+ ??? hint "Schema of the response body"
+ ```json
+ {
+ "title": "HTTPValidationError",
+ "type": "object",
+ "properties": {
+ "detail": {
+ "title": "Detail",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/ValidationError"
+ }
+ }
+ }
+ }
+ ```
+
+
+
+
+
+### GET /v2/advisories:rss
+List Advisories Compat V2 Rss
+
+**Input parameters**
+
+
+
+
+ Parameter
+ In
+ Type
+ Default
+ Nullable
+ Description
+
+
+
+
+ filters.after
+ query
+ string
+
+ No
+
+
+
+ filters.before
+ query
+ string
+
+ No
+
+
+
+ filters.cve
+ query
+ string
+
+ No
+
+
+
+ filters.keyword
+ query
+ string
+
+ No
+
+
+
+ filters.product
+ query
+ string
+
+ No
+
+
+
+ filters.severity
+ query
+ string
+
+ No
+
+
+
+ filters.synopsis
+ query
+ string
+
+ No
+
+
+
+ filters.type
+ query
+ string
+
+ No
+
+
+
+ limit
+ query
+ integer
+ 20
+ No
+
+
+
+ page
+ query
+ integer
+ 0
+ No
+
+
+
+
+
+
+ Response 200 OK
+
+
+=== "application/json"
+
+
+
+ ??? hint "Schema of the response body"
+ ```json
+
+ ```
+
+
+
+
+ Response 422 Unprocessable Entity
+
+
+=== "application/json"
+
+
+ ```json
+ {
+ "detail": [
+ {
+ "loc": [
+ null
+ ],
+ "msg": "string",
+ "type": "string"
+ }
+ ]
+ }
+ ```
+ ⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.
+
+
+
+ ??? hint "Schema of the response body"
+ ```json
+ {
+ "title": "HTTPValidationError",
+ "type": "object",
+ "properties": {
+ "detail": {
+ "title": "Detail",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/ValidationError"
+ }
+ }
+ }
+ }
+ ```
+
+
+
+
+
+### GET /v2/advisories/{advisory_name}
+Get Advisory Compat V2
+
+**Input parameters**
+
+
+
+
+ Parameter
+ In
+ Type
+ Default
+ Nullable
+ Description
+
+
+
+
+ advisory_name
+ path
+ string
+
+ No
+
+
+
+
+
+
+ Response 200 OK
+
+
+=== "application/json"
+
+
+ ```json
+ {
+ "advisory": {
+ "type": "string",
+ "shortCode": "string",
+ "name": "string",
+ "synopsis": "string",
+ "severity": "string",
+ "topic": "string",
+ "description": "string",
+ "solution": "string",
+ "affectedProducts": [
+ "string"
+ ],
+ "fixes": [
+ {
+ "ticket": "string",
+ "sourceBy": "string",
+ "sourceLink": "string",
+ "description": "string"
+ }
+ ],
+ "cves": [
+ {
+ "name": "string",
+ "sourceBy": "string",
+ "sourceLink": "string",
+ "cvss3ScoringVector": "string",
+ "cvss3BaseScore": "string",
+ "cwe": "string"
+ }
+ ],
+ "references": [
+ "string"
+ ],
+ "publishedAt": "string",
+ "rpms": {},
+ "rebootSuggested": true,
+ "buildReferences": [
+ "string"
+ ]
+ }
+ }
+ ```
+ ⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.
+
+
+
+ ??? hint "Schema of the response body"
+ ```json
+ {
+ "title": "AdvisoryResponse",
+ "required": [
+ "advisory"
+ ],
+ "type": "object",
+ "properties": {
+ "advisory": {
+ "$ref": "#/components/schemas/Advisory_Pydantic_V2"
+ }
+ }
+ }
+ ```
+
+
+
+
+ Response 422 Unprocessable Entity
+
+
+=== "application/json"
+
+
+ ```json
+ {
+ "detail": [
+ {
+ "loc": [
+ null
+ ],
+ "msg": "string",
+ "type": "string"
+ }
+ ]
+ }
+ ```
+ ⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.
+
+
+
+ ??? hint "Schema of the response body"
+ ```json
+ {
+ "title": "HTTPValidationError",
+ "type": "object",
+ "properties": {
+ "detail": {
+ "title": "Detail",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/ValidationError"
+ }
+ }
+ }
+ }
+ ```
+
+
+
+
+
+## osv
+
+
+
+### GET /api/v3/osv/
+Get Advisories Osv
+
+**Input parameters**
+
+
+
+
+ Parameter
+ In
+ Type
+ Default
+ Nullable
+ Description
+
+
+
+
+ after
+ query
+ string
+
+ No
+
+
+
+ before
+ query
+ string
+
+ No
+
+
+
+ cve
+ query
+ string
+
+ No
+
+
+
+ keyword
+ query
+ string
+
+ No
+
+
+
+ kind
+ query
+ string
+
+ No
+
+
+
+ page
+ query
+ integer
+ 1
+ No
+
+
+
+ product
+ query
+ string
+
+ No
+
+
+
+ severity
+ query
+ string
+
+ No
+
+
+
+ size
+ query
+ integer
+ 50
+ No
+
+
+
+ synopsis
+ query
+ string
+
+ No
+
+
+
+
+
+
+ Response 200 OK
+
+
+=== "application/json"
+
+
+ ```json
+ {
+ "advisories": [
+ {
+ "schema_version": "string",
+ "id": "string",
+ "modified": "string",
+ "published": "string",
+ "withdrawn": "string",
+ "aliases": [
+ "string"
+ ],
+ "related": [
+ "string"
+ ],
+ "summary": "string",
+ "details": "string",
+ "severity": [
+ {
+ "type": "string",
+ "score": "string"
+ }
+ ],
+ "affected": [
+ {
+ "package": {
+ "ecosystem": "string",
+ "name": "string",
+ "purl": "string"
+ },
+ "ranges": [
+ {
+ "type": "string",
+ "repo": "string",
+ "events": [
+ {
+ "introduced": "string",
+ "fixed": "string",
+ "last_affected": "string",
+ "limit": "string"
+ }
+ ],
+ "database_specific": {}
+ }
+ ],
+ "versions": [
+ "string"
+ ],
+ "ecosystem_specific": {},
+ "database_specific": {}
+ }
+ ],
+ "references": [
+ {
+ "type": "string",
+ "url": "string"
+ }
+ ],
+ "credits": [
+ {
+ "name": "string",
+ "contact": [
+ "string"
+ ]
+ }
+ ],
+ "database_specific": {}
+ }
+ ],
+ "total": 0,
+ "page": 0,
+ "size": 0,
+ "links": {
+ "first": "/api/v1/users?limit=1&offset1",
+ "last": "/api/v1/users?limit=1&offset1",
+ "self": "/api/v1/users?limit=1&offset1",
+ "next": "/api/v1/users?limit=1&offset1",
+ "prev": "/api/v1/users?limit=1&offset1"
+ }
+ }
+ ```
+ ⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.
+
+
+
+ ??? hint "Schema of the response body"
+ ```json
+ {
+ "title": "Pagination[OSVAdvisory]",
+ "required": [
+ "advisories",
+ "total",
+ "page",
+ "size",
+ "links"
+ ],
+ "type": "object",
+ "properties": {
+ "advisories": {
+ "title": "Advisories",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/OSVAdvisory"
+ }
+ },
+ "total": {
+ "title": "Total",
+ "minimum": 0.0,
+ "type": "integer"
+ },
+ "page": {
+ "title": "Page",
+ "minimum": 1.0,
+ "type": "integer"
+ },
+ "size": {
+ "title": "Size",
+ "minimum": 1.0,
+ "type": "integer"
+ },
+ "links": {
+ "$ref": "#/components/schemas/Links"
+ }
+ }
+ }
+ ```
+
+
+
+
+ Response 422 Unprocessable Entity
+
+
+=== "application/json"
+
+
+ ```json
+ {
+ "detail": [
+ {
+ "loc": [
+ null
+ ],
+ "msg": "string",
+ "type": "string"
+ }
+ ]
+ }
+ ```
+ ⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.
+
+
+
+ ??? hint "Schema of the response body"
+ ```json
+ {
+ "title": "HTTPValidationError",
+ "type": "object",
+ "properties": {
+ "detail": {
+ "title": "Detail",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/ValidationError"
+ }
+ }
+ }
+ }
+ ```
+
+
+
+
+
+### GET /api/v3/osv/{advisory_id}
+Get Advisory Osv
+
+**Input parameters**
+
+
+
+
+ Parameter
+ In
+ Type
+ Default
+ Nullable
+ Description
+
+
+
+
+ advisory_id
+ path
+ string
+
+ No
+
+
+
+
+
+
+ Response 200 OK
+
+
+=== "application/json"
+
+
+ ```json
+ {
+ "schema_version": "string",
+ "id": "string",
+ "modified": "string",
+ "published": "string",
+ "withdrawn": "string",
+ "aliases": [
+ "string"
+ ],
+ "related": [
+ "string"
+ ],
+ "summary": "string",
+ "details": "string",
+ "severity": [
+ {
+ "type": "string",
+ "score": "string"
+ }
+ ],
+ "affected": [
+ {
+ "package": {
+ "ecosystem": "string",
+ "name": "string",
+ "purl": "string"
+ },
+ "ranges": [
+ {
+ "type": "string",
+ "repo": "string",
+ "events": [
+ {
+ "introduced": "string",
+ "fixed": "string",
+ "last_affected": "string",
+ "limit": "string"
+ }
+ ],
+ "database_specific": {}
+ }
+ ],
+ "versions": [
+ "string"
+ ],
+ "ecosystem_specific": {},
+ "database_specific": {}
+ }
+ ],
+ "references": [
+ {
+ "type": "string",
+ "url": "string"
+ }
+ ],
+ "credits": [
+ {
+ "name": "string",
+ "contact": [
+ "string"
+ ]
+ }
+ ],
+ "database_specific": {}
+ }
+ ```
+ ⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.
+
+
+
+ ??? hint "Schema of the response body"
+ ```json
+ {
+ "title": "OSVAdvisory",
+ "required": [
+ "id",
+ "modified",
+ "published",
+ "aliases",
+ "related",
+ "summary",
+ "details",
+ "severity",
+ "affected",
+ "references",
+ "credits",
+ "database_specific"
+ ],
+ "type": "object",
+ "properties": {
+ "schema_version": {
+ "title": "Schema Version",
+ "type": "string",
+ "default": "1.3.1"
+ },
+ "id": {
+ "title": "Id",
+ "type": "string"
+ },
+ "modified": {
+ "title": "Modified",
+ "type": "string"
+ },
+ "published": {
+ "title": "Published",
+ "type": "string"
+ },
+ "withdrawn": {
+ "title": "Withdrawn",
+ "type": "string"
+ },
+ "aliases": {
+ "title": "Aliases",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "related": {
+ "title": "Related",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "summary": {
+ "title": "Summary",
+ "type": "string"
+ },
+ "details": {
+ "title": "Details",
+ "type": "string"
+ },
+ "severity": {
+ "title": "Severity",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/OSVSeverity"
+ }
+ },
+ "affected": {
+ "title": "Affected",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/OSVAffected"
+ }
+ },
+ "references": {
+ "title": "References",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/OSVReference"
+ }
+ },
+ "credits": {
+ "title": "Credits",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/OSVCredit"
+ }
+ },
+ "database_specific": {
+ "$ref": "#/components/schemas/OSVDatabaseSpecific"
+ }
+ }
+ }
+ ```
+
+
+
+
+ Response 422 Unprocessable Entity
+
+
+=== "application/json"
+
+
+ ```json
+ {
+ "detail": [
+ {
+ "loc": [
+ null
+ ],
+ "msg": "string",
+ "type": "string"
+ }
+ ]
+ }
+ ```
+ ⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.
+
+
+
+ ??? hint "Schema of the response body"
+ ```json
+ {
+ "title": "HTTPValidationError",
+ "type": "object",
+ "properties": {
+ "detail": {
+ "title": "Detail",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/ValidationError"
+ }
+ }
+ }
+ }
+ ```
+
+
+
+
+
+##
+
+
+
+### GET /_/healthz
+Health
+
+
+ Response 200 OK
+
+
+=== "application/json"
+
+
+
+ ??? hint "Schema of the response body"
+ ```json
+
+ ```
+
+
+
+
+
+
+---
+## Schemas
+
+
+### Advisory
+
+
+
+
+
+### Advisory_Pydantic_V2
+
+
+
+
+ Name
+ Type
+
+
+
+
+ affectedProducts
+ Array<string >
+
+
+ buildReferences
+ Array<string >
+
+
+ cves
+ Array<Advisory_Pydantic_V2_CVE >
+
+
+ description
+ string
+
+
+ fixes
+ Array<Advisory_Pydantic_V2_Fix >
+
+
+ name
+ string
+
+
+ publishedAt
+ string
+
+
+ rebootSuggested
+ boolean
+
+
+ references
+ Array<string >
+
+
+ rpms
+
+
+
+ severity
+ string
+
+
+ shortCode
+ string
+
+
+ solution
+ string
+
+
+ synopsis
+ string
+
+
+ topic
+ string
+
+
+ type
+ string
+
+
+
+
+
+
+### Advisory_Pydantic_V2_CVE
+
+
+
+
+ Name
+ Type
+
+
+
+
+ cvss3BaseScore
+ string
+
+
+ cvss3ScoringVector
+ string
+
+
+ cwe
+ string
+
+
+ name
+ string
+
+
+ sourceBy
+ string
+
+
+ sourceLink
+ string
+
+
+
+
+
+
+### Advisory_Pydantic_V2_Fix
+
+
+
+
+ Name
+ Type
+
+
+
+
+ description
+ string
+
+
+ sourceBy
+ string
+
+
+ sourceLink
+ string
+
+
+ ticket
+ string
+
+
+
+
+
+
+### Advisory_Pydantic_V2_RPMs
+
+
+
+
+ Name
+ Type
+
+
+
+
+ nvras
+ Array<string >
+
+
+
+
+
+
+### AdvisoryResponse
+
+
+
+
+
+### apollo.db.AdvisoryAffectedProduct.leaf
+
+
+
+
+ Name
+ Type
+
+
+
+
+ arch
+ string
+
+
+ id
+ integer
+
+
+ major_version
+ integer
+
+
+ minor_version
+ integer | null
+
+
+ name
+ string
+
+
+ variant
+ string
+
+
+
+
+
+
+### apollo.db.AdvisoryCVE.leaf
+
+
+
+
+ Name
+ Type
+
+
+
+
+ cve
+ string
+
+
+ cvss3_base_score
+ string | null
+
+
+ cvss3_scoring_vector
+ string | null
+
+
+ cwe
+ string | null
+
+
+ id
+ integer
+
+
+
+
+
+
+### apollo.db.AdvisoryFix.leaf
+
+
+
+
+ Name
+ Type
+
+
+
+
+ description
+ string | null
+
+
+ id
+ integer
+
+
+ source
+ string
+
+
+ ticket_id
+ string
+
+
+
+
+
+
+### apollo.db.AdvisoryPackage.leaf
+
+
+
+
+ Name
+ Type
+
+
+
+
+ checksum
+ string
+
+
+ checksum_type
+ string
+
+
+ id
+ integer
+
+
+ module_context
+ string | null
+
+
+ module_name
+ string | null
+
+
+ module_stream
+ string | null
+
+
+ module_version
+ string | null
+
+
+ nevra
+ string
+
+
+ package_name
+ string
+
+
+ product_name
+ string
+
+
+ repo_name
+ string
+
+
+
+
+
+
+### apollo.db.RedHatAdvisoryAffectedProduct.leaf
+
+
+
+
+ Name
+ Type
+
+
+
+
+ arch
+ string
+
+
+ id
+ integer
+
+
+ major_version
+ integer
+
+
+ minor_version
+ integer | null
+
+
+ name
+ string
+
+
+ variant
+ string
+
+
+
+
+
+
+### apollo.db.RedHatAdvisoryBugzillaBug.leaf
+
+
+
+
+ Name
+ Type
+
+
+
+
+ bugzilla_bug_id
+ string
+
+
+ description
+ string | null
+
+
+ id
+ integer
+
+
+
+
+
+
+### apollo.db.RedHatAdvisoryCVE.leaf
+
+
+
+
+ Name
+ Type
+
+
+
+
+ cve
+ string
+
+
+ cvss3_base_score
+ string | null
+
+
+ cvss3_scoring_vector
+ string | null
+
+
+ cwe
+ string | null
+
+
+ id
+ integer
+
+
+
+
+
+
+### apollo.db.RedHatAdvisoryPackage.leaf
+
+
+
+
+ Name
+ Type
+
+
+
+
+ id
+ integer
+
+
+ nevra
+ string
+
+
+
+
+
+
+### Body_do_login_login__post
+
+
+
+
+ Name
+ Type
+
+
+
+
+ email
+ string
+
+
+ password
+ string
+
+
+
+
+
+
+### Body_execute_red_hat_advisory_action_red_hat_advisories__advisory_name__post
+
+
+
+
+ Name
+ Type
+
+
+
+
+ action
+ string
+
+
+ data
+ string
+
+
+
+
+
+
+### Body_setup_page_login_setup_post
+
+
+
+
+ Name
+ Type
+
+
+
+
+ confirm_password
+ string
+
+
+ email
+ string
+
+
+ name
+ string
+
+
+ password
+ string
+
+
+
+
+
+
+### HTTPValidationError
+
+
+
+
+
+### Links
+
+
+
+
+ Name
+ Type
+
+
+
+
+ first
+ string
+
+
+ last
+ string
+
+
+ next
+ string
+
+
+ prev
+ string
+
+
+ self
+ string
+
+
+
+
+
+
+### OSVAdvisory
+
+
+
+
+ Name
+ Type
+
+
+
+
+ affected
+ Array<OSVAffected >
+
+
+ aliases
+ Array<string >
+
+
+ credits
+ Array<OSVCredit >
+
+
+ database_specific
+ OSVDatabaseSpecific
+
+
+ details
+ string
+
+
+ id
+ string
+
+
+ modified
+ string
+
+
+ published
+ string
+
+
+ references
+ Array<OSVReference >
+
+
+ related
+ Array<string >
+
+
+ schema_version
+ string
+
+
+ severity
+ Array<OSVSeverity >
+
+
+ summary
+ string
+
+
+ withdrawn
+ string
+
+
+
+
+
+
+### OSVAffected
+
+
+
+
+
+### OSVAffectedDatabaseSpecific
+
+
+
+
+### OSVCredit
+
+
+
+
+ Name
+ Type
+
+
+
+
+ contact
+ Array<string >
+
+
+ name
+ string
+
+
+
+
+
+
+### OSVDatabaseSpecific
+
+
+
+
+### OSVEcosystemSpecific
+
+
+
+
+### OSVEvent
+
+
+
+
+ Name
+ Type
+
+
+
+
+ fixed
+ string
+
+
+ introduced
+ string
+
+
+ last_affected
+ string
+
+
+ limit
+ string
+
+
+
+
+
+
+### OSVPackage
+
+
+
+
+ Name
+ Type
+
+
+
+
+ ecosystem
+ string
+
+
+ name
+ string
+
+
+ purl
+ string
+
+
+
+
+
+
+### OSVRange
+
+
+
+
+
+### OSVRangeDatabaseSpecific
+
+
+
+
+### OSVReference
+
+
+
+
+ Name
+ Type
+
+
+
+
+ type
+ string
+
+
+ url
+ string
+
+
+
+
+
+
+### OSVSeverity
+
+
+
+
+ Name
+ Type
+
+
+
+
+ score
+ string
+
+
+ type
+ string
+
+
+
+
+
+
+### Pagination_Advisory_
+
+
+
+
+ Name
+ Type
+
+
+
+
+ advisories
+ Array<Advisory >
+
+
+ links
+ Links
+
+
+ page
+ integer
+
+
+ size
+ integer
+
+
+ total
+ integer
+
+
+
+
+
+
+### Pagination_Advisory_Pydantic_V2_
+
+
+
+
+ Name
+ Type
+
+
+
+
+ advisories
+ Array<Advisory_Pydantic_V2 >
+
+
+ lastUpdated
+ string
+
+
+ page
+ integer
+
+
+ size
+ integer
+
+
+ total
+ integer
+
+
+
+
+
+
+### Pagination_OSVAdvisory_
+
+
+
+
+ Name
+ Type
+
+
+
+
+ advisories
+ Array<OSVAdvisory >
+
+
+ links
+ Links
+
+
+ page
+ integer
+
+
+ size
+ integer
+
+
+ total
+ integer
+
+
+
+
+
+
+### Pagination_RedHatAdvisory_
+
+
+
+
+ Name
+ Type
+
+
+
+
+ advisories
+ Array<RedHatAdvisory >
+
+
+ links
+ Links
+
+
+ page
+ integer
+
+
+ size
+ integer
+
+
+ total
+ integer
+
+
+
+
+
+
+### RedHatAdvisory
+
+
+
+
+
+### ValidationError
+
+
+
+
+ Name
+ Type
+
+
+
+
+ loc
+ Array<>
+
+
+ msg
+ string
+
+
+ type
+ string
+
+
+
+
+
diff --git a/web/docs/assets/icon-white.svg b/web/docs/assets/icon-white.svg
new file mode 100644
index 0000000..a0f6cef
--- /dev/null
+++ b/web/docs/assets/icon-white.svg
@@ -0,0 +1,8 @@
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/web/docs/index.md b/web/docs/index.md
new file mode 100644
index 0000000..2612386
--- /dev/null
+++ b/web/docs/index.md
@@ -0,0 +1,8 @@
+---
+title: Home
+---
+
+# distro-tools
+
+# About
+Documentation for tools/services in the distro-tools repository.
diff --git a/web/mkdocs.yml b/web/mkdocs.yml
new file mode 100644
index 0000000..7e9e6e5
--- /dev/null
+++ b/web/mkdocs.yml
@@ -0,0 +1,73 @@
+---
+# Project information
+site_name: Distro Tools
+site_url: https://distro-tools.rocky.page
+site_description: >-
+ Distribution building tools from the RESF. Used to build Rocky Linux
+# Repository
+repo_url: https://github.com/resf/distro-tools
+repo_name: resf/distro-tools
+
+# Copyright
+copyright: Copyright © 2023 Rocky Enterprise Software Foundation
+
+# Configuration
+theme:
+ name: material
+ palette:
+ - media: "(prefers-color-scheme: light)"
+ scheme: default
+ primary: teal
+ accent: teal
+ toggle:
+ icon: material/weather-night
+ name: Switch to dark mode
+ - media: "(prefers-color-scheme: dark)"
+ scheme: slate
+ primary: teal
+ accent: teal
+ toggle:
+ icon: material/weather-sunny
+ name: Switch to light mode
+ highlightjs: true
+ hljs_languages:
+ - bash
+ - perl
+ - python
+ - yaml
+ features:
+ - navigation.expand
+ - navigation.indexes
+ - navigation.instant
+ - navigation.tabs
+ - navigation.top
+ - navigation.tracking
+ - search.highlight
+ - search.suggest
+ - toc.integrate
+ logo: assets/icon-white.svg
+
+# Plugins
+plugins:
+ - autolinks
+ - awesome-pages
+ - git-revision-date
+ - search
+
+# Extensions
+markdown_extensions:
+ - abbr
+ - admonition
+ - attr_list
+ - def_list
+ - footnotes
+ - meta
+ - pymdownx.details # this allows collapsible attributions
+ - pymdownx.emoji:
+ emoji_index: !!python/name:materialx.emoji.twemoji
+ emoji_generator: !!python/name:materialx.emoji.to_svg
+ - pymdownx.superfences
+ - pymdownx.tabbed:
+ alternate_style: true
+ - toc:
+ permalink: true
\ No newline at end of file
diff --git a/web/requirements.txt b/web/requirements.txt
new file mode 100644
index 0000000..8b20049
--- /dev/null
+++ b/web/requirements.txt
@@ -0,0 +1,7 @@
+mkdocs
+mkdocs-autolinks-plugin
+mkdocs-awesome-pages-plugin
+mkdocs-git-revision-date-plugin
+mkdocs-macros-plugin
+mkdocs-material
+mkdocs-windmill
\ No newline at end of file