Provisioning

Everything that boots a server over PXE: reinstall, rescue, hardware collection, disk wipe, password reset. All of these start a job and answer 202.

8 endpoints

Reinstall the operating system

#

POST/api/v1/servers/{id}/reinstall

Needs confirm with the hostname

Starts a reinstall job over PXE (202). Needs a public IPv4 address on the server and confirm with the hostname.

Path parameters

  • id integer> 0

Request body

  • profileIdintegerrequired

    > 0

  • diskLayoutIdinteger | null

    > 0

  • rootPasswordstring | null

    min. 8 chars, max. 128 chars

  • sshKeyIdsinteger[]

    default []

  • sshKeysstring[]

    default []

  • scriptIdsinteger[]

    default []

  • hostnamestring | null

    max. 253 chars

  • bootModestring | null

    one of auto, legacy, uefi

  • confirmstring

Example

curl -X POST "https://panel.example.com/api/v1/servers/42/reinstall" \
  -H "Authorization: Bearer $TRIXOS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"profileId":3,"diskLayoutId":1,"rootPassword":"a-long-password","sshKeyIds":[4],"scriptIds":[],"bootMode":"auto","confirm":"web-01"}'

Discover the hardware without a reboot (shell command or running rescue system)

#

POST/api/v1/servers/{id}/hardware-discover

Hardware discovery without a reboot. via: shell (default) returns a one-line command to run as root on the installed system; it talks to the site agent by its hostname when that resolves to the agent (else its IP). via: rescue hands the scan to the server's running TrixOS rescue system, which picks it up within ~20 s. Both send CPU, memory, disks, controllers, NICs, BIOS and SMART with a job token (valid for 2 hours, until the report arrives). Replaces an unfinished discovery.

Path parameters

  • id integer> 0

Request body

  • viastring

    one of shell, rescue, default "shell"

Example

curl -X POST "https://panel.example.com/api/v1/servers/42/hardware-discover" \
  -H "Authorization: Bearer $TRIXOS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"via":"shell"}'

Hardware discovery options for a server (PXE, shell command, running rescue system)

#

GET/api/v1/servers/{id}/hardware-discover/options

The ways the hardware of this server can be read now: PXE (reboot, server off afterwards), shell command (agent hostname or IP the command uses) and the running rescue system (only while one checks in).

Path parameters

  • id integer> 0

Example

curl "https://panel.example.com/api/v1/servers/42/hardware-discover/options" \
  -H "Authorization: Bearer $TRIXOS_TOKEN"

Boot a rescue system or tool

#

POST/api/v1/servers/{id}/rescue

Needs confirm with the hostname

Boots a rescue or tool profile over PXE (202).

Path parameters

  • id integer> 0

Request body

  • profileIdinteger

    > 0

  • rootPasswordstring | null

    min. 8 chars, max. 128 chars

  • sshKeyIdsinteger[]

    default []

  • sshKeysstring[]

    default []

  • wipeMethodstring

    one of fast, secure, blkdiscard, nvme, shred, zero

  • bootModestring | null

    one of auto, legacy, uefi

  • confirmstring

Example

curl -X POST "https://panel.example.com/api/v1/servers/42/rescue" \
  -H "Authorization: Bearer $TRIXOS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"profileId":41,"rootPassword":"a-long-password","confirm":"web-01"}'

Collect hardware information

#

POST/api/v1/servers/{id}/hardware-collect

Needs confirm with the hostname

Boots the collect image over PXE; the inventory and SMART data are stored and the server is powered off (202).

Path parameters

  • id integer> 0

Request body

  • profileIdinteger

    > 0

  • rootPasswordstring | null

    min. 8 chars, max. 128 chars

  • sshKeyIdsinteger[]

    default []

  • sshKeysstring[]

    default []

  • wipeMethodstring

    one of fast, secure, blkdiscard, nvme, shred, zero

  • bootModestring | null

    one of auto, legacy, uefi

  • confirmstring

Example

curl -X POST "https://panel.example.com/api/v1/servers/42/hardware-collect" \
  -H "Authorization: Bearer $TRIXOS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"confirm":"web-01"}'

Wipe all disks

#

POST/api/v1/servers/{id}/disk-wipe

Needs confirm with the hostname

Irreversible. wipeMethod: blkdiscard, nvme, shred or zero (202).

Path parameters

  • id integer> 0

Request body

  • profileIdinteger

    > 0

  • rootPasswordstring | null

    min. 8 chars, max. 128 chars

  • sshKeyIdsinteger[]

    default []

  • sshKeysstring[]

    default []

  • wipeMethodstring

    one of fast, secure, blkdiscard, nvme, shred, zero

  • bootModestring | null

    one of auto, legacy, uefi

  • confirmstring

Example

curl -X POST "https://panel.example.com/api/v1/servers/42/disk-wipe" \
  -H "Authorization: Bearer $TRIXOS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"wipeMethod":"blkdiscard","confirm":"web-01"}'

Reset the root or Administrator password

#

POST/api/v1/servers/{id}/password-reset

Needs confirm with the hostname

Boots the reset image over PXE and sets the new password in the installed system (202).

Path parameters

  • id integer> 0

Request body

  • profileIdinteger

    > 0

  • rootPasswordstring | null

    min. 8 chars, max. 128 chars

  • sshKeyIdsinteger[]

    default []

  • sshKeysstring[]

    default []

  • wipeMethodstring

    one of fast, secure, blkdiscard, nvme, shred, zero

  • bootModestring | null

    one of auto, legacy, uefi

  • confirmstring

Example

curl -X POST "https://panel.example.com/api/v1/servers/42/password-reset" \
  -H "Authorization: Bearer $TRIXOS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"rootPassword":"a-new-password","confirm":"web-01"}'

Cancel the running install

#

POST/api/v1/servers/{id}/provisioning/cancel

Cancels the server’s running provisioning job and disarms PXE.

Path parameters

  • id integer> 0

Request body

  • powerResetboolean

    default false

Example

curl -X POST "https://panel.example.com/api/v1/servers/42/provisioning/cancel" \
  -H "Authorization: Bearer $TRIXOS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"powerReset":false}'