Провайдер 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_vm | VM: CPU, RAM, диск, клас CPU, публічна та приватні мережі |
hostd_os_images (джерело даних) | Образи ОС, доступні в проєкті |
Ліміти
- Провайдер дотримується лімітів API: після досягнення ліміту чекає час із заголовка
Retry-Afterі повторює запит. - CPU або RAM VM можна зменшити лише для зупиненої VM (спершу зупиніть її в порталі) і тільки через 24 години після створення або останнього збільшення.
- Зміна публічної мережі VM між
ipv4,ipv6іdualвідбувається черезoff. - Приватні мережі підключаються за назвою (
lan_vnets); спершу створіть їх у порталі.