mirror of
https://github.com/lordmathis/llamactl.git
synced 2025-12-23 09:34:23 +00:00
Deployed fd33837 to dev with MkDocs 1.6.1 and mike 2.1.3
This commit is contained in:
269
dev/swagger.yaml
269
dev/swagger.yaml
@@ -1,5 +1,13 @@
|
||||
basePath: /api/v1
|
||||
definitions:
|
||||
auth.PermissionMode:
|
||||
enum:
|
||||
- allow_all
|
||||
- per_instance
|
||||
type: string
|
||||
x-enum-varnames:
|
||||
- PermissionModeAllowAll
|
||||
- PermissionModePerInstance
|
||||
config.AppConfig:
|
||||
properties:
|
||||
auth:
|
||||
@@ -10,6 +18,12 @@ definitions:
|
||||
type: string
|
||||
commit_hash:
|
||||
type: string
|
||||
data_dir:
|
||||
description: Directory where all llamactl data will be stored (database, instances,
|
||||
logs, etc.)
|
||||
type: string
|
||||
database:
|
||||
$ref: '#/definitions/config.DatabaseConfig'
|
||||
instances:
|
||||
$ref: '#/definitions/config.InstancesConfig'
|
||||
local_node:
|
||||
@@ -70,6 +84,20 @@ definitions:
|
||||
type: string
|
||||
type: object
|
||||
type: object
|
||||
config.DatabaseConfig:
|
||||
properties:
|
||||
connection_max_lifetime:
|
||||
example: 1h
|
||||
type: string
|
||||
max_idle_connections:
|
||||
type: integer
|
||||
max_open_connections:
|
||||
description: Connection settings
|
||||
type: integer
|
||||
path:
|
||||
description: Database file path (relative to the top-level data_dir or absolute)
|
||||
type: string
|
||||
type: object
|
||||
config.DockerSettings:
|
||||
properties:
|
||||
args:
|
||||
@@ -91,11 +119,8 @@ definitions:
|
||||
description: Automatically create the data directory if it doesn't exist
|
||||
type: boolean
|
||||
configs_dir:
|
||||
description: Instance config directory override
|
||||
type: string
|
||||
data_dir:
|
||||
description: Directory where all llamactl data will be stored (instances.json,
|
||||
logs, etc.)
|
||||
description: Instance config directory override (relative to data_dir if not
|
||||
absolute)
|
||||
type: string
|
||||
default_auto_restart:
|
||||
description: Default auto-restart setting for new instances
|
||||
@@ -113,7 +138,7 @@ definitions:
|
||||
description: Enable LRU eviction for instance logs
|
||||
type: boolean
|
||||
logs_dir:
|
||||
description: Logs directory override
|
||||
description: Logs directory override (relative to data_dir if not absolute)
|
||||
type: string
|
||||
max_instances:
|
||||
description: Maximum number of instances that can be created
|
||||
@@ -171,7 +196,9 @@ definitions:
|
||||
instance.Instance:
|
||||
properties:
|
||||
created:
|
||||
description: Unix timestamp when the instance was created
|
||||
description: Unix timestamp when instance was created
|
||||
type: integer
|
||||
id:
|
||||
type: integer
|
||||
name:
|
||||
type: string
|
||||
@@ -203,6 +230,84 @@ definitions:
|
||||
description: seconds
|
||||
type: integer
|
||||
type: object
|
||||
server.CreateKeyRequest:
|
||||
properties:
|
||||
expiresAt:
|
||||
format: int64
|
||||
type: integer
|
||||
instancePermissions:
|
||||
items:
|
||||
$ref: '#/definitions/server.InstancePermission'
|
||||
type: array
|
||||
name:
|
||||
type: string
|
||||
permissionMode:
|
||||
$ref: '#/definitions/auth.PermissionMode'
|
||||
type: object
|
||||
server.CreateKeyResponse:
|
||||
properties:
|
||||
created_at:
|
||||
type: integer
|
||||
enabled:
|
||||
type: boolean
|
||||
expires_at:
|
||||
type: integer
|
||||
id:
|
||||
type: integer
|
||||
key:
|
||||
type: string
|
||||
last_used_at:
|
||||
type: integer
|
||||
name:
|
||||
type: string
|
||||
permission_mode:
|
||||
$ref: '#/definitions/auth.PermissionMode'
|
||||
updated_at:
|
||||
type: integer
|
||||
user_id:
|
||||
type: string
|
||||
type: object
|
||||
server.InstancePermission:
|
||||
properties:
|
||||
can_infer:
|
||||
type: boolean
|
||||
can_view_logs:
|
||||
type: boolean
|
||||
instance_id:
|
||||
type: integer
|
||||
type: object
|
||||
server.KeyPermissionResponse:
|
||||
properties:
|
||||
can_infer:
|
||||
type: boolean
|
||||
can_view_logs:
|
||||
type: boolean
|
||||
instance_id:
|
||||
type: integer
|
||||
instance_name:
|
||||
type: string
|
||||
type: object
|
||||
server.KeyResponse:
|
||||
properties:
|
||||
created_at:
|
||||
type: integer
|
||||
enabled:
|
||||
type: boolean
|
||||
expires_at:
|
||||
type: integer
|
||||
id:
|
||||
type: integer
|
||||
last_used_at:
|
||||
type: integer
|
||||
name:
|
||||
type: string
|
||||
permission_mode:
|
||||
$ref: '#/definitions/auth.PermissionMode'
|
||||
updated_at:
|
||||
type: integer
|
||||
user_id:
|
||||
type: string
|
||||
type: object
|
||||
server.NodeResponse:
|
||||
properties:
|
||||
address:
|
||||
@@ -242,6 +347,156 @@ info:
|
||||
title: llamactl API
|
||||
version: "1.0"
|
||||
paths:
|
||||
/api/v1/auth/keys:
|
||||
get:
|
||||
description: Returns a list of all API keys for the system user (excludes key
|
||||
hash and plain-text key)
|
||||
produces:
|
||||
- application/json
|
||||
responses:
|
||||
"200":
|
||||
description: List of API keys
|
||||
schema:
|
||||
items:
|
||||
$ref: '#/definitions/server.KeyResponse'
|
||||
type: array
|
||||
"500":
|
||||
description: Internal Server Error
|
||||
schema:
|
||||
type: string
|
||||
security:
|
||||
- ApiKeyAuth: []
|
||||
summary: List all API keys
|
||||
tags:
|
||||
- Keys
|
||||
post:
|
||||
consumes:
|
||||
- application/json
|
||||
description: Creates a new API key with the specified permissions and returns
|
||||
the plain-text key (only shown once)
|
||||
parameters:
|
||||
- description: API key configuration
|
||||
in: body
|
||||
name: key
|
||||
required: true
|
||||
schema:
|
||||
$ref: '#/definitions/server.CreateKeyRequest'
|
||||
produces:
|
||||
- application/json
|
||||
responses:
|
||||
"201":
|
||||
description: Created API key with plain-text key
|
||||
schema:
|
||||
$ref: '#/definitions/server.CreateKeyResponse'
|
||||
"400":
|
||||
description: Invalid request body or validation error
|
||||
schema:
|
||||
type: string
|
||||
"500":
|
||||
description: Internal Server Error
|
||||
schema:
|
||||
type: string
|
||||
summary: Create a new API key
|
||||
tags:
|
||||
- Keys
|
||||
/api/v1/auth/keys/{id}:
|
||||
delete:
|
||||
description: Deletes an API key by ID
|
||||
parameters:
|
||||
- description: Key ID
|
||||
in: path
|
||||
name: id
|
||||
required: true
|
||||
type: integer
|
||||
responses:
|
||||
"204":
|
||||
description: API key deleted successfully
|
||||
"400":
|
||||
description: Invalid key ID
|
||||
schema:
|
||||
type: string
|
||||
"404":
|
||||
description: API key not found
|
||||
schema:
|
||||
type: string
|
||||
"500":
|
||||
description: Internal Server Error
|
||||
schema:
|
||||
type: string
|
||||
security:
|
||||
- ApiKeyAuth: []
|
||||
summary: Delete an API key
|
||||
tags:
|
||||
- Keys
|
||||
get:
|
||||
description: Returns details for a specific API key by ID (excludes key hash
|
||||
and plain-text key)
|
||||
parameters:
|
||||
- description: Key ID
|
||||
in: path
|
||||
name: id
|
||||
required: true
|
||||
type: integer
|
||||
produces:
|
||||
- application/json
|
||||
responses:
|
||||
"200":
|
||||
description: API key details
|
||||
schema:
|
||||
$ref: '#/definitions/server.KeyResponse'
|
||||
"400":
|
||||
description: Invalid key ID
|
||||
schema:
|
||||
type: string
|
||||
"404":
|
||||
description: API key not found
|
||||
schema:
|
||||
type: string
|
||||
"500":
|
||||
description: Internal Server Error
|
||||
schema:
|
||||
type: string
|
||||
security:
|
||||
- ApiKeyAuth: []
|
||||
summary: Get details of a specific API key
|
||||
tags:
|
||||
- Keys
|
||||
/api/v1/auth/keys/{id}/permissions:
|
||||
get:
|
||||
description: Returns the instance-level permissions for a specific API key (includes
|
||||
instance names)
|
||||
parameters:
|
||||
- description: Key ID
|
||||
in: path
|
||||
name: id
|
||||
required: true
|
||||
type: integer
|
||||
produces:
|
||||
- application/json
|
||||
responses:
|
||||
"200":
|
||||
description: List of key permissions
|
||||
schema:
|
||||
items:
|
||||
$ref: '#/definitions/server.KeyPermissionResponse'
|
||||
type: array
|
||||
"400":
|
||||
description: Invalid key ID
|
||||
schema:
|
||||
type: string
|
||||
"404":
|
||||
description: API key not found
|
||||
schema:
|
||||
type: string
|
||||
"500":
|
||||
description: Internal Server Error
|
||||
schema:
|
||||
type: string
|
||||
security:
|
||||
- ApiKeyAuth: []
|
||||
summary: Get API key permissions
|
||||
tags:
|
||||
- Keys
|
||||
/api/v1/backends/llama-cpp/devices:
|
||||
get:
|
||||
description: Returns a list of available devices for the llama server
|
||||
|
||||
Reference in New Issue
Block a user