chore(swagger): updated swagger docs

This commit is contained in:
yusing
2025-09-04 06:41:04 +08:00
parent de9ddfaef6
commit f34f502660
3 changed files with 1684 additions and 554 deletions

View File

@@ -176,54 +176,6 @@ const docTemplate = `{
} }
}, },
"/auth/callback": { "/auth/callback": {
"get": {
"description": "Handles the callback from the provider after successful authentication",
"produces": [
"text/plain"
],
"tags": [
"auth"
],
"summary": "Auth Callback",
"parameters": [
{
"description": "Userpass only",
"name": "body",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/auth.UserPassAuthCallbackRequest"
}
}
],
"responses": {
"200": {
"description": "Userpass: OK",
"schema": {
"type": "string"
}
},
"302": {
"description": "OIDC: Redirects to home page",
"schema": {
"type": "string"
}
},
"400": {
"description": "Userpass: invalid request / credentials",
"schema": {
"type": "string"
}
},
"500": {
"description": "Internal server error",
"schema": {
"type": "string"
}
}
},
"x-id": "callback"
},
"post": { "post": {
"description": "Handles the callback from the provider after successful authentication", "description": "Handles the callback from the provider after successful authentication",
"produces": [ "produces": [
@@ -427,6 +379,48 @@ const docTemplate = `{
"x-id": "renew" "x-id": "renew"
} }
}, },
"/docker/container/{id}": {
"get": {
"description": "Get container by container id",
"produces": [
"application/json"
],
"tags": [
"docker"
],
"summary": "Get container",
"parameters": [
{
"type": "string",
"description": "Container ID",
"name": "id",
"in": "path",
"required": true
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/ContainerResponse"
}
},
"403": {
"description": "Forbidden",
"schema": {
"$ref": "#/definitions/ErrorResponse"
}
},
"500": {
"description": "Internal Server Error",
"schema": {
"$ref": "#/definitions/ErrorResponse"
}
}
},
"x-id": "container"
}
},
"/docker/containers": { "/docker/containers": {
"get": { "get": {
"description": "Get containers", "description": "Get containers",
@@ -496,9 +490,9 @@ const docTemplate = `{
"x-id": "info" "x-id": "info"
} }
}, },
"/docker/logs/{server}/{container}": { "/docker/logs/{id}": {
"get": { "get": {
"description": "Get docker container logs", "description": "Get docker container logs by container id",
"consumes": [ "consumes": [
"application/json" "application/json"
], ],
@@ -511,17 +505,10 @@ const docTemplate = `{
], ],
"summary": "Get docker container logs", "summary": "Get docker container logs",
"parameters": [ "parameters": [
{
"type": "string",
"description": "server name",
"name": "server",
"in": "path",
"required": true
},
{ {
"type": "string", "type": "string",
"description": "container id", "description": "container id",
"name": "container", "name": "id",
"in": "path", "in": "path",
"required": true "required": true
}, },
@@ -983,6 +970,12 @@ const docTemplate = `{
], ],
"summary": "Homepage items", "summary": "Homepage items",
"parameters": [ "parameters": [
{
"type": "string",
"description": "Search query",
"name": "search",
"in": "query"
},
{ {
"type": "string", "type": "string",
"description": "Category filter", "description": "Category filter",
@@ -1000,7 +993,10 @@ const docTemplate = `{
"200": { "200": {
"description": "OK", "description": "OK",
"schema": { "schema": {
"$ref": "#/definitions/HomepageItems" "type": "array",
"items": {
"$ref": "#/definitions/HomepageCategory"
}
} }
}, },
"400": { "400": {
@@ -1113,6 +1109,194 @@ const docTemplate = `{
"x-id": "set-item" "x-id": "set-item"
} }
}, },
"/homepage/set/item_all_sort_order": {
"post": {
"description": "Set homepage item all sort order.",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"homepage"
],
"summary": "Set homepage item all sort order",
"parameters": [
{
"description": "Set item all sort order",
"name": "request",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/HomepageOverrideItemAllSortOrderParams"
}
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/SuccessResponse"
}
},
"400": {
"description": "Bad Request",
"schema": {
"$ref": "#/definitions/ErrorResponse"
}
},
"500": {
"description": "Internal Server Error",
"schema": {
"$ref": "#/definitions/ErrorResponse"
}
}
},
"x-id": "set-item-all-sort-order"
}
},
"/homepage/set/item_fav_sort_order": {
"post": {
"description": "Set homepage item fav sort order.",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"homepage"
],
"summary": "Set homepage item fav sort order",
"parameters": [
{
"description": "Set item fav sort order",
"name": "request",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/HomepageOverrideItemFavSortOrderParams"
}
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/SuccessResponse"
}
},
"400": {
"description": "Bad Request",
"schema": {
"$ref": "#/definitions/ErrorResponse"
}
},
"500": {
"description": "Internal Server Error",
"schema": {
"$ref": "#/definitions/ErrorResponse"
}
}
},
"x-id": "set-item-fav-sort-order"
}
},
"/homepage/set/item_favorite": {
"post": {
"description": "Set homepage item favorite.",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"homepage"
],
"summary": "Set homepage item favorite",
"parameters": [
{
"description": "Set item favorite",
"name": "request",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/HomepageOverrideItemFavoriteParams"
}
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/SuccessResponse"
}
},
"400": {
"description": "Bad Request",
"schema": {
"$ref": "#/definitions/ErrorResponse"
}
},
"500": {
"description": "Internal Server Error",
"schema": {
"$ref": "#/definitions/ErrorResponse"
}
}
},
"x-id": "set-item-favorite"
}
},
"/homepage/set/item_sort_order": {
"post": {
"description": "Set homepage item sort order.",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"homepage"
],
"summary": "Set homepage item sort order",
"parameters": [
{
"description": "Set item sort order",
"name": "request",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/HomepageOverrideItemSortOrderParams"
}
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/SuccessResponse"
}
},
"400": {
"description": "Bad Request",
"schema": {
"$ref": "#/definitions/ErrorResponse"
}
},
"500": {
"description": "Internal Server Error",
"schema": {
"$ref": "#/definitions/ErrorResponse"
}
}
},
"x-id": "set-item-sort-order"
}
},
"/homepage/set/item_visible": { "/homepage/set/item_visible": {
"post": { "post": {
"description": "POST list of item ids and visibility value.", "description": "POST list of item ids and visibility value.",
@@ -1260,6 +1444,105 @@ const docTemplate = `{
"x-id": "icons" "x-id": "icons"
} }
}, },
"/metrics/all_system_info": {
"get": {
"description": "Get system info",
"produces": [
"application/json"
],
"tags": [
"metrics",
"websocket"
],
"summary": "Get system info",
"parameters": [
{
"enum": [
"cpu_average",
"memory_usage",
"memory_usage_percent",
"disks_read_speed",
"disks_write_speed",
"disks_iops",
"disk_usage",
"network_speed",
"network_transfer",
"sensor_temperature"
],
"type": "string",
"x-enum-varnames": [
"SystemInfoAggregateModeCPUAverage",
"SystemInfoAggregateModeMemoryUsage",
"SystemInfoAggregateModeMemoryUsagePercent",
"SystemInfoAggregateModeDisksReadSpeed",
"SystemInfoAggregateModeDisksWriteSpeed",
"SystemInfoAggregateModeDisksIOPS",
"SystemInfoAggregateModeDiskUsage",
"SystemInfoAggregateModeNetworkSpeed",
"SystemInfoAggregateModeNetworkTransfer",
"SystemInfoAggregateModeSensorTemperature"
],
"name": "aggregate",
"in": "query"
},
{
"type": "string",
"format": "duration",
"name": "interval",
"in": "query"
},
{
"enum": [
"5m",
"15m",
"1h",
"1d",
"1mo"
],
"type": "string",
"x-enum-varnames": [
"MetricsPeriod5m",
"MetricsPeriod15m",
"MetricsPeriod1h",
"MetricsPeriod1d",
"MetricsPeriod1mo"
],
"name": "period",
"in": "query"
}
],
"responses": {
"200": {
"description": "period specified, aggregated system info by agent name",
"schema": {
"type": "object",
"additionalProperties": {
"$ref": "#/definitions/SystemInfoAggregate"
}
}
},
"400": {
"description": "Bad Request",
"schema": {
"$ref": "#/definitions/ErrorResponse"
}
},
"403": {
"description": "Forbidden",
"schema": {
"$ref": "#/definitions/ErrorResponse"
}
},
"500": {
"description": "Internal Server Error",
"schema": {
"$ref": "#/definitions/ErrorResponse"
}
}
},
"x-id": "all_system_info"
}
},
"/metrics/system_info": { "/metrics/system_info": {
"get": { "get": {
"description": "Get system info", "description": "Get system info",
@@ -1277,6 +1560,11 @@ const docTemplate = `{
"name": "agentAddr", "name": "agentAddr",
"in": "query" "in": "query"
}, },
{
"type": "string",
"name": "agentName",
"in": "query"
},
{ {
"enum": [ "enum": [
"cpu_average", "cpu_average",
@@ -1345,12 +1633,6 @@ const docTemplate = `{
"$ref": "#/definitions/ErrorResponse" "$ref": "#/definitions/ErrorResponse"
} }
}, },
"404": {
"description": "Not Found",
"schema": {
"$ref": "#/definitions/ErrorResponse"
}
},
"500": { "500": {
"description": "Internal Server Error", "description": "Internal Server Error",
"schema": { "schema": {
@@ -1723,9 +2005,6 @@ const docTemplate = `{
"addr": { "addr": {
"type": "string" "type": "string"
}, },
"is_nerdctl": {
"type": "boolean"
},
"name": { "name": {
"type": "string" "type": "string"
}, },
@@ -1864,6 +2143,9 @@ const docTemplate = `{
}, },
"running": { "running": {
"type": "boolean" "type": "boolean"
},
"state": {
"$ref": "#/definitions/container.ContainerState"
} }
} }
}, },
@@ -1903,7 +2185,12 @@ const docTemplate = `{
"type": "string" "type": "string"
}, },
"state": { "state": {
"$ref": "#/definitions/ContainerState" "allOf": [
{
"$ref": "#/definitions/ContainerState"
}
],
"x-nullable": true
} }
} }
}, },
@@ -2125,12 +2412,125 @@ const docTemplate = `{
"$ref": "#/definitions/routes.HealthInfo" "$ref": "#/definitions/routes.HealthInfo"
} }
}, },
"HomepageItems": { "HomepageCategory": {
"type": "object", "type": "object",
"additionalProperties": { "properties": {
"type": "array",
"items": { "items": {
"$ref": "#/definitions/homepage.Item" "type": "array",
"items": {
"$ref": "#/definitions/HomepageItem"
}
},
"name": {
"type": "string"
}
}
},
"HomepageItem": {
"type": "object",
"properties": {
"alias": {
"type": "string"
},
"all_sort_order": {
"description": "sort order in all",
"type": "integer"
},
"category": {
"type": "string"
},
"description": {
"type": "string"
},
"fav_sort_order": {
"description": "sort order in favorite",
"type": "integer"
},
"favorite": {
"type": "boolean"
},
"icon": {
"type": "string"
},
"name": {
"description": "display name",
"type": "string"
},
"origin_url": {
"type": "string"
},
"provider": {
"type": "string"
},
"show": {
"type": "boolean"
},
"sort_order": {
"description": "sort order in category",
"type": "integer"
},
"url": {
"type": "string"
},
"widget_config": {
"allOf": [
{
"$ref": "#/definitions/widgets.Config"
}
],
"x-nullable": true
},
"widgets": {
"type": "array",
"items": {
"$ref": "#/definitions/HomepageItemWidget"
}
}
}
},
"HomepageItemConfig": {
"type": "object",
"properties": {
"category": {
"type": "string"
},
"description": {
"type": "string"
},
"favorite": {
"type": "boolean"
},
"icon": {
"type": "string"
},
"name": {
"description": "display name",
"type": "string"
},
"show": {
"type": "boolean"
},
"url": {
"type": "string"
},
"widget_config": {
"allOf": [
{
"$ref": "#/definitions/widgets.Config"
}
],
"x-nullable": true
}
}
},
"HomepageItemWidget": {
"type": "object",
"properties": {
"label": {
"type": "string"
},
"value": {
"type": "string"
} }
} }
}, },
@@ -2145,11 +2545,58 @@ const docTemplate = `{
} }
} }
}, },
"HomepageOverrideItemAllSortOrderParams": {
"type": "object",
"properties": {
"value": {
"type": "integer"
},
"which": {
"type": "string"
}
}
},
"HomepageOverrideItemFavSortOrderParams": {
"type": "object",
"properties": {
"value": {
"type": "integer"
},
"which": {
"type": "string"
}
}
},
"HomepageOverrideItemFavoriteParams": {
"type": "object",
"properties": {
"value": {
"type": "boolean"
},
"which": {
"type": "array",
"items": {
"type": "string"
}
}
}
},
"HomepageOverrideItemParams": { "HomepageOverrideItemParams": {
"type": "object", "type": "object",
"properties": { "properties": {
"value": { "value": {
"$ref": "#/definitions/homepage.ItemConfig" "$ref": "#/definitions/HomepageItemConfig"
},
"which": {
"type": "string"
}
}
},
"HomepageOverrideItemSortOrderParams": {
"type": "object",
"properties": {
"value": {
"type": "integer"
}, },
"which": { "which": {
"type": "string" "type": "string"
@@ -2176,7 +2623,7 @@ const docTemplate = `{
"value": { "value": {
"type": "object", "type": "object",
"additionalProperties": { "additionalProperties": {
"$ref": "#/definitions/homepage.ItemConfig" "$ref": "#/definitions/HomepageItemConfig"
} }
} }
} }
@@ -2388,18 +2835,6 @@ const docTemplate = `{
"type" "type"
], ],
"properties": { "properties": {
"container_runtime": {
"enum": [
"docker",
"podman",
"nerdctl"
],
"allOf": [
{
"$ref": "#/definitions/agent.ContainerRuntime"
}
]
},
"host": { "host": {
"type": "string" "type": "string"
}, },
@@ -2580,7 +3015,12 @@ const docTemplate = `{
"type": "boolean" "type": "boolean"
}, },
"excluded": { "excluded": {
"type": "boolean" "type": "boolean",
"x-nullable": true
},
"excluded_reason": {
"type": "string",
"x-nullable": true
}, },
"health": { "health": {
"description": "for swagger", "description": "for swagger",
@@ -2594,7 +3034,7 @@ const docTemplate = `{
"$ref": "#/definitions/HealthCheckConfig" "$ref": "#/definitions/HealthCheckConfig"
}, },
"homepage": { "homepage": {
"$ref": "#/definitions/homepage.ItemConfig" "$ref": "#/definitions/HomepageItemConfig"
}, },
"host": { "host": {
"type": "string" "type": "string"
@@ -2744,6 +3184,16 @@ const docTemplate = `{
"avg_latency": { "avg_latency": {
"type": "number" "type": "number"
}, },
"current_status": {
"type": "string",
"enum": [
"healthy",
"unhealthy",
"unknown",
"napping",
"starting"
]
},
"display_name": { "display_name": {
"type": "string" "type": "string"
}, },
@@ -2753,6 +3203,9 @@ const docTemplate = `{
"idle": { "idle": {
"type": "number" "type": "number"
}, },
"is_docker": {
"type": "boolean"
},
"statuses": { "statuses": {
"type": "array", "type": "array",
"items": { "items": {
@@ -2925,9 +3378,6 @@ const docTemplate = `{
"client": { "client": {
"$ref": "#/definitions/PEMPairResponse" "$ref": "#/definitions/PEMPairResponse"
}, },
"container_runtime": {
"$ref": "#/definitions/agent.ContainerRuntime"
},
"host": { "host": {
"type": "string" "type": "string"
} }
@@ -3008,19 +3458,6 @@ const docTemplate = `{
} }
} }
}, },
"agent.ContainerRuntime": {
"type": "string",
"enum": [
"docker",
"podman",
"nerdctl"
],
"x-enum-varnames": [
"ContainerRuntimeDocker",
"ContainerRuntimePodman",
"ContainerRuntimeNerdctl"
]
},
"auth.UserPassAuthCallbackRequest": { "auth.UserPassAuthCallbackRequest": {
"type": "object", "type": "object",
"properties": { "properties": {
@@ -3032,6 +3469,45 @@ const docTemplate = `{
} }
} }
}, },
"container.ContainerState": {
"type": "string",
"enum": [
"created",
"running",
"paused",
"restarting",
"removing",
"exited",
"dead"
],
"x-enum-comments": {
"StateCreated": "StateCreated indicates the container is created, but not (yet) started.",
"StateDead": "StateDead indicates that the container failed to be deleted. Containers in this state are attempted to be cleaned up when the daemon restarts.",
"StateExited": "StateExited indicates that the container exited.",
"StatePaused": "StatePaused indicates that the container's current state is paused.",
"StateRemoving": "StateRemoving indicates that the container is being removed.",
"StateRestarting": "StateRestarting indicates that the container is currently restarting.",
"StateRunning": "StateRunning indicates that the container is running."
},
"x-enum-descriptions": [
"StateCreated indicates the container is created, but not (yet) started.",
"StateRunning indicates that the container is running.",
"StatePaused indicates that the container's current state is paused.",
"StateRestarting indicates that the container is currently restarting.",
"StateRemoving indicates that the container is being removed.",
"StateExited indicates that the container exited.",
"StateDead indicates that the container failed to be deleted. Containers in this state are attempted to be cleaned up when the daemon restarts."
],
"x-enum-varnames": [
"StateCreated",
"StateRunning",
"StatePaused",
"StateRestarting",
"StateRemoving",
"StateExited",
"StateDead"
]
},
"container.Port": { "container.Port": {
"type": "object", "type": "object",
"properties": { "properties": {
@@ -3169,77 +3645,6 @@ const docTemplate = `{
"IconSourceSelfhSt" "IconSourceSelfhSt"
] ]
}, },
"homepage.Item": {
"type": "object",
"properties": {
"alias": {
"type": "string"
},
"category": {
"type": "string"
},
"description": {
"type": "string"
},
"icon": {
"type": "string"
},
"name": {
"description": "display name",
"type": "string"
},
"origin_url": {
"type": "string"
},
"provider": {
"type": "string"
},
"show": {
"type": "boolean"
},
"sort_order": {
"type": "integer"
},
"url": {
"type": "string"
},
"widget_config": {
"allOf": [
{
"$ref": "#/definitions/widgets.Config"
}
],
"x-nullable": true
}
}
},
"homepage.ItemConfig": {
"type": "object",
"properties": {
"category": {
"type": "string"
},
"description": {
"type": "string"
},
"icon": {
"type": "string"
},
"name": {
"description": "display name",
"type": "string"
},
"show": {
"type": "boolean"
},
"sort_order": {
"type": "integer"
},
"url": {
"type": "string"
}
}
},
"mem.VirtualMemoryStat": { "mem.VirtualMemoryStat": {
"type": "object", "type": "object",
"properties": { "properties": {
@@ -3327,7 +3732,12 @@ const docTemplate = `{
"type": "boolean" "type": "boolean"
}, },
"excluded": { "excluded": {
"type": "boolean" "type": "boolean",
"x-nullable": true
},
"excluded_reason": {
"type": "string",
"x-nullable": true
}, },
"health": { "health": {
"description": "for swagger", "description": "for swagger",
@@ -3341,7 +3751,7 @@ const docTemplate = `{
"$ref": "#/definitions/HealthCheckConfig" "$ref": "#/definitions/HealthCheckConfig"
}, },
"homepage": { "homepage": {
"$ref": "#/definitions/homepage.ItemConfig" "$ref": "#/definitions/HomepageItemConfig"
}, },
"host": { "host": {
"type": "string" "type": "string"
@@ -3466,26 +3876,20 @@ const docTemplate = `{
} }
} }
}, },
"rules.Command": {
"type": "object"
},
"rules.Rule": { "rules.Rule": {
"type": "object", "type": "object",
"properties": { "properties": {
"do": { "do": {
"$ref": "#/definitions/rules.Command" "type": "string"
}, },
"name": { "name": {
"type": "string" "type": "string"
}, },
"on": { "on": {
"$ref": "#/definitions/rules.RuleOn" "type": "string"
} }
} }
}, },
"rules.RuleOn": {
"type": "object"
},
"sensors.TemperatureStat": { "sensors.TemperatureStat": {
"type": "object", "type": "object",
"properties": { "properties": {

File diff suppressed because it is too large Load Diff

View File

@@ -4,8 +4,6 @@ definitions:
properties: properties:
addr: addr:
type: string type: string
is_nerdctl:
type: boolean
name: name:
type: string type: string
version: version:
@@ -97,6 +95,8 @@ definitions:
description: non-zero publicPort:types.Port description: non-zero publicPort:types.Port
running: running:
type: boolean type: boolean
state:
$ref: '#/definitions/container.ContainerState'
type: object type: object
ContainerImage: ContainerImage:
properties: properties:
@@ -122,7 +122,9 @@ definitions:
server: server:
type: string type: string
state: state:
$ref: '#/definitions/ContainerState' allOf:
- $ref: '#/definitions/ContainerState'
x-nullable: true
type: object type: object
ContainerState: ContainerState:
enum: enum:
@@ -281,11 +283,84 @@ definitions:
additionalProperties: additionalProperties:
$ref: '#/definitions/routes.HealthInfo' $ref: '#/definitions/routes.HealthInfo'
type: object type: object
HomepageItems: HomepageCategory:
additionalProperties: properties:
items: items:
$ref: '#/definitions/homepage.Item' items:
type: array $ref: '#/definitions/HomepageItem'
type: array
name:
type: string
type: object
HomepageItem:
properties:
alias:
type: string
all_sort_order:
description: sort order in all
type: integer
category:
type: string
description:
type: string
fav_sort_order:
description: sort order in favorite
type: integer
favorite:
type: boolean
icon:
type: string
name:
description: display name
type: string
origin_url:
type: string
provider:
type: string
show:
type: boolean
sort_order:
description: sort order in category
type: integer
url:
type: string
widget_config:
allOf:
- $ref: '#/definitions/widgets.Config'
x-nullable: true
widgets:
items:
$ref: '#/definitions/HomepageItemWidget'
type: array
type: object
HomepageItemConfig:
properties:
category:
type: string
description:
type: string
favorite:
type: boolean
icon:
type: string
name:
description: display name
type: string
show:
type: boolean
url:
type: string
widget_config:
allOf:
- $ref: '#/definitions/widgets.Config'
x-nullable: true
type: object
HomepageItemWidget:
properties:
label:
type: string
value:
type: string
type: object type: object
HomepageOverrideCategoryOrderParams: HomepageOverrideCategoryOrderParams:
properties: properties:
@@ -294,10 +369,40 @@ definitions:
which: which:
type: string type: string
type: object type: object
HomepageOverrideItemAllSortOrderParams:
properties:
value:
type: integer
which:
type: string
type: object
HomepageOverrideItemFavSortOrderParams:
properties:
value:
type: integer
which:
type: string
type: object
HomepageOverrideItemFavoriteParams:
properties:
value:
type: boolean
which:
items:
type: string
type: array
type: object
HomepageOverrideItemParams: HomepageOverrideItemParams:
properties: properties:
value: value:
$ref: '#/definitions/homepage.ItemConfig' $ref: '#/definitions/HomepageItemConfig'
which:
type: string
type: object
HomepageOverrideItemSortOrderParams:
properties:
value:
type: integer
which: which:
type: string type: string
type: object type: object
@@ -314,7 +419,7 @@ definitions:
properties: properties:
value: value:
additionalProperties: additionalProperties:
$ref: '#/definitions/homepage.ItemConfig' $ref: '#/definitions/HomepageItemConfig'
type: object type: object
type: object type: object
IdlewatcherConfig: IdlewatcherConfig:
@@ -454,13 +559,6 @@ definitions:
- MetricsPeriod1mo - MetricsPeriod1mo
NewAgentRequest: NewAgentRequest:
properties: properties:
container_runtime:
allOf:
- $ref: '#/definitions/agent.ContainerRuntime'
enum:
- docker
- podman
- nerdctl
host: host:
type: string type: string
name: name:
@@ -587,6 +685,10 @@ definitions:
type: boolean type: boolean
excluded: excluded:
type: boolean type: boolean
x-nullable: true
excluded_reason:
type: string
x-nullable: true
health: health:
allOf: allOf:
- $ref: '#/definitions/HealthJSON' - $ref: '#/definitions/HealthJSON'
@@ -594,7 +696,7 @@ definitions:
healthcheck: healthcheck:
$ref: '#/definitions/HealthCheckConfig' $ref: '#/definitions/HealthCheckConfig'
homepage: homepage:
$ref: '#/definitions/homepage.ItemConfig' $ref: '#/definitions/HomepageItemConfig'
host: host:
type: string type: string
idlewatcher: idlewatcher:
@@ -693,12 +795,22 @@ definitions:
type: string type: string
avg_latency: avg_latency:
type: number type: number
current_status:
enum:
- healthy
- unhealthy
- unknown
- napping
- starting
type: string
display_name: display_name:
type: string type: string
downtime: downtime:
type: number type: number
idle: idle:
type: number type: number
is_docker:
type: boolean
statuses: statuses:
items: items:
$ref: '#/definitions/RouteStatus' $ref: '#/definitions/RouteStatus'
@@ -819,8 +931,6 @@ definitions:
$ref: '#/definitions/PEMPairResponse' $ref: '#/definitions/PEMPairResponse'
client: client:
$ref: '#/definitions/PEMPairResponse' $ref: '#/definitions/PEMPairResponse'
container_runtime:
$ref: '#/definitions/agent.ContainerRuntime'
host: host:
type: string type: string
type: object type: object
@@ -872,16 +982,6 @@ definitions:
status_codes: status_codes:
$ref: '#/definitions/LogFilter-StatusCodeRange' $ref: '#/definitions/LogFilter-StatusCodeRange'
type: object type: object
agent.ContainerRuntime:
enum:
- docker
- podman
- nerdctl
type: string
x-enum-varnames:
- ContainerRuntimeDocker
- ContainerRuntimePodman
- ContainerRuntimeNerdctl
auth.UserPassAuthCallbackRequest: auth.UserPassAuthCallbackRequest:
properties: properties:
password: password:
@@ -889,6 +989,43 @@ definitions:
username: username:
type: string type: string
type: object type: object
container.ContainerState:
enum:
- created
- running
- paused
- restarting
- removing
- exited
- dead
type: string
x-enum-comments:
StateCreated: StateCreated indicates the container is created, but not (yet)
started.
StateDead: StateDead indicates that the container failed to be deleted. Containers
in this state are attempted to be cleaned up when the daemon restarts.
StateExited: StateExited indicates that the container exited.
StatePaused: StatePaused indicates that the container's current state is paused.
StateRemoving: StateRemoving indicates that the container is being removed.
StateRestarting: StateRestarting indicates that the container is currently restarting.
StateRunning: StateRunning indicates that the container is running.
x-enum-descriptions:
- StateCreated indicates the container is created, but not (yet) started.
- StateRunning indicates that the container is running.
- StatePaused indicates that the container's current state is paused.
- StateRestarting indicates that the container is currently restarting.
- StateRemoving indicates that the container is being removed.
- StateExited indicates that the container exited.
- StateDead indicates that the container failed to be deleted. Containers in this
state are attempted to be cleaned up when the daemon restarts.
x-enum-varnames:
- StateCreated
- StateRunning
- StatePaused
- StateRestarting
- StateRemoving
- StateExited
- StateDead
container.Port: container.Port:
properties: properties:
IP: IP:
@@ -1001,52 +1138,6 @@ definitions:
- IconSourceRelative - IconSourceRelative
- IconSourceWalkXCode - IconSourceWalkXCode
- IconSourceSelfhSt - IconSourceSelfhSt
homepage.Item:
properties:
alias:
type: string
category:
type: string
description:
type: string
icon:
type: string
name:
description: display name
type: string
origin_url:
type: string
provider:
type: string
show:
type: boolean
sort_order:
type: integer
url:
type: string
widget_config:
allOf:
- $ref: '#/definitions/widgets.Config'
x-nullable: true
type: object
homepage.ItemConfig:
properties:
category:
type: string
description:
type: string
icon:
type: string
name:
description: display name
type: string
show:
type: boolean
sort_order:
type: integer
url:
type: string
type: object
mem.VirtualMemoryStat: mem.VirtualMemoryStat:
properties: properties:
available: available:
@@ -1118,6 +1209,10 @@ definitions:
type: boolean type: boolean
excluded: excluded:
type: boolean type: boolean
x-nullable: true
excluded_reason:
type: string
x-nullable: true
health: health:
allOf: allOf:
- $ref: '#/definitions/HealthJSON' - $ref: '#/definitions/HealthJSON'
@@ -1125,7 +1220,7 @@ definitions:
healthcheck: healthcheck:
$ref: '#/definitions/HealthCheckConfig' $ref: '#/definitions/HealthCheckConfig'
homepage: homepage:
$ref: '#/definitions/homepage.ItemConfig' $ref: '#/definitions/HomepageItemConfig'
host: host:
type: string type: string
idlewatcher: idlewatcher:
@@ -1212,18 +1307,14 @@ definitions:
description: uptime in milliseconds description: uptime in milliseconds
type: number type: number
type: object type: object
rules.Command:
type: object
rules.Rule: rules.Rule:
properties: properties:
do: do:
$ref: '#/definitions/rules.Command' type: string
name: name:
type: string type: string
"on": "on":
$ref: '#/definitions/rules.RuleOn' type: string
type: object
rules.RuleOn:
type: object type: object
sensors.TemperatureStat: sensors.TemperatureStat:
properties: properties:
@@ -1389,38 +1480,6 @@ paths:
- agent - agent
x-id: verify x-id: verify
/auth/callback: /auth/callback:
get:
description: Handles the callback from the provider after successful authentication
parameters:
- description: Userpass only
in: body
name: body
required: true
schema:
$ref: '#/definitions/auth.UserPassAuthCallbackRequest'
produces:
- text/plain
responses:
"200":
description: 'Userpass: OK'
schema:
type: string
"302":
description: 'OIDC: Redirects to home page'
schema:
type: string
"400":
description: 'Userpass: invalid request / credentials'
schema:
type: string
"500":
description: Internal server error
schema:
type: string
summary: Auth Callback
tags:
- auth
x-id: callback
post: post:
description: Handles the callback from the provider after successful authentication description: Handles the callback from the provider after successful authentication
parameters: parameters:
@@ -1557,6 +1616,34 @@ paths:
- cert - cert
- websocket - websocket
x-id: renew x-id: renew
/docker/container/{id}:
get:
description: Get container by container id
parameters:
- description: Container ID
in: path
name: id
required: true
type: string
produces:
- application/json
responses:
"200":
description: OK
schema:
$ref: '#/definitions/ContainerResponse'
"403":
description: Forbidden
schema:
$ref: '#/definitions/ErrorResponse'
"500":
description: Internal Server Error
schema:
$ref: '#/definitions/ErrorResponse'
summary: Get container
tags:
- docker
x-id: container
/docker/containers: /docker/containers:
get: get:
description: Get containers description: Get containers
@@ -1603,20 +1690,15 @@ paths:
tags: tags:
- docker - docker
x-id: info x-id: info
/docker/logs/{server}/{container}: /docker/logs/{id}:
get: get:
consumes: consumes:
- application/json - application/json
description: Get docker container logs description: Get docker container logs by container id
parameters: parameters:
- description: server name
in: path
name: server
required: true
type: string
- description: container id - description: container id
in: path in: path
name: container name: id
required: true required: true
type: string type: string
- description: show stdout - description: show stdout
@@ -1930,6 +2012,10 @@ paths:
- application/json - application/json
description: Homepage items description: Homepage items
parameters: parameters:
- description: Search query
in: query
name: search
type: string
- description: Category filter - description: Category filter
in: query in: query
name: category name: category
@@ -1944,7 +2030,9 @@ paths:
"200": "200":
description: OK description: OK
schema: schema:
$ref: '#/definitions/HomepageItems' items:
$ref: '#/definitions/HomepageCategory'
type: array
"400": "400":
description: Bad Request description: Bad Request
schema: schema:
@@ -2019,6 +2107,130 @@ paths:
tags: tags:
- homepage - homepage
x-id: set-item x-id: set-item
/homepage/set/item_all_sort_order:
post:
consumes:
- application/json
description: Set homepage item all sort order.
parameters:
- description: Set item all sort order
in: body
name: request
required: true
schema:
$ref: '#/definitions/HomepageOverrideItemAllSortOrderParams'
produces:
- application/json
responses:
"200":
description: OK
schema:
$ref: '#/definitions/SuccessResponse'
"400":
description: Bad Request
schema:
$ref: '#/definitions/ErrorResponse'
"500":
description: Internal Server Error
schema:
$ref: '#/definitions/ErrorResponse'
summary: Set homepage item all sort order
tags:
- homepage
x-id: set-item-all-sort-order
/homepage/set/item_fav_sort_order:
post:
consumes:
- application/json
description: Set homepage item fav sort order.
parameters:
- description: Set item fav sort order
in: body
name: request
required: true
schema:
$ref: '#/definitions/HomepageOverrideItemFavSortOrderParams'
produces:
- application/json
responses:
"200":
description: OK
schema:
$ref: '#/definitions/SuccessResponse'
"400":
description: Bad Request
schema:
$ref: '#/definitions/ErrorResponse'
"500":
description: Internal Server Error
schema:
$ref: '#/definitions/ErrorResponse'
summary: Set homepage item fav sort order
tags:
- homepage
x-id: set-item-fav-sort-order
/homepage/set/item_favorite:
post:
consumes:
- application/json
description: Set homepage item favorite.
parameters:
- description: Set item favorite
in: body
name: request
required: true
schema:
$ref: '#/definitions/HomepageOverrideItemFavoriteParams'
produces:
- application/json
responses:
"200":
description: OK
schema:
$ref: '#/definitions/SuccessResponse'
"400":
description: Bad Request
schema:
$ref: '#/definitions/ErrorResponse'
"500":
description: Internal Server Error
schema:
$ref: '#/definitions/ErrorResponse'
summary: Set homepage item favorite
tags:
- homepage
x-id: set-item-favorite
/homepage/set/item_sort_order:
post:
consumes:
- application/json
description: Set homepage item sort order.
parameters:
- description: Set item sort order
in: body
name: request
required: true
schema:
$ref: '#/definitions/HomepageOverrideItemSortOrderParams'
produces:
- application/json
responses:
"200":
description: OK
schema:
$ref: '#/definitions/SuccessResponse'
"400":
description: Bad Request
schema:
$ref: '#/definitions/ErrorResponse'
"500":
description: Internal Server Error
schema:
$ref: '#/definitions/ErrorResponse'
summary: Set homepage item sort order
tags:
- homepage
x-id: set-item-sort-order
/homepage/set/item_visible: /homepage/set/item_visible:
post: post:
consumes: consumes:
@@ -2116,6 +2328,80 @@ paths:
tags: tags:
- v1 - v1
x-id: icons x-id: icons
/metrics/all_system_info:
get:
description: Get system info
parameters:
- enum:
- cpu_average
- memory_usage
- memory_usage_percent
- disks_read_speed
- disks_write_speed
- disks_iops
- disk_usage
- network_speed
- network_transfer
- sensor_temperature
in: query
name: aggregate
type: string
x-enum-varnames:
- SystemInfoAggregateModeCPUAverage
- SystemInfoAggregateModeMemoryUsage
- SystemInfoAggregateModeMemoryUsagePercent
- SystemInfoAggregateModeDisksReadSpeed
- SystemInfoAggregateModeDisksWriteSpeed
- SystemInfoAggregateModeDisksIOPS
- SystemInfoAggregateModeDiskUsage
- SystemInfoAggregateModeNetworkSpeed
- SystemInfoAggregateModeNetworkTransfer
- SystemInfoAggregateModeSensorTemperature
- format: duration
in: query
name: interval
type: string
- enum:
- 5m
- 15m
- 1h
- 1d
- 1mo
in: query
name: period
type: string
x-enum-varnames:
- MetricsPeriod5m
- MetricsPeriod15m
- MetricsPeriod1h
- MetricsPeriod1d
- MetricsPeriod1mo
produces:
- application/json
responses:
"200":
description: period specified, aggregated system info by agent name
schema:
additionalProperties:
$ref: '#/definitions/SystemInfoAggregate'
type: object
"400":
description: Bad Request
schema:
$ref: '#/definitions/ErrorResponse'
"403":
description: Forbidden
schema:
$ref: '#/definitions/ErrorResponse'
"500":
description: Internal Server Error
schema:
$ref: '#/definitions/ErrorResponse'
summary: Get system info
tags:
- metrics
- websocket
x-id: all_system_info
/metrics/system_info: /metrics/system_info:
get: get:
description: Get system info description: Get system info
@@ -2123,6 +2409,9 @@ paths:
- in: query - in: query
name: agentAddr name: agentAddr
type: string type: string
- in: query
name: agentName
type: string
- enum: - enum:
- cpu_average - cpu_average
- memory_usage - memory_usage
@@ -2178,10 +2467,6 @@ paths:
description: Forbidden description: Forbidden
schema: schema:
$ref: '#/definitions/ErrorResponse' $ref: '#/definitions/ErrorResponse'
"404":
description: Not Found
schema:
$ref: '#/definitions/ErrorResponse'
"500": "500":
description: Internal Server Error description: Internal Server Error
schema: schema: