API

Migration API

Bir server'ın mevcut Docker deployment'ını tarayın ve bulunan servisleri bir Alaf Server projesi olarak benimseyin.

Migration API, bir server'a elle deploy ettiğiniz iş yüklerini — Compose stack'leri ve başıboş container'lar — Alaf Server yönetimi altına alır. Bir server'ın Docker'ını SSH üzerinden inceler, benimseyebileceği stack'leri döndürür ve ardından seçtiklerinizden bir Alaf Server services projesi oluşturur. dashboard'da bu, migration wizard'ıdır; CLI karşılığı yoktur.

Temel Yol ve Kimlik Doğrulama

Tüm yollar, /api altında, instance'ınıza göredir — örn. https://your-host/api/migration/scan. alaf server token create ile oluşturulmuş kişisel bir erişim token'ını bearer header olarak gönderin (Authorization: Bearer <token>). dashboard bunun yerine oturum çerezinizi kullanır. Tam kimlik doğrulama modeli için API genel bakışına bakın.

Yalnızca Self-hosted

Bu modül yalnızca instance'ınız self-hosted modda çalıştığında yüklenir — bir deployment'ı benimsemek, yönettiğiniz bir server'a SSH erişimi gerektirir, ki Alaf Server Cloud'un böyle bir kavramı yoktur. Bir cloud instance'ında bu rotalar yüklenmez ve 404 döndürür.

Uç Noktalar

Metot ve yolİzinNe işe yarar
POST /api/migration/scanserver:writeBir server'ın Docker'ını inceler ve benimsenebilir stack'i döndürür — salt okunur, hiçbir şeyi değiştirmez.
POST /api/migration/adoptserver:writeSeçilen bulunan servislerden bir Alaf Server projesi oluşturur.

Her iki rota da hedef serverId'ı istek gövdesinde (URL'de değil) alır. Alaf Server, herhangi bir işlem yapmadan önce server'ın kuruluşunuza ait olduğunu ve üzerinde server:write izninizin olduğunu kontrol eder.

Bir server'ı tarayın

Salt okunur. Server'ın Docker'ını — Compose stack'leri ve elle çalıştırılan container'lar dahil — listeler, disk üzerinde bulunan Compose dosyalarıyla eşleştirir ve wizard'ın önizlemesi için bulunan stack'i döndürür. Server üzerinde hiçbir şey değişmez.

POST /api/migration/scan

Prop

Type

curl -X POST https://your-host/api/migration/scan \
  -H "Authorization: Bearer $ALAFSERVER_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"serverId":"srv_123"}'

Başarılı olduğunda yanıt { "success": true, "stack": … } şeklindedir, burada stack, bulunan ve benimsenebilecek Compose stack'lerini ve container'larını açıklar.

Bulunan servisleri benimseyin

Seçtiğiniz servislerden bir Alaf Server services projesi oluşturur. Server, server tarafında yeniden keşfedilir (server, gerçeğin kaynağıdır, client tarafından gönderilen config değil) ve mevcut adlandırılmış volume'ler yerinde yeniden kullanılır — bu yalnızca projeyi kaydeder; deploy ve cutover ayrı adımlardır.

POST /api/migration/adopt

Prop

Type

curl -X POST https://your-host/api/migration/adopt \
  -H "Authorization: Bearer $ALAFSERVER_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"serverId":"srv_123","projectName":"legacy-stack","serviceNames":["web","worker"]}'

Başarılı olduğunda yanıt, oluşturulan projenin detaylarıyla birlikte { "success": true, … } şeklindedir.

Karşılaşabileceğiniz hatalar

400 — eksik veya boş alan

Her iki rotada da serverId gereklidir; adopt ayrıca boş olmayan bir projectName ve serviceNames içinde en az bir giriş gerektirir. Yanıt gövdesi eksik alanı belirtir.

404 — server bulunamadı

serverId kuruluşunuza ait değil (veya mevcut değil). Geçerli ID'leri almak için server'larınızı alaf server server list ile listeleyin. Bir cloud instance'ında modül hiç yüklenmez, bu nedenle buradaki her yol 404 döndürür.

502 — tarama veya benimseme başarısız oldu

Alaf Server, server'ın Docker'ına ulaşamadı veya inceleyemedi (SSH erişilemez, Docker çalışmıyor, izin reddedildi) veya benimseme başarısız oldu. Mesaj, temel nedeni içerir. Server'ın çevrimiçi ve Docker'ının erişilebilir olduğunu doğrulayın, ardından tekrar deneyin.

On this page