Gerekenler (60 saniye)
Tek şey gerekiyor: container platformu içeren bir cdn.com.tr paketi — standart paketlerin hepsinde var. CLI\'ı aşağıdaki tek satırla kurun ve giriş yapın. Linux, macOS ve Windows\'ta aynı şekilde çalışır; paket yöneticisi tercih ederseniz APT/YUM depoları, Homebrew ve bir Docker imajı da mevcut.
$ curl -fsSL https://cdn.com.tr/downloads/cdnctl/install.sh | sh
$ cdnctl login --email siz@sirketiniz.com
Adım 1 — cdnctl init: klasör kendini tanıtsın
init\'i proje dizininde çalıştırın. Yığını ve portu tespit eder, küçük bir cdnctl.yaml manifest\'i yazar ve AGENTS.md\'ye bir deploy bölümü bırakır — AI kod asistanınız da akışı böyle öğrenir. Hesabınızı da kontrol eder: container platformu eksikse tam satın alma bağlantısını basar; --wait ile ödemeniz tarayıcıda tamamlanana dek bekler, sonra kendiliğinden devam eder.
$ cdnctl init
Proje : gorev-takip (node/express, port 3000)
Agent : claude-code (claude on PATH), cursor
Paket : ✓ Large (max 5 app)
Karne : 2 HATA, 2 uyarı — ayrıntı: cdnctl check
Yazıldı : cdnctl.yaml, AGENTS.md
→ Önce `cdnctl check` hatalarını düzeltin (deploy sonrası site açılmaz).
Adım 2 — cdnctl check: ucuzken düzeltin
check, deploy edilebilirlik için lokal bir linter\'dır. Hatalar (canlı siteyi kırarlar) deploy\'u durdurur; uyarılar durdurmaz. Düzeltmeler çoğunlukla tek satırdır: 127.0.0.1 yerine 0.0.0.0\'a bağlanın, gömülü token\'ı --secret\'a taşıyın, 200 dönen bir GET /health ekleyin, portu PORT ortam değişkeninden okuyun.
$ cdnctl check
[ERROR] bind-localhost (server.js:61)
Uygulama 127.0.0.1'e bağlanıyor — container içinde dışarıdan erişilemez.
→ 0.0.0.0'a bağlanın (host parametresini kaldırmak yeterli).
[ERROR] secret-in-code (server.js:10)
Kodda gömülü bir sır (API key/token/parola) görünüyor.
→ --secret KEY=VALUE ile taşıyın; kodda process.env ile okuyun.
[WARNING] sqlite-single-pod
SQLite, yeniden başlatmada / çoklu replikada veri kaybettirir.
→ Kalıcı disk bağlayın ya da yönetilen veritabanına geçin.
[WARNING] no-healthcheck
/health yolu yok — platform uygulamanın canlı olduğunu anlayamaz.
Adım 3 — cdnctl deploy: klasör girer, URL çıkar
deploy klasörü arşivler (node_modules ve .git asla gitmez), yükler, platformun sandbox\'ında build eder ve yayınlar. İlerleme satırları tam yazdığı şeyi yapar; CANLI\'yı gördüğünüzde URL zaten HTTPS üzerinden hizmet veriyordur. Güncelleme aynı komuttur — yeni build ayağa kalkmadan eskisi devreden çıkmaz.
$ cdnctl deploy
→ kaynak arşivleniyor (gorev-takip)
→ yükleniyor (0.1 MB)
→ build başlatılıyor (Kaniko, izole sandbox)
build: running
build: success (41 sn)
→ uygulama oluşturuluyor
→ subdomain atanıyor
→ ilk deploy başlatılıyor
→ uygulamanın ayağa kalkması bekleniyor
✓ CANLI: https://ca…….cdn.com.tr
Paketiniz yok mu? Tarayıcı el sıkışması
init hesabınızda container platformu bulamazsa sizi satın alma sayfasına bağlamla gönderir — sayfa cdnctl\'in yönlendirdiğini doğrulayan bir bant gösterir ve önerilen paketi işaretler. Ödemeyi her zamanki gibi tarayıcıda yapın; onay sayfası terminale dönmenizi söyler ve cdnctl (--wait ile, ya da init\'i yeniden çalıştırınca) akışı kendiliğinden sürdürür. Anahtar kopyalamak yok, yapılandırma yok.
Sınırlar ve dürüst ayrıntılar
Kaynak yüklemeleri 128 MB ile sınırlı — node_modules evde kalınca fazlasıyla yeterli. Tipik build bir dakika sürer. Uygulamanız dosya saklıyorsa deploy sırasında kalıcı disk isteyin ya da object storage kullanın; SQLite kullanıyorsa yönetilen veritabanını düşünün — check size nedenini hatırlatmaya devam edecek. Build düşerse cdnctl build logunu doğrudan basar; ilk seferde en sık sebep, makinenizdeki node_modules\'ı imaja kopyalayan bir Dockerfile\'dır (.dockerignore\'a ekleyin).
Sık sorulan sorular
Kendi alan adımı bağlayabilir miyim?
Evet — uygulama anında çalışan bir subdomain alır; kendi alan adınızı sonra panelden ya da CLI'dan bağlarsınız.
Loglarım nerede?
Durum için cdnctl container apps show ve paneldeki Sağlık sekmesi; build logları hata durumunda cdnctl deploy tarafından basılır, çalışma zamanı logları paneldedir.
Birden çok uygulama çalıştırabilir miyim?
Evet; kotayı paketiniz belirler. Her proje klasörü kendi URL'iyle ayrı bir uygulama olarak deploy edilir.
Kodu AI agent'ım yazıyor — deploy da edebilir mi?
Evet. init, AGENTS.md üzerinden komutları ona zaten öğretir; bir de deploy-only token verin (cdnctl deploy-token create) — hesap şifrenizi hiç tutmadan yayınlayabilsin.