Skip to main content

Linode

@craftquest/linodev2026.09.18.1· 2d agoMODELSSKILLS
01README

Provision and operate Linode (Akamai) infrastructure from swamp — compute instances with boot/shutdown/reboot/wait, Cloud Firewalls with rule and device management, Block Storage volumes with attach/detach/resize, profile SSH keys, and a regions/types/images catalog with pricing. Label-addressed state, idempotent create and delete, confirmation-gated instance and volume deletes. Pure HTTPS, token from your vault.

02Models5
@craftquest/linode/instancesv2026.09.18.1instances.ts

Global Arguments

ArgumentTypeDescription
tokenstringLinode personal access token (vault-supplied); falls back to LINODE_TOKEN
labelstringInstance label, unique on the account (3-64 chars); also the state name
regionstringRegion ID, e.g. us-east, eu-central
typestringPlan/type ID, e.g. g6-nanode-1, g6-standard-2 (see catalog list_types)
imagestringImage ID to deploy, e.g. linode/ubuntu24.04
root_passstringRoot password (vault-supplied). Optional when authorized_keys is set
authorized_keysarrayPublic SSH keys (key text) appended to root's authorized_keys
authorized_usersarrayLinode usernames whose profile SSH keys are installed for root
tagsarrayTags applied to the instance
private_ipbooleanAlso allocate a private IPv4
backups_enabledbooleanEnable the paid Backup service
bootedbooleanBoot after provisioning
firewall_id?numberCloud Firewall ID to attach at creation
stackscript_id?numberStackScript to run on first boot
stackscript_datarecordStackScript UDF values
user_datastringcloud-init user data (plain text; base64-encoded for the API)
watchdog_enabled?booleanLassie shutdown watchdog (update only)
fn boot(config_id?: number)
Boot the stored instance (POST /boot)
ArgumentTypeDescription
config_id?numberConfiguration profile to boot; defaults to the only/last-booted one
fn shutdown()
Shut the stored instance down (POST /shutdown)
fn reboot(config_id?: number)
Reboot the stored instance (POST /reboot)
ArgumentTypeDescription
config_id?numberConfiguration profile to boot; defaults to the only/last-booted one
fn wait(status: string, timeout_seconds: number, interval_seconds: number)
Poll until the stored instance reaches the target status (default running) and refresh state
ArgumentTypeDescription
statusstringTarget status: running, offline, ... (comma-separate to accept several)
timeout_secondsnumber
interval_secondsnumber

Resources

state(infinite)— Instance state, one resource per instance named by label
listing(infinite)— Summary of the most recent list call
@craftquest/linode/firewallsv2026.09.18.1firewalls.ts

Global Arguments

ArgumentTypeDescription
tokenstringLinode personal access token (vault-supplied); falls back to LINODE_TOKEN
labelstringFirewall label (3-32 chars); also the state name
tagsarray
inbound_policyenumDefault for inbound traffic not matched by a rule
outbound_policyenumDefault for outbound traffic not matched by a rule
inboundarrayInbound rules, first match wins
outboundarrayOutbound rules, first match wins
linodesarrayLinode instance IDs to attach at creation
status?enumUpdate only
fn update_rules()
Replace the stored firewall's entire inbound/outbound rule sets and policies with the global arguments (PUT /rules)
fn list_devices()
Fetch the entities attached to the stored firewall and record them in state
fn attach(linode_id: number)
Attach a Linode instance to the stored firewall (no-op if already attached)
ArgumentTypeDescription
linode_idnumberLinode instance ID
fn detach(linode_id: number)
Detach a Linode instance from the stored firewall (no-op if not attached)
ArgumentTypeDescription
linode_idnumberLinode instance ID

Resources

state(infinite)— Firewall state (rules and devices), one resource per firewall named by label
listing(infinite)— Summary of the most recent list call
@craftquest/linode/volumesv2026.09.18.1volumes.ts

Global Arguments

ArgumentTypeDescription
tokenstringLinode personal access token (vault-supplied); falls back to LINODE_TOKEN
labelstringVolume label (1-32 chars); also the state name
sizenumberSize in GB (10-16384)
regionstringRegion ID; required unless linode_id is set (then the Linode's region is used)
linode_id?numberAttach to this Linode at creation
config_id?numberConfiguration profile to attach to (requires linode_id)
tagsarray
encryption?enumVolume encryption (default enabled where supported)
fn attach(linode_id: number, config_id?: number, persist_across_boots: boolean)
Attach the stored volume to a Linode (no-op if already attached to it)
ArgumentTypeDescription
linode_idnumberLinode instance to attach to (same region)
config_id?number
persist_across_bootsboolean
fn detach(timeout_seconds: number)
Detach the stored volume from whatever Linode it is attached to and wait until Linode reports it free (no-op if detached)
ArgumentTypeDescription
timeout_secondsnumberHow long to wait for Linode to finish detaching
fn resize(size: number)
Grow the stored volume (POST /resize); volumes cannot shrink
ArgumentTypeDescription
sizenumberNew size in GB; must be larger than the current size
fn wait(status: string, timeout_seconds: number, interval_seconds: number)
Poll until the stored volume reaches the target status (default active) and refresh state
ArgumentTypeDescription
statusstringTarget status (comma-separate to accept several)
timeout_secondsnumber
interval_secondsnumber

Resources

state(infinite)— Volume state, one resource per volume named by label
listing(infinite)— Summary of the most recent list call
@craftquest/linode/ssh_keysv2026.09.18.1ssh_keys.ts

Global Arguments

ArgumentTypeDescription
tokenstringLinode personal access token (vault-supplied); falls back to LINODE_TOKEN
labelstringKey label (max 64 chars); also the state name
ssh_keystringPublic key text (ssh-ed25519 ..., ssh-rsa ..., ecdsa-sha2-nistp...)

Resources

state(infinite)— SSH key state, one resource per key named by label
listing(infinite)— Summary of the most recent list call
@craftquest/linode/catalogv2026.09.18.1catalog.ts

Global Arguments

ArgumentTypeDescription
tokenstringLinode personal access token (vault-supplied); falls back to LINODE_TOKEN
fn list_regions(filter?: string)
Fetch all regions into the 'regions' resource
ArgumentTypeDescription
filter?stringOptional X-Filter JSON, e.g. {"class":"standard"}
fn list_types(filter?: string)
Fetch all instance types with pricing into the 'types' resource
ArgumentTypeDescription
filter?stringOptional X-Filter JSON, e.g. {"class":"standard"}
fn list_images(filter?: string, public_only: boolean)
Fetch images into the 'images' resource (public, non-deprecated by default)
ArgumentTypeDescription
filter?stringOptional X-Filter JSON, e.g. {"vendor":"Ubuntu"}
public_onlybooleanOnly public linode/* images (skips deprecated ones too)

Resources

regions(infinite)— Available regions
types(infinite)— Instance types (plans) with hourly/monthly list prices in USD
images(infinite)— Deployable images
03Skills1
linode1 file
04Stats
A
100 / 100
Downloads
0
Archive size
34.6 KB
  • Has README or module doc2/2earned
  • README has a code example1/1earned
  • README is substantive1/1earned
  • Most symbols documented1/1earned
  • No slow types (deprecated)1/1earned
  • Dependencies pass trust audit2/2earned
  • Has description1/1earned
  • Platform support declared (or universal)2/2earned
  • License declared1/1earned
  • Verified public repository2/2earned
05Platforms
06Labels