server

package
v0.0.0-...-ba1867d Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 26, 2025 License: MIT Imports: 15 Imported by: 0

Documentation

Index

Constants

View Source
const (
	Version     = "v0.0.1"
	APIVersion  = "v0"
	BuildCommit = "dev"
	BuildTime   = "unknown"
)

Version information

Variables

This section is empty.

Functions

func AddNodeHandler

func AddNodeHandler(c *gin.Context)

AddNodeHandler handles HTTP requests to add a node

func CheckVersion

func CheckVersion(requiredVersion string) gin.HandlerFunc

CheckVersion validates API version compatibility

func CreateContainerHandler

func CreateContainerHandler(c *gin.Context)

CreateContainerHandler handles requests to create a new container

func CreateDBHandler

func CreateDBHandler(c *gin.Context)

CreateDBHandler handles requests to create a new database

func CreateLLMHandler

func CreateLLMHandler(c *gin.Context)

CreateLLMHandler handles LLM creation requests

func CreateNamespaceHandler

func CreateNamespaceHandler(c *gin.Context)

CreateNamespaceHandler creates a new namespace

func CreateVMHandler

func CreateVMHandler(c *gin.Context)

CreateVMHandler handles VM creation requests

func CreateVolumeHandler

func CreateVolumeHandler(c *gin.Context)

CreateVolumeHandler creates a new volume

func DeleteContainerHandler

func DeleteContainerHandler(c *gin.Context)

DeleteContainerHandler handles requests to delete a container

func DeleteDBHandler

func DeleteDBHandler(c *gin.Context)

DeleteDBHandler handles requests to delete a database

func DeleteLLMHandler

func DeleteLLMHandler(c *gin.Context)

DeleteLLMHandler handles LLM deletion requests

func DeleteNamespaceHandler

func DeleteNamespaceHandler(c *gin.Context)

DeleteNamespaceHandler deletes a namespace

func DeleteNodeHandler

func DeleteNodeHandler(c *gin.Context)

DeleteNodeHandler handles HTTP requests to delete a node

func DeleteVMHandler

func DeleteVMHandler(c *gin.Context)

DeleteVMHandler handles VM deletion requests

func DeleteVolumeForVM

func DeleteVolumeForVM(vm types.VM) error

DeleteVolumeForVM deletes the volume for a VM

func DeleteVolumeHandler

func DeleteVolumeHandler(c *gin.Context)

DeleteVolumeHandler deletes a volume

func ErrorMiddleware

func ErrorMiddleware() gin.HandlerFunc

ErrorMiddleware creates a middleware for error handling

func GetContainerHandler

func GetContainerHandler(c *gin.Context)

GetContainerHandler handles requests to get container details

func GetDBHandler

func GetDBHandler(c *gin.Context)

GetDBHandler handles requests to get database details

func GetLLMHandler

func GetLLMHandler(c *gin.Context)

GetLLMHandler handles LLM retrieval requests

func GetNamespaceHandler

func GetNamespaceHandler(c *gin.Context)

GetNamespaceHandler gets details of a specific namespace

func GetNodeHandler

func GetNodeHandler(c *gin.Context)

GetNodeHandler handles HTTP requests to get node details

func GetVMHandler

func GetVMHandler(c *gin.Context)

GetVMHandler handles VM retrieval requests

func GetVolumeHandler

func GetVolumeHandler(c *gin.Context)

GetVolumeHandler gets details of a specific volume

func ListContainersHandler

func ListContainersHandler(c *gin.Context)

ListContainersHandler handles requests to list containers

func ListDBsHandler

func ListDBsHandler(c *gin.Context)

ListDBsHandler handles requests to list databases

func ListNamespacesHandler

func ListNamespacesHandler(c *gin.Context)

ListNamespacesHandler lists all namespaces

func ListNodesHandler

func ListNodesHandler(c *gin.Context)

ListNodesHandler handles HTTP requests to list nodes

func ListVMsHandler

func ListVMsHandler(c *gin.Context)

ListVMsHandler handles VM listing requests

func ListVolumesHandler

func ListVolumesHandler(c *gin.Context)

ListVolumesHandler lists all volumes

func LoggingMiddleware

func LoggingMiddleware() gin.HandlerFunc

LoggingMiddleware creates a middleware for request logging

func RestartNodeHandler

func RestartNodeHandler(c *gin.Context)

RestartNodeHandler handles HTTP requests to restart a node

func RestartVMHandler

func RestartVMHandler(c *gin.Context)

RestartVMHandler handles VM restart requests

func ResumeNodeHandler

func ResumeNodeHandler(c *gin.Context)

ResumeNodeHandler handles HTTP requests to resume a node

func Serve

func Serve(serverConfig types.ServerConfig)

Serve starts the server with the given configuration

func StartVMHandler

func StartVMHandler(c *gin.Context)

StartVMHandler handles VM start requests

func StopVMHandler

