openapi: "3.0.2"
info:
title: Nydus Service and Management APIs, version 2.
description:
This is the second version of RESTful Nydus service and management APIs to manage the global daemon and
individual services.
license:
name: Apache 2.0
url: http://www.apache.org/licenses/LICENSE-2.0.html
version: "0.1"
servers:
- url: https://localhost/v2
paths:
/daemon:
summary: Returns general information about the nydus daemon
get:
operationId: describeDaemon
responses:
"200":
description: Daemon information
content:
application/json:
schema:
$ref: "#/components/schemas/DaemonInfo"
"500":
description: Internal Server Error
content:
application/json:
schema:
$ref: "#/components/schemas/ErrorMsg"
put:
operationId: configureDaemon
requestBody:
content:
application/json:
schema:
$ref: "#/components/schemas/DaemonConf"
responses:
"204":
description: "Successfully configure the daemon!"
"500":
description: "Can't configure the daemon!"
content:
application/json:
schema:
$ref: "#/components/schemas/ErrorMsg"
/blobs:
summary: Manage cached blob objects
get:
operationId: getBlobObject
responses:
"200":
description: Blob objects
content:
application/json:
schema:
$ref: "#/components/schemas/BlobObjectList"
"404":
description: "Blob object not found"
"500":
description: "Internal Server Error"
content:
application/json:
schema:
$ref: "#/components/schemas/ErrorMsg"
put:
operationId: createBlobObject
requestBody:
content:
application/json:
schema:
$ref: "#/components/schemas/BlobObjectConf"
responses:
"204":
description: "Successfully created the blob object!"
"500":
description: "Can't create the blob object!"
content:
application/json:
schema:
$ref: "#/components/schemas/ErrorMsg"
delete:
operationId: deleteBlobObject
requestBody:
content:
application/json:
schema:
$ref: "#/components/schemas/BlobObjectParam"
responses:
"204":
description: "Successfully deleted the blob object!"
"500":
description: "Can't delete the blob object!"
content:
application/json:
schema:
$ref: "#/components/schemas/ErrorMsg"
operationId: deleteBlobFile
requestBody:
content:
application/json:
schema:
$ref: "#/components/schemas/BlobId"
responses:
"204":
description: "Successfully deleted the blob file!"
"500":
description: "Can't delete the blob file!"
content:
application/json:
schema:
$ref: "#/components/schemas/ErrorMsg"
components:
schemas:
DaemonInfo:
type: object
properties:
version:
type: object
properties:
package_ver:
type: string
git_commit:
type: string
build_time:
type: string
profile:
type: string
rustc:
type: string
id:
type: string
supervisor:
type: string
state:
type: string
enum:
- INIT
- RUNNING
- UPGRADING
- INTERRUPTED
- STOPPED
- UNKNOWN
DaemonConf:
type: object
properties:
log_level:
type: string
enum: [trace, debug, info, warn, error]
ErrorMsg:
type: object
properties:
code:
description: Nydus defined error code indicating certain error type
type: string
message:
description: Details about the error
type: string