Documentation
¶
Index ¶
- Constants
- func AddNodeHandler(c *gin.Context)
- func CheckVersion(requiredVersion string) gin.HandlerFunc
- func CreateContainerHandler(c *gin.Context)
- func CreateDBHandler(c *gin.Context)
- func CreateLLMHandler(c *gin.Context)
- func CreateNamespaceHandler(c *gin.Context)
- func CreateVMHandler(c *gin.Context)
- func CreateVolumeHandler(c *gin.Context)
- func DeleteContainerHandler(c *gin.Context)
- func DeleteDBHandler(c *gin.Context)
- func DeleteLLMHandler(c *gin.Context)
- func DeleteNamespaceHandler(c *gin.Context)
- func DeleteNodeHandler(c *gin.Context)
- func DeleteVMHandler(c *gin.Context)
- func DeleteVolumeForVM(vm types.VM) error
- func DeleteVolumeHandler(c *gin.Context)
- func ErrorMiddleware() gin.HandlerFunc
- func GetContainerHandler(c *gin.Context)
- func GetDBHandler(c *gin.Context)
- func GetLLMHandler(c *gin.Context)
- func GetNamespaceHandler(c *gin.Context)
- func GetNodeHandler(c *gin.Context)
- func GetVMHandler(c *gin.Context)
- func GetVolumeHandler(c *gin.Context)
- func ListContainersHandler(c *gin.Context)
- func ListDBsHandler(c *gin.Context)
- func ListNamespacesHandler(c *gin.Context)
- func ListNodesHandler(c *gin.Context)
- func ListVMsHandler(c *gin.Context)
- func ListVolumesHandler(c *gin.Context)
- func LoggingMiddleware() gin.HandlerFunc
- func RestartNodeHandler(c *gin.Context)
- func RestartVMHandler(c *gin.Context)
- func ResumeNodeHandler(c *gin.Context)
- func Serve(serverConfig types.ServerConfig)
- func StartVMHandler(c *gin.Context)
- func StopVMHandler(c *gin.Context)
- func SuspendNodeHandler(c *gin.Context)
- func UpgradeNodeHandler(c *gin.Context)
- func VersionHandler(c *gin.Context)
- func VersionMiddleware() gin.HandlerFunc
- func WaitVMHandler(c *gin.Context)
- type APIResponse
- type ContainerManager
- func (m *ContainerManager) CreateContainer(container *types.Container) error
- func (m *ContainerManager) DeleteContainer(name, namespace string) error
- func (m *ContainerManager) GetContainer(name, namespace string) (*types.Container, error)
- func (m *ContainerManager) ListContainers(namespace string) ([]types.Container, error)
- type DBManager
- type DefaultKubectlRunner
- type DefaultVirtctlRunner
- type K3supRunner
- type KubectlRunner
- type LLMManager
- type MiddlewareFunc
- type NamespaceManager
- type NodeManager
- func (m *NodeManager) AddNode(node types.Node) error
- func (m *NodeManager) DeleteNode(name string) error
- func (m *NodeManager) GetNode(name string) (*types.Node, error)
- func (m *NodeManager) ListNodes() ([]string, error)
- func (m *NodeManager) RestartNode(name string) error
- func (m *NodeManager) ResumeNode(host, user, key string) error
- func (m *NodeManager) SuspendNode(host, user, key string) error
- func (m *NodeManager) UpgradeNode(host, user, key string) error
- type Server
- type VMManager
- func (m *VMManager) CreateVM(vm types.VM) error
- func (m *VMManager) DeleteVM(name, namespace string) error
- func (m *VMManager) GetVM(name, namespace string) (types.VM, error)
- func (m *VMManager) ListVMs(namespace string) ([]string, error)
- func (m *VMManager) RestartVM(name, namespace string) error
- func (m *VMManager) StartVM(name, namespace string) error
- func (m *VMManager) StopVM(name, namespace string) error
- func (m *VMManager) WaitVM(name, namespace string) error
- type VMTemplate
- type VersionInfo
- type VersionResponse
- type VirtctlRunner
- type VolumeManager
- func (m *VolumeManager) CreateVolume(volume types.Volume, namespace string) (string, error)
- func (m *VolumeManager) DeleteVolume(volume, namespace string) (string, error)
- func (m *VolumeManager) GetVolume(name, namespace string) (types.Volume, error)
- func (m *VolumeManager) ListVolumes(namespace string) ([]string, error)
Constants ¶
const ( Version = "v0.0.1" APIVersion = "v0" BuildCommit = "dev" BuildTime = "unknown" )
Version information
Variables ¶
This section is empty.
Functions ¶
func AddNodeHandler ¶
AddNodeHandler handles HTTP requests to add a node
func CheckVersion ¶
func CheckVersion(requiredVersion string) gin.HandlerFunc
CheckVersion validates API version compatibility
func CreateContainerHandler ¶
CreateContainerHandler handles requests to create a new container
func CreateDBHandler ¶
CreateDBHandler handles requests to create a new database
func CreateLLMHandler ¶
CreateLLMHandler handles LLM creation requests
func CreateNamespaceHandler ¶
CreateNamespaceHandler creates a new namespace
func CreateVMHandler ¶
CreateVMHandler handles VM creation requests
func CreateVolumeHandler ¶
CreateVolumeHandler creates a new volume
func DeleteContainerHandler ¶
DeleteContainerHandler handles requests to delete a container
func DeleteDBHandler ¶
DeleteDBHandler handles requests to delete a database
func DeleteLLMHandler ¶
DeleteLLMHandler handles LLM deletion requests
func DeleteNamespaceHandler ¶
DeleteNamespaceHandler deletes a namespace
func DeleteNodeHandler ¶
DeleteNodeHandler handles HTTP requests to delete a node
func DeleteVMHandler ¶
DeleteVMHandler handles VM deletion requests
func DeleteVolumeForVM ¶
DeleteVolumeForVM deletes the volume for a VM
func DeleteVolumeHandler ¶
DeleteVolumeHandler deletes a volume
func ErrorMiddleware ¶
func ErrorMiddleware() gin.HandlerFunc
ErrorMiddleware creates a middleware for error handling
func GetContainerHandler ¶
GetContainerHandler handles requests to get container details
func GetDBHandler ¶
GetDBHandler handles requests to get database details
func GetLLMHandler ¶
GetLLMHandler handles LLM retrieval requests
func GetNamespaceHandler ¶
GetNamespaceHandler gets details of a specific namespace
func GetNodeHandler ¶
GetNodeHandler handles HTTP requests to get node details
func GetVolumeHandler ¶
GetVolumeHandler gets details of a specific volume
func ListContainersHandler ¶
ListContainersHandler handles requests to list containers
func ListDBsHandler ¶
ListDBsHandler handles requests to list databases
func ListNamespacesHandler ¶
ListNamespacesHandler lists all namespaces
func ListNodesHandler ¶
ListNodesHandler handles HTTP requests to list nodes
func ListVMsHandler ¶
ListVMsHandler handles VM listing requests
func ListVolumesHandler ¶
ListVolumesHandler lists all volumes
func LoggingMiddleware ¶
func LoggingMiddleware() gin.HandlerFunc
LoggingMiddleware creates a middleware for request logging
func RestartNodeHandler ¶
RestartNodeHandler handles HTTP requests to restart a node
func RestartVMHandler ¶
RestartVMHandler handles VM restart requests
func ResumeNodeHandler ¶
ResumeNodeHandler handles HTTP requests to resume a node
func Serve ¶
func Serve(serverConfig types.ServerConfig)
Serve starts the server with the given configuration
func SuspendNodeHandler ¶
SuspendNodeHandler handles HTTP requests to suspend a node
func UpgradeNodeHandler ¶
UpgradeNodeHandler handles HTTP requests to upgrade a node
func VersionHandler ¶
VersionHandler returns the server version information
func VersionMiddleware ¶
func VersionMiddleware() gin.HandlerFunc
VersionMiddleware adds version header to responses
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
type DefaultKubectlRunner ¶
type DefaultKubectlRunner struct{}
DefaultKubectlRunner implements KubectlRunner using exec.Command
type DefaultVirtctlRunner ¶
type DefaultVirtctlRunner struct{}
DefaultVirtctlRunner implements VirtctlRunner using exec.Command
type K3supRunner ¶
K3supRunner interface for executing k3sup commands
type KubectlRunner ¶
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
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
type VMManager ¶
type VMManager struct {
// contains filtered or unexported fields
}
VMManager handles VM operations
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 ¶
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 ¶
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