func StopVMHandler(c *gin.Context)

StopVMHandler handles VM stop requests

func SuspendNodeHandler

func SuspendNodeHandler(c *gin.Context)

SuspendNodeHandler handles HTTP requests to suspend a node

func UpgradeNodeHandler

func UpgradeNodeHandler(c *gin.Context)

UpgradeNodeHandler handles HTTP requests to upgrade a node

func VersionHandler

func VersionHandler(c *gin.Context)

VersionHandler returns the server version information

func VersionMiddleware

func VersionMiddleware() gin.HandlerFunc

VersionMiddleware adds version header to responses

func WaitVMHandler

func WaitVMHandler(c *gin.Context)

WaitVMHandler handles VM wait requests

Types

type APIResponse

type APIResponse struct {
	Success bool        `json:"success"`
	Data    interface{} `json:"data,omitempty"`
	Error   string      `json:"error,omitempty"`
}

APIResponse represents a standard API response

type ContainerManager

type ContainerManager struct {
	// contains filtered or unexported fields
}

ContainerManager handles container operations

func NewContainerManager

func NewContainerManager() *ContainerManager

NewContainerManager creates a new container manager

func (*ContainerManager) CreateContainer

func (m *ContainerManager) CreateContainer(container *types.Container) error

func (*ContainerManager) DeleteContainer

func (m *ContainerManager) DeleteContainer(name, namespace string) error

func (*ContainerManager) GetContainer

func (m *ContainerManager) GetContainer(name, namespace string) (*types.Container, error)

func (*ContainerManager) ListContainers

func (m *ContainerManager) ListContainers(namespace string) ([]types.Container, error)

type DBManager

type DBManager struct {
	// contains filtered or unexported fields
}

DBManager handles database operations

func NewDBManager

func NewDBManager() *DBManager

NewDBManager creates a new database manager instance

func (*DBManager) CreateDB

func (m *DBManager) CreateDB(db *types.DB) error

CreateDB creates a new database

func (*DBManager) DeleteDB

func (m *DBManager) DeleteDB(name, namespace string) error

DeleteDB removes a database

func (*DBManager) GetDB

func (m *DBManager) GetDB(name, namespace string) (*types.DB, error)

GetDB retrieves database details

func (*DBManager) ListDBs

func (m *DBManager) ListDBs(namespace string) ([]types.DB, error)

ListDBs returns a list of databases

type DefaultKubectlRunner

type DefaultKubectlRunner struct{}

DefaultKubectlRunner implements KubectlRunner using exec.Command

func (*DefaultKubectlRunner) Run

func (k *DefaultKubectlRunner) Run(args ...string) ([]byte, error)

type DefaultVirtctlRunner

type DefaultVirtctlRunner struct{}

DefaultVirtctlRunner implements VirtctlRunner using exec.Command

func (*DefaultVirtctlRunner) Run

func (k *DefaultVirtctlRunner) Run(args ...string) ([]byte, error)

type K3supRunner

type K3supRunner interface {
	Run(args ...string) ([]byte, error)
}

K3supRunner interface for executing k3sup commands

type KubectlRunner

type KubectlRunner interface {
	Run(args ...string) ([]byte, error)
}

KubectlRunner interface for executing kubectl commands

type LLMManager

type LLMManager struct {
	// contains filtered or unexported fields
}

LLMManager handles LLM operations

func NewLLMManager

func NewLLMManager() *LLMManager

NewLLMManager creates a new LLM manager instance

func (*LLMManager) CreateLLM

func (m *LLMManager) CreateLLM(llm types.LLM) error

CreateLLM creates a new LLM deployment

func (*LLMManager) DeleteLLM

func (m *LLMManager) DeleteLLM(namespace, name string) error

DeleteLLM deletes an LLM deployment

func (*LLMManager) GetLLM

func (m *LLMManager) GetLLM(namespace, name string) (*types.LLM, error)

GetLLM retrieves an LLM deployment

type MiddlewareFunc

type MiddlewareFunc = gin.HandlerFunc

MiddlewareFunc is an alias for gin.HandlerFunc for better readability

type NamespaceManager

type NamespaceManager struct {
	// contains filtered or unexported fields
}

NamespaceManager handles namespace operations

func NewNamespaceManager

func NewNamespaceManager() *NamespaceManager

NewNamespaceManager creates a new namespace manager

func (*NamespaceManager) CreateNamespace

func (m *NamespaceManager) CreateNamespace(name string) error

CreateNamespace creates a new namespace

func (*NamespaceManager) DeleteNamespace

func (m *NamespaceManager) DeleteNamespace(name string) error

DeleteNamespace deletes a namespace

func (*NamespaceManager) GetNamespace

func (m *NamespaceManager) GetNamespace(name string) (types.Namespace, error)

GetNamespace gets details of a specific namespace

func (*NamespaceManager) ListNamespaces

func (m *NamespaceManager) ListNamespaces() ([]string, error)

