Провайдер Terraform

Керуйте проєктами, SSH-ключами та віртуальними машинами hostd Public Cloud через Terraform.

Провайдер Terraform hostd керує вашим Public Cloud як кодом: проєктами, SSH-ключами та віртуальними машинами. Він використовує той самий API і той самий ключ API.

Провайдер: hostdcloud/hostd у Terraform Registry — там описано кожен ресурс і аргумент.

Підключення

Створіть ключ API в порталі в Налаштування → Ключі API і експортуйте його:

export HOSTD_API_KEY=<your-api-key>
terraform {
  required_providers {
    hostd = {
      source = "hostdcloud/hostd"
    }
  }
}

provider "hostd" {}

Доступ

Провайдер працює з вашим ключем API, тож має такий самий доступ, як і ключ (докладніше):

  • hostd_ssh_key потребує доступу Write до ключів SSH.
  • hostd_project потребує ключа, який може створювати проєкти; ключ отримує Full до проєктів, які створить. Щоб використати наявний проєкт, вкажіть його UUID у project_id.
  • hostd_vm потребує доступу Write до проєкту; видалення VM потребує Full.
  • Читання стану та hostd_os_images потребують Read.

Приклад

resource "hostd_project" "main" {
  name         = "production"
  cluster_name = "waw-1"
}

resource "hostd_ssh_key" "admin" {
  name           = "admin"
  public_ssh_key = file("~/.ssh/id_ed25519.pub")
}

data "hostd_os_images" "available" {
  project_id = hostd_project.main.id
}

resource "hostd_vm" "web" {
  project_id  = hostd_project.main.id
  hostname    = "web-01"
  os_image    = "debian-12-amd64.qcow2"
  ssh_key_ids = [hostd_ssh_key.admin.id]
  cores       = 2
  ram_gb      = 4
  os_disk_gb  = 20
}

output "web_ipv4" {
  value = hostd_vm.web.ipv4
}

Назви образів залежать від кластера: hostd_os_images повертає образи, доступні в проєкті. До VM ви підключаєтеся доданими SSH-ключами; провайдер встановлює випадковий пароль і не показує його.

Ресурси

НазваЧим керує
hostd_projectПроєкт у кластері (зоні)
hostd_ssh_keyПублічний SSH-ключ в акаунті
hostd_vmVM: CPU, RAM, диск, клас CPU, публічна та приватні мережі
hostd_os_images (джерело даних)Образи ОС, доступні в проєкті

Ліміти

  • Провайдер дотримується лімітів API: після досягнення ліміту чекає час із заголовка Retry-After і повторює запит.
  • CPU або RAM VM можна зменшити лише для зупиненої VM (спершу зупиніть її в порталі) і тільки через 24 години після створення або останнього збільшення.
  • Зміна публічної мережі VM між ipv4, ipv6 і dual відбувається через off.
  • Приватні мережі підключаються за назвою (lan_vnets); спершу створіть їх у порталі.

On this page