module

GarmProviderVultr

Constants

CONTROLLER_TAG_PREFIX = "garm-controller-id:"

Tag constants

EXIT_NOT_FOUND = 5

Exit code for "not found" - garm checks this specifically for DeleteInstance

POOL_TAG_PREFIX = "garm-pool-id:"
VERSION = "0.1.0"

Class methods

belongs_to_controller?(tags : Array(String), controller_id : String) : Bool

Check if instance belongs to this controller

Source
belongs_to_pool?(tags : Array(String), pool_id : String) : Bool

Check if instance belongs to specific pool

Source
garm_arch_to_os_arch(arch : String) : String

Map garm arch to Vultr-compatible arch string

Source
make_tags(controller_id : String, pool_id : String) : Array(String)

Generate tags for a Vultr instance

Source
map_vultr_status(vultr_status : String, power_status : String) : GarmProvider::InstanceStatus

Map Vultr instance status + power_status to garm InstanceStatus

Source
parse_os_info(os_label : String) : Tuple(String, String)

Map Vultr OS string to garm os_name / os_version

Source
pool_id_from_tags(tags : Array(String)) : String | Nil

Extract pool ID from instance tags

Source
vultr_to_garm_instance(vi : Vultr::Instance) : GarmProvider::ProviderInstance

Convert a Vultr Instance to a garm ProviderInstance

Source

Nested types