ListNamespaces lists all namespaces

type NodeManager

type NodeManager struct {
	// contains filtered or unexported fields
}

NodeManager handles node operations

func NewNodeManager

func NewNodeManager() *NodeManager

NewNodeManager creates a new NodeManager instance

func (*NodeManager) AddNode

func (m *NodeManager) AddNode(node types.Node) error

AddNode adds a node to the cluster

func (*NodeManager) DeleteNode

func (m *NodeManager) DeleteNode(name string) error

DeleteNode removes a node from the cluster

func (*NodeManager) GetNode

func (m *NodeManager) GetNode(name string) (*types.Node, error)

GetNode retrieves details of a specific node

func (*NodeManager) ListNodes

func (m *NodeManager) ListNodes() ([]string, error)

ListNodes returns a list of node names

func (*NodeManager) RestartNode

func (m *NodeManager) RestartNode(name string) error

RestartNode restarts a node

func (*NodeManager) ResumeNode

func (m *NodeManager) ResumeNode(host, user, key string) error

ResumeNode resumes a node

func (*NodeManager) SuspendNode

func (m *NodeManager) SuspendNode(host, user, key string) error

SuspendNode suspends a node

func (*NodeManager) UpgradeNode

func (m *NodeManager) UpgradeNode(host, user, key string) error

UpgradeNode upgrades a node

type Server

type Server struct {
	// contains filtered or unexported fields
}

Server represents the HTTP server

func NewServer

func NewServer(config types.ServerConfig) *Server

NewServer creates a new server instance

func (*Server) Start

func (s *Server) Start() error

Start initializes and starts the server

type VMManager

type VMManager struct {
	// contains filtered or unexported fields
}

VMManager handles VM operations

func NewVMManager

func NewVMManager() *VMManager

NewVMManager creates a new VM manager instance

func (*VMManager) CreateVM

func (m *VMManager) CreateVM(vm types.VM) error

CreateVM creates a new virtual machine

func (*VMManager) DeleteVM

func (m *VMManager) DeleteVM(name, namespace string) error

DeleteVM removes a virtual machine

func (*VMManager) GetVM

func (m *VMManager) GetVM(name, namespace string) (types.VM, error)

GetVM retrieves a specific virtual machine

func (*VMManager) ListVMs

func (m *VMManager) ListVMs(namespace string) ([]string, error)

ListVMs returns a list of virtual machines

func (*VMManager) RestartVM

func (m *VMManager) RestartVM(name, namespace string) error

RestartVM restarts a virtual machine

func (*VMManager) StartVM

func (m *VMManager) StartVM(name, namespace string) error

StartVM starts a virtual machine

func (*VMManager) StopVM

func (m *VMManager) StopVM(name, namespace string) error

StopVM stops a virtual machine

func (*VMManager) WaitVM

func (m *VMManager) WaitVM(name, namespace string) error

WaitVM waits for a virtual machine to be ready

type VMTemplate

type VMTemplate struct {
	Metadata struct {
		Name string `json:"name"`
	} `json:"metadata"`
	Spec struct {
		Template struct {
			Metadata struct {
				Labels map[string]string `json:"labels"`
			} `json:"metadata"`
		} `json:"template"`
	} `json:"spec"`
}

Add this struct before the GetVM function

type VersionInfo

type VersionInfo struct {
	Version     string `json:"version"`
	APIVersion  string `json:"apiVersion"`
	BuildCommit string `json:"buildCommit,omitempty"`
	BuildTime   string `json:"buildTime,omitempty"`
}

VersionInfo represents version information

func GetVersionInfo

func GetVersionInfo() VersionInfo

GetVersionInfo returns the current version information

type VersionResponse

type VersionResponse struct {
	APIResponse
	Data VersionInfo `json:"data"`
}

VersionResponse represents the version endpoint response

type VirtctlRunner

type VirtctlRunner interface {
	Run(args ...string) ([]byte, error)
}

VirtctlRunner interface for executing virtctl commands

type VolumeManager

type VolumeManager struct {
	// contains filtered or unexported fields
}

VolumeManager handles volume operations

func NewVolumeManager

func NewVolumeManager() *VolumeManager

NewVolumeManager creates a new volume manager

func (*VolumeManager) CreateVolume

func (m *VolumeManager) CreateVolume(volume types.Volume, namespace string) (string, error)

CreateVolumeHandler creates a new volume

func (*VolumeManager) DeleteVolume

func (m *VolumeManager) DeleteVolume(volume, namespace string) (string, error)

DeleteVolume deletes a volume

func (*VolumeManager) GetVolume

func (m *VolumeManager) GetVolume(name, namespace string) (types.Volume, error)

GetVolume gets details of a specific volume

func (*VolumeManager) ListVolumes

func (m *VolumeManager) ListVolumes(namespace string) ([]string, error)

ListVolumes lists all volumes

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL