Geliştiriciler

Terraform sağlayıcısı

Sunucu, veritabanı, fonksiyon ve DNS kaydını altyapı-kod olarak yönetin.

Sağlayıcı Terraform Registry'de haizora/haizora adıyla yayında; kaynak kodu GitHub'da.

Kurulum ve kimlik

main.tf
terraform {
  required_providers {
    haizora = {
      source = "haizora/haizora"
    }
  }
}

# Token from the HAIZORA_TOKEN environment variable (write scope)
provider "haizora" {}
AyarAçıklama
tokenYazma kapsamlı API anahtarı (HAIZORA_TOKEN). Hassas.
api_urlAPI adresi; varsayılan https://api.haizora.com/v1 (HAIZORA_API_URL).
Sipariş vermek, fonksiyon silmek ve DNS düzenlemek hesapta sahip ya da yönetici rolü ister.

haizora_server

Bulut sunucu (VPS). Oluşturmak sipariş verir (abonelik + fatura); sunucu fatura ödendikten sonra hazırlanır, IP ve SSH bilgileri sonraki yenilemede dolar. Silmek aboneliği dönem sonunda iptal eder (cancel_immediately = true ise hemen; iade yok).

hcl
resource "haizora_server" "web" {
  plan_key = "vps-business"
}
AlanAçıklama
plan_keyZorunlu. Katalog planı, ör. vps-business (GET /v1/catalog).
regionİsteğe bağlı. Yalnız konumlu planlarda (Global VPS) planın konum kodlarından biri.
cancel_immediatelyİsteğe bağlı. Silince aboneliği hemen iptal et.
ipv4, ipv6, ssh_host, ssh_port, ssh_userSalt okunur. Sunucu hazırlanınca dolar.
status, subscription_status, invoice_id, server_idSalt okunur.

haizora_database

Yönetilen PostgreSQL, MySQL ya da Redis. Oluşturmak sipariş verir. İlk parola tek seferlik bir gizli değerdir ve state'e düşmesin diye sağlayıcı tarafından OKUNMAZ; panelden alın.

hcl
resource "haizora_database" "pg" {
  plan_key = "pg-mini"
}
AlanAçıklama
plan_keyZorunlu. Yönetilen veritabanı planı.
cancel_immediatelyİsteğe bağlı.
engine, host, port, database, username, sslmodeSalt okunur. Bağlantı bilgileri.

haizora_function

Sunucusuz fonksiyon (ES modül: export default { async fetch(request, env) { ... } }). Kod, dil ya da gizli değer değişince yeni sürüm yayınlanır; yalnız env değişirse değişkenler yerinde güncellenir.

hcl
resource "haizora_function" "hello" {
  name = "hello"
  code = file("${path.module}/worker.js")
  env = {
    GREETING = "merhaba"
  }
}
AlanAçıklama
nameZorunlu. 3-32 karakter: küçük harf, rakam, tire. Adresin parçasıdır.
codeZorunlu. Kaynak kod, ör. file("worker.js").
languageİsteğe bağlı. js ya da ts.
envİsteğe bağlı. Düz ortam değişkenleri.
secretsİsteğe bağlı, hassas. API tarafında yalnız yazılır; geri okunmadığı için sapma algılanmaz.
url, active_version, statusSalt okunur.

haizora_dns_record

Haizora'da kayıtlı bir alan adının DNS kaydı. Her değişiklik kaydı yeniden oluşturur.

hcl
data "haizora_domain" "main" {
  name = "example.com"
}

resource "haizora_dns_record" "api" {
  domain_id = data.haizora_domain.main.id
  type      = "CNAME"
  name      = "api"
  value     = "hello.example.haizora.page"
  ttl       = 300
}
AlanAçıklama
domain_idZorunlu. Alan adı kimliği (data.haizora_domain).
typeZorunlu. A, AAAA, CNAME, MX, TXT ya da CAA.
valueZorunlu.
nameİsteğe bağlı. Ana alan için @.
ttlİsteğe bağlı. 60-86400 saniye.
priorityİsteğe bağlı. Yalnız MX.

İçe aktarma: <domain_id>/<TYPE>/<name>/<value>

sh
terraform import haizora_dns_record.api 123/CNAME/api/hello.example.haizora.page

data.haizora_domain

Bu hesapta kayıtlı bir alan adını adından bulur; id, status ve expires_at döndürür.

Bir sorunuz mu var? Topluluğa sorun ya da destek ekibine yazın. Topluluk, yol haritası ve öneriler →

Sepetiniz Boş

Henüz sepete herhangi bir ürün eklemediniz.

Alışverişe Başla