NodeSpecs

data class NodeSpecs(val name: String, val addresses: List<String>, val osArch: String, val cpu: CPUSpecs?, val memory: MemorySpecs?, val systemSpecs: SystemSpecs?, val environment: Environment = Environment(), val units: List<String>, val image: String? = null, val imageFormat: String? = "avif", val description: String? = null)

Represents the top level structure for specifying a node. A node is a computer that can run the PowerGoblin agent, which is the client program that manages the node.

Each node has:

  • name

  • list of associated IP addresses

  • OS and system architecture

  • (optional) specifications for a CPU

  • (optional) specifications for the system memory

  • environment variables

  • list of units (smaller entities such as CPU that can be associated with a meter)

  • (optional) base64 encoded image of the node

  • (optional) image format specification (defaults to AVIF)

  • (optional) textual description

Constructors

Link copied to clipboard
constructor(name: String, addresses: List<String>, osArch: String, cpu: CPUSpecs?, memory: MemorySpecs?, systemSpecs: SystemSpecs?, environment: Environment = Environment(), units: List<String>, image: String? = null, imageFormat: String? = "avif", description: String? = null)

Properties

Link copied to clipboard

Associated interface addresses

Link copied to clipboard

Processor specs

Link copied to clipboard
val description: String? = null

Description of the node

Link copied to clipboard

Environment variables

Link copied to clipboard
val image: String? = null

Graphical image of the node (base64)

Link copied to clipboard

Image file format

Link copied to clipboard

Memory specs

Link copied to clipboard

Name of the node

Link copied to clipboard

Operating system and architecture

Link copied to clipboard

System specs (from systemd)

Link copied to clipboard

Associated units (e.g. SoC, CPU, GPU)