server

package
v1.4.5 Latest Latest
Warning

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

Go to latest
Published: May 2, 2026 License: MIT Imports: 9 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var ErrRegistrationTokenNotFound = errors.New("no registration token found with the given name")

ErrRegistrationTokenNotFound is returned when no registration token matches the given name.

Functions

func DeleteRegistrationToken added in v1.4.4

func DeleteRegistrationToken(ac *client.AlpaconClient, tokenName string) error

DeleteRegistrationToken resolves a token name to its ID and sends a DELETE request.

func DeleteServer

func DeleteServer(ac *client.AlpaconClient, serverName string) error

func GetServerDetail

func GetServerDetail(ac *client.AlpaconClient, serverName string) ([]byte, error)

func GetServerIDByName

func GetServerIDByName(ac *client.AlpaconClient, serverName string) (string, error)

func GetServerNameByID

func GetServerNameByID(ac *client.AlpaconClient, serverID string) (string, error)

func UpdateServer added in v1.2.0

func UpdateServer(ac *client.AlpaconClient, serverName string) ([]byte, error)

Types

type RegistrationMethodGuideJsonResponse added in v1.4.2

type RegistrationMethodGuideJsonResponse struct {
	MethodID         string   `json:"method_id"`
	Platform         string   `json:"platform"`
	PlatformLabel    string   `json:"platform_label"`
	AlpaconURL       string   `json:"alpacon_url"`
	PackageProxy     *string  `json:"package_proxy"`
	AllowSudoWithMFA bool     `json:"allow_sudo_with_mfa"`
	TokenKey         string   `json:"token_key"`
	ServerName       string   `json:"server_name"`
	InstallCommands  []string `json:"install_commands"`
	RegisterCommand  string   `json:"register_command"`
}

RegistrationMethodGuideJsonResponse is the structured JSON response from the guide API.

func GetRegistrationGuideJSON added in v1.4.2

func GetRegistrationGuideJSON(ac *client.AlpaconClient, platform, serverName, tokenID string) (RegistrationMethodGuideJsonResponse, error)

type RegistrationMethodGuideRequest added in v1.4.2

type RegistrationMethodGuideRequest struct {
	Platform          string `json:"platform"`
	ServerName        string `json:"server_name,omitempty"`
	RegistrationToken string `json:"registration_token,omitempty"`
}

RegistrationMethodGuideRequest is the request body for the guide API.

type RegistrationTokenAttributes added in v1.4.4

type RegistrationTokenAttributes struct {
	Name          string `json:"name"`
	AllowedGroups string `json:"allowed_groups" table:"Allowed Groups"`
	ExpiresAt     string `json:"expires_at" table:"Expires At"`
	Enabled       bool   `json:"enabled"`
}

RegistrationTokenAttributes is the table/JSON projection used by 'server token ls'. AllowedGroups is rendered as a comma-separated list of group names (UUIDs when the name cannot be resolved), and ExpiresAt is rendered as the raw timestamp or "never" when the token does not expire.

func GetRegistrationTokenAttributes added in v1.4.4

func GetRegistrationTokenAttributes(ac *client.AlpaconClient) ([]RegistrationTokenAttributes, error)

GetRegistrationTokenAttributes returns all registration tokens projected for table/JSON display. Group UUIDs are resolved to group names using a single batched lookup; on lookup failure, UUIDs are shown as-is and the overall list is not blocked.

type RegistrationTokenCreatedResponse added in v1.4.2

type RegistrationTokenCreatedResponse struct {
	ID            string   `json:"id"`
	Name          string   `json:"name"`
	AllowedGroups []string `json:"allowed_groups"`
	Key           string   `json:"key"`
	ExpiresAt     *string  `json:"expires_at"`
	AddedAt       string   `json:"added_at"`
}

RegistrationTokenCreatedResponse holds the result after creating a server registration token. The Key field is only returned once at creation time.

func CreateRegistrationToken added in v1.4.2

type RegistrationTokenDetails added in v1.4.2

type RegistrationTokenDetails struct {
	ID            string   `json:"id"`
	Name          string   `json:"name"`
	AllowedGroups []string `json:"allowed_groups"`
	Enabled       bool     `json:"enabled"`
	ExpiresAt     *string  `json:"expires_at"`
	AddedAt       string   `json:"added_at"`
}

RegistrationTokenDetails is used when listing or looking up existing tokens. The Key field is not included—it is only available at creation time.

func GetRegistrationTokenByName added in v1.4.2

func GetRegistrationTokenByName(ac *client.AlpaconClient, name string) (RegistrationTokenDetails, error)

func ListRegistrationTokens added in v1.4.2

func ListRegistrationTokens(ac *client.AlpaconClient) ([]RegistrationTokenDetails, error)

type RegistrationTokenRequest added in v1.4.2

type RegistrationTokenRequest struct {
	Name          string   `json:"name"`
	AllowedGroups []string `json:"allowed_groups,omitempty"`
	ExpiresAt     *string  `json:"expires_at,omitempty"`
}

RegistrationTokenRequest is used to create a new server registration token. ExpiresAt is an RFC3339 timestamp; omit to create a non-expiring token.

type ServerAttributes

type ServerAttributes struct {
	Name      string `json:"name"`
	IP        string `json:"ip" table:"IP"`
	OS        string `json:"os" table:"OS"`
	Connected bool   `json:"connected"`
	Owner     string `json:"owner"`
}

func GetServerList

func GetServerList(ac *client.AlpaconClient) ([]ServerAttributes, error)

type ServerDetails

type ServerDetails struct {
	ID               string            `json:"id"`
	Name             string            `json:"name"`
	RemoteIP         string            `json:"remote_ip"`
	Status           ServerStatus      `json:"status"`
	IsConnected      bool              `json:"is_connected"`
	Commissioned     bool              `json:"commissioned"`
	Starred          bool              `json:"starred"`
	CPUPhysicalCores int               `json:"cpu_physical_cores"`
	CPULogicalCores  int               `json:"cpu_logical_cores"`
	CPUType          string            `json:"cpu_type"`
	PhysicalMemory   int64             `json:"physical_memory"`
	OSName           string            `json:"os_name"`
	OSVersion        string            `json:"os_version"`
	Load             float64           `json:"load"`
	BootTime         time.Time         `json:"boot_time"`
	Owner            types.UserSummary `json:"owner"`
	Groups           []string          `json:"groups"`
}

type ServerStatus

type ServerStatus struct {
	Code     string           `json:"code"`
	Icon     string           `json:"icon"`
	Meta     ServerStatusMeta `json:"meta"`
	Text     string           `json:"text"`
	Color    string           `json:"color"`
	Messages []string         `json:"messages"`
}

type ServerStatusMeta

type ServerStatusMeta struct {
	Delay1d  float64 `json:"delay_1d"`
	Delay1h  float64 `json:"delay_1h"`
	Delay1w  float64 `json:"delay_1w"`
	DelayNow float64 `json:"delay_now"`
}

Jump to

Keyboard shortcuts

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