Merge Go frontend (apiserver + xcecli) into meson build

This commit is contained in:
Rongsong Shen 2026-04-14 11:20:17 +08:00
parent 43dc12a36c
commit c9dc8c4676
205 changed files with 30793 additions and 328 deletions

View file

@ -0,0 +1,344 @@
// Package docs Code generated by swaggo/swag. DO NOT EDIT
package docs
import "github.com/swaggo/swag"
const docTemplate = `{
"schemes": {{ marshal .Schemes }},
"swagger": "2.0",
"info": {
"description": "{{escape .Description}}",
"title": "{{.Title}}",
"contact": {},
"version": "{{.Version}}"
},
"host": "{{.Host}}",
"basePath": "{{.BasePath}}",
"paths": {
"/api/v1/hosts": {
"get": {
"description": "Get basic or full host information",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"hosts"
],
"summary": "Get host information",
"parameters": [
{
"type": "string",
"description": "Host type (basic or full)",
"name": "type",
"in": "query",
"required": true
}
],
"responses": {
"200": {
"description": "Response for full host type",
"schema": {
"type": "array",
"items": {
"$ref": "#/definitions/models.FullHost"
}
}
},
"400": {
"description": "Bad Request",
"schema": {
"$ref": "#/definitions/models.Error"
}
}
}
}
}
},
"definitions": {
"models.BasicHost": {
"type": "object",
"properties": {
"DResources": {
"type": "array",
"items": {
"type": "string"
}
},
"busyThreshold": {
"type": "array",
"items": {
"type": "number"
}
},
"cores": {
"type": "integer"
},
"cores_per_proc": {
"type": "integer"
},
"cpuFactor": {
"type": "number"
},
"hostAddr": {
"type": "string"
},
"hostModel": {
"type": "string"
},
"hostName": {
"type": "string"
},
"hostType": {
"type": "string"
},
"isServer": {
"type": "boolean"
},
"maxCpus": {
"type": "integer"
},
"maxMem": {
"type": "integer"
},
"maxSwap": {
"type": "integer"
},
"maxTmp": {
"type": "integer"
},
"nDRes": {
"type": "integer"
},
"nDisks": {
"type": "integer"
},
"nRes": {
"type": "integer"
},
"numIndx": {
"type": "integer"
},
"pprocs": {
"type": "integer"
},
"resources": {
"type": "array",
"items": {
"type": "string"
}
},
"threads_per_core": {
"type": "integer"
},
"windows": {
"type": "string"
}
}
},
"models.Error": {
"type": "object",
"properties": {
"error": {
"type": "string"
}
}
},
"models.FullHost": {
"type": "object",
"properties": {
"DResources": {
"type": "array",
"items": {
"type": "string"
}
},
"affinityCpulist": {
"type": "string"
},
"attr": {
"type": "integer"
},
"busySched": {
"type": "number"
},
"busyStop": {
"type": "number"
},
"busyThreshold": {
"type": "array",
"items": {
"type": "number"
}
},
"chkSig": {
"type": "integer"
},
"cnsmrAvail": {
"type": "number"
},
"cnsmrUsage": {
"type": "number"
},
"cores": {
"type": "integer"
},
"cores_per_proc": {
"type": "integer"
},
"cpuFactor": {
"type": "number"
},
"cycleTimeLeft": {
"type": "integer"
},
"hCtrlMsg": {
"type": "integer"
},
"hStatus": {
"type": "string"
},
"hostAddr": {
"type": "string"
},
"hostModel": {
"type": "string"
},
"hostName": {
"type": "string"
},
"hostType": {
"type": "string"
},
"idleTime": {
"type": "integer"
},
"isServer": {
"type": "boolean"
},
"load": {
"type": "array",
"items": {
"type": "number"
}
},
"loadSched": {
"type": "array",
"items": {
"type": "number"
}
},
"loadStop": {
"type": "array",
"items": {
"type": "number"
}
},
"maxAvail": {
"type": "number"
},
"maxCpus": {
"type": "integer"
},
"maxExitRate": {
"type": "integer"
},
"maxJobs": {
"type": "integer"
},
"maxMem": {
"type": "integer"
},
"maxSwap": {
"type": "integer"
},
"maxTmp": {
"type": "integer"
},
"mig": {
"type": "integer"
},
"nDRes": {
"type": "integer"
},
"nDisks": {
"type": "integer"
},
"nIdx": {
"type": "integer"
},
"nRes": {
"type": "integer"
},
"numExitRate": {
"type": "integer"
},
"numIndx": {
"type": "integer"
},
"numJobs": {
"type": "integer"
},
"numRESERVE": {
"type": "integer"
},
"numRUN": {
"type": "integer"
},
"numSSUSP": {
"type": "integer"
},
"numUSUSP": {
"type": "integer"
},
"pprocs": {
"type": "integer"
},
"prvdrAvail": {
"type": "number"
},
"prvdrUsage": {
"type": "number"
},
"realLoad": {
"type": "number"
},
"resources": {
"type": "array",
"items": {
"type": "string"
}
},
"threads_per_core": {
"type": "integer"
},
"userJobLimit": {
"type": "integer"
},
"windows": {
"type": "string"
}
}
}
}
}`
// SwaggerInfo holds exported Swagger Info so clients can modify it
var SwaggerInfo = &swag.Spec{
Version: "1.0",
Host: "localhost:8443",
BasePath: "/",
Schemes: []string{},
Title: "Host Management API",
Description: "API Server",
InfoInstanceName: "swagger",
SwaggerTemplate: docTemplate,
LeftDelim: "{{",
RightDelim: "}}",
}
func init() {
swag.Register(SwaggerInfo.InstanceName(), SwaggerInfo)
}

View file

@ -0,0 +1,320 @@
{
"swagger": "2.0",
"info": {
"description": "API Server",
"title": "Host Management API",
"contact": {},
"version": "1.0"
},
"host": "localhost:8443",
"basePath": "/",
"paths": {
"/api/v1/hosts": {
"get": {
"description": "Get basic or full host information",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"hosts"
],
"summary": "Get host information",
"parameters": [
{
"type": "string",
"description": "Host type (basic or full)",
"name": "type",
"in": "query",
"required": true
}
],
"responses": {
"200": {
"description": "Response for full host type",
"schema": {
"type": "array",
"items": {
"$ref": "#/definitions/models.FullHost"
}
}
},
"400": {
"description": "Bad Request",
"schema": {
"$ref": "#/definitions/models.Error"
}
}
}
}
}
},
"definitions": {
"models.BasicHost": {
"type": "object",
"properties": {
"DResources": {
"type": "array",
"items": {
"type": "string"
}
},
"busyThreshold": {
"type": "array",
"items": {
"type": "number"
}
},
"cores": {
"type": "integer"
},
"cores_per_proc": {
"type": "integer"
},
"cpuFactor": {
"type": "number"
},
"hostAddr": {
"type": "string"
},
"hostModel": {
"type": "string"
},
"hostName": {
"type": "string"
},
"hostType": {
"type": "string"
},
"isServer": {
"type": "boolean"
},
"maxCpus": {
"type": "integer"
},
"maxMem": {
"type": "integer"
},
"maxSwap": {
"type": "integer"
},
"maxTmp": {
"type": "integer"
},
"nDRes": {
"type": "integer"
},
"nDisks": {
"type": "integer"
},
"nRes": {
"type": "integer"
},
"numIndx": {
"type": "integer"
},
"pprocs": {
"type": "integer"
},
"resources": {
"type": "array",
"items": {
"type": "string"
}
},
"threads_per_core": {
"type": "integer"
},
"windows": {
"type": "string"
}
}
},
"models.Error": {
"type": "object",
"properties": {
"error": {
"type": "string"
}
}
},
"models.FullHost": {
"type": "object",
"properties": {
"DResources": {
"type": "array",
"items": {
"type": "string"
}
},
"affinityCpulist": {
"type": "string"
},
"attr": {
"type": "integer"
},
"busySched": {
"type": "number"
},
"busyStop": {
"type": "number"
},
"busyThreshold": {
"type": "array",
"items": {
"type": "number"
}
},
"chkSig": {
"type": "integer"
},
"cnsmrAvail": {
"type": "number"
},
"cnsmrUsage": {
"type": "number"
},
"cores": {
"type": "integer"
},
"cores_per_proc": {
"type": "integer"
},
"cpuFactor": {
"type": "number"
},
"cycleTimeLeft": {
"type": "integer"
},
"hCtrlMsg": {
"type": "integer"
},
"hStatus": {
"type": "string"
},
"hostAddr": {
"type": "string"
},
"hostModel": {
"type": "string"
},
"hostName": {
"type": "string"
},
"hostType": {
"type": "string"
},
"idleTime": {
"type": "integer"
},
"isServer": {
"type": "boolean"
},
"load": {
"type": "array",
"items": {
"type": "number"
}
},
"loadSched": {
"type": "array",
"items": {
"type": "number"
}
},
"loadStop": {
"type": "array",
"items": {
"type": "number"
}
},
"maxAvail": {
"type": "number"
},
"maxCpus": {
"type": "integer"
},
"maxExitRate": {
"type": "integer"
},
"maxJobs": {
"type": "integer"
},
"maxMem": {
"type": "integer"
},
"maxSwap": {
"type": "integer"
},
"maxTmp": {
"type": "integer"
},
"mig": {
"type": "integer"
},
"nDRes": {
"type": "integer"
},
"nDisks": {
"type": "integer"
},
"nIdx": {
"type": "integer"
},
"nRes": {
"type": "integer"
},
"numExitRate": {
"type": "integer"
},
"numIndx": {
"type": "integer"
},
"numJobs": {
"type": "integer"
},
"numRESERVE": {
"type": "integer"
},
"numRUN": {
"type": "integer"
},
"numSSUSP": {
"type": "integer"
},
"numUSUSP": {
"type": "integer"
},
"pprocs": {
"type": "integer"
},
"prvdrAvail": {
"type": "number"
},
"prvdrUsage": {
"type": "number"
},
"realLoad": {
"type": "number"
},
"resources": {
"type": "array",
"items": {
"type": "string"
}
},
"threads_per_core": {
"type": "integer"
},
"userJobLimit": {
"type": "integer"
},
"windows": {
"type": "string"
}
}
}
}
}

View file

@ -0,0 +1,212 @@
basePath: /
definitions:
models.BasicHost:
properties:
DResources:
items:
type: string
type: array
busyThreshold:
items:
type: number
type: array
cores:
type: integer
cores_per_proc:
type: integer
cpuFactor:
type: number
hostAddr:
type: string
hostModel:
type: string
hostName:
type: string
hostType:
type: string
isServer:
type: boolean
maxCpus:
type: integer
maxMem:
type: integer
maxSwap:
type: integer
maxTmp:
type: integer
nDRes:
type: integer
nDisks:
type: integer
nRes:
type: integer
numIndx:
type: integer
pprocs:
type: integer
resources:
items:
type: string
type: array
threads_per_core:
type: integer
windows:
type: string
type: object
models.Error:
properties:
error:
type: string
type: object
models.FullHost:
properties:
DResources:
items:
type: string
type: array
affinityCpulist:
type: string
attr:
type: integer
busySched:
type: number
busyStop:
type: number
busyThreshold:
items:
type: number
type: array
chkSig:
type: integer
cnsmrAvail:
type: number
cnsmrUsage:
type: number
cores:
type: integer
cores_per_proc:
type: integer
cpuFactor:
type: number
cycleTimeLeft:
type: integer
hCtrlMsg:
type: integer
hStatus:
type: string
hostAddr:
type: string
hostModel:
type: string
hostName:
type: string
hostType:
type: string
idleTime:
type: integer
isServer:
type: boolean
load:
items:
type: number
type: array
loadSched:
items:
type: number
type: array
loadStop:
items:
type: number
type: array
maxAvail:
type: number
maxCpus:
type: integer
maxExitRate:
type: integer
maxJobs:
type: integer
maxMem:
type: integer
maxSwap:
type: integer
maxTmp:
type: integer
mig:
type: integer
nDRes:
type: integer
nDisks:
type: integer
nIdx:
type: integer
nRes:
type: integer
numExitRate:
type: integer
numIndx:
type: integer
numJobs:
type: integer
numRESERVE:
type: integer
numRUN:
type: integer
numSSUSP:
type: integer
numUSUSP:
type: integer
pprocs:
type: integer
prvdrAvail:
type: number
prvdrUsage:
type: number
realLoad:
type: number
resources:
items:
type: string
type: array
threads_per_core:
type: integer
userJobLimit:
type: integer
windows:
type: string
type: object
host: localhost:8443
info:
contact: {}
description: API Server
title: Host Management API
version: "1.0"
paths:
/api/v1/hosts:
get:
consumes:
- application/json
description: Get basic or full host information
parameters:
- description: Host type (basic or full)
in: query
name: type
required: true
type: string
produces:
- application/json
responses:
"200":
description: Response for full host type
schema:
items:
$ref: '#/definitions/models.FullHost'
type: array
"400":
description: Bad Request
schema:
$ref: '#/definitions/models.Error'
summary: Get host information
tags:
- hosts
swagger: "2.0"