Komut satırı
cdnctl Referansı
cdnctl (v0.12.x) için eksiksiz referans. Tüm komutlar JSON çıktı verir. Kimlik doğrulama token'ı ~/.cdnctl/config.json'da saklanır ya da CDNCTL_TOKEN ve CDNCTL_ENDPOINT ortam değişkenlerinden okunur.
delete ya da revoke geçen her komut açık bir --yes bayrağı ister. Onsuz komut hatayla çıkar ve hiçbir değişiklik yapmaz.
Kurulum ve Güncelleme
cdnctl; Linux, macOS ve Windows (amd64/arm64) için statik bir ikili dosya olarak sunulur. PHP, Python, Node.js veya kubectl gerektirmez.
install
curl -fsSL https://cdn.com.tr/downloads/cdnctl/install.sh | sh
# pin a specific version
CDNCTL_VERSION=0.12.0 curl -fsSL https://cdn.com.tr/downloads/cdnctl/install.sh | sh
Platformunuz için en son sürümü indirir, yayımlanan sağlama toplamlarına (checksum) göre doğrular ve ikili dosyayı kurar.
update
cdnctl update --check
cdnctl update --yes
cdnctl update --version <version> --yes
Kurulu ikili dosyayı genel sürüm kanalından kendi kendine günceller. İndirilen arşiv, ikili dosya değiştirilmeden önce yayımlanan checksum dosyasına göre doğrulanır.
| Bayrak | Açıklama | |
|---|---|---|
| --check | opsiyonel | Yalnızca daha yeni bir sürüm olup olmadığını bildirir; hiçbir şeyi değiştirmez |
| --yes | opsiyonel | Güncellemeyi sormadan uygular |
| --version | opsiyonel | En yeni yerine belirli bir sürüme güncelle (veya düşür) |
| --bin-dir | opsiyonel | Mevcut ikili dosya yolu yazılabilir olmadığında kurulum dizini. Varsayılan: $HOME/.local/bin. Ortam değişkeni: CDNCTL_BIN_DIR |
Kimlik Doğrulama ve Yapılandırma
login
cdnctl login --email <email> --password <password> [--endpoint <url>]
Kimlik doğrulaması yapar ve bir token'ı ~/.cdnctl/config.json içine kaydeder. Makine başına bir kez kullanılır; token sonraki komutlarda yeniden kullanılır.
| Bayrak | Açıklama | |
|---|---|---|
| zorunlu | Hesap e-posta adresi | |
| --password | zorunlu | Hesap parolası |
| --endpoint | opsiyonel | API taban URL'si. Varsayılan: https://cdn.com.tr |
configure
cdnctl configure [--endpoint <url>] [--token <token>]
Giriş yapmadan endpoint veya token'ı manuel olarak ayarlar. CI ortamları veya token tabanlı otomasyon için kullanışlıdır.
| Bayrak | Açıklama | |
|---|---|---|
| --endpoint | opsiyonel | API taban URL'si |
| --token | opsiyonel | Bearer token. Alternatif olarak CDNCTL_TOKEN ortam değişkenini ayarlayın |
CDNCTL_TOKEN ve CDNCTL_ENDPOINT, yapılandırma dosyasını geçersiz kılar; diske yazmanın ideal olmadığı CI hatları için kullanışlıdır.
Hesaplar
accounts list
cdnctl accounts list
Kimliği doğrulanmış kullanıcının erişebildiği tüm CDN hesaplarını listeler (tam JSON). uuid alanı diğer tüm komutlarda --account olarak kullanılır.
accounts ls
cdnctl accounts ls
Listenin kısa, okunması kolay hali — her hesap için yalnızca uuid, alan adı ve türü içeren tek satır. Varsayılan olarak kaydedilecek uuid'yi bulmak için kullanışlıdır.
accounts use / current / clear
cdnctl accounts use <uuid>
cdnctl accounts current
cdnctl accounts clear
Her komutta --account <uuid> geçmek zorunda kalmamak için bir kez bir varsayılan hesap kaydedin. accounts use sonrasında, hesap kapsamlı komutlar otomatik olarak kaydedilmiş hesabı kullanır (hangisinin kullanıldığını bilmeniz için (using saved account <uuid>) yazdırırlar); istediğiniz zaman --account geçerek geçersiz kılabilirsiniz. current onu gösterir, clear unutur.
Dosya erişimi (dosyalarınızı yükleyin & yönetin)
Yönetilen WordPress sitenizdeki dosyaları doğrudan komut satırından yükleyin, listeleyin ve silin — FTP yok, yükleme boyutu sınırı yok. Tarayıcıdan yükleme sırasında 413 Request Entity Too Large hatası alırsanız bunu kullanın. Yollar sitenizin wp-content dizinine görecelidir; böylece uploads/, plugins/, themes/ gibi dizinlere erişebilirsiniz. Yalnızca kendi hesabınızın dosyalarını görürsünüz.
Set your account once
cdnctl accounts use <uuid>
Böylece aşağıdaki dosya komutlarının her seferinde --account gerektirmemesi sağlanır. (uuid'nizi bulmak için cdnctl accounts ls çalıştırın.)
List files — files ls
cdnctl files ls # lists wp-content (uploads, plugins, themes, …)
cdnctl files ls --path uploads
cdnctl files ls --path uploads/2026
--path verilmediğinde wp-content kökünü listeler.
Upload files — cp
cdnctl cp ./photo.jpg /uploads/photo.jpg
cdnctl cp ./backup.zip /uploads/backup.zip
cdnctl cp ./my-plugin.php /plugins/my-plugin/my-plugin.php
# upload a whole folder recursively (structure is preserved):
cdnctl cp -r ./my-folder /uploads/my-folder
Bütün bir dizini yüklemek için -r ekleyin — yerel klasör yapısı hedef altında yeniden oluşturulur (üst klasörler otomatik olarak yaratılır; boş klasörler atlanır). Yüklemeler, --force eklemediğiniz sürece mevcut bir dosyanın üzerine yazmaz. Varsayılan kaydetmek yerine hesabı satır içinde <uuid>:/uploads/photo.jpg şeklinde de belirtebilirsiniz.
| Bayrak | Açıklama | |
|---|---|---|
-r | Bir dizini özyinelemeli (recursive) olarak yükle. | |
--force | Zaten var olan dosyaların üzerine yaz. |
Create a folder — files mkdir
cdnctl files mkdir --path /uploads/2026/07
Delete a file — files rm
cdnctl files rm --path /uploads/photo.jpg --yes
--yes gerektirir. Yalnızca dosyalar silinebilir (dizinler reddedilir).
Container Apps
container apps list
cdnctl container apps list --account <uuid>
Hesap altındaki tüm container uygulamalarını listeler.
| Bayrak | Açıklama | |
|---|---|---|
| --account | zorunlu | Hesap UUID'si |
container apps create
cdnctl container apps create \
--account <uuid> \
--name <name> \
--image <registry/image> \
[--tag <tag>] \
[--port <port>] \
[--healthcheck <path>] \
[--healthcheck-type http|tcp|none] \
[--metrics-port <port>] \
[--metrics-path <path>] \
[--replicas <n>] \
[--plan <code>] \
[--domain <domain>] \
[--env-json '{"KEY":"value"}'] \
[--secrets-json '{"SECRET":"value"}'] \
[--registry-credential <uuid>] \
[--persistent-mount-path <path>] \
[--persistent-storage-gb <n>]
Yeni bir container uygulama kaydı ve ilk revizyonu oluşturur. Dağıtım (deploy) yapmaz — oluşturduktan sonra deploy çalıştırın.
| Bayrak | Açıklama | |
|---|---|---|
| --account | zorunlu | Hesap UUID'si |
| --name | zorunlu | Uygulama adı (slug uyumlu) |
| --image | zorunlu | Container imaj yolu, örn. registry.example.com/acme/api |
| --tag | opsiyonel | İmaj etiketi (tag). Varsayılan: boş dize |
| --port | opsiyonel | Uygulamanın dinlediği container portu. Varsayılan: 8080 |
| --healthcheck | opsiyonel | HTTP sağlık kontrolü (health check) yolu. Varsayılan: /health |
| --healthcheck-type | opsiyonel | Sağlık kontrolü türü: http, tcp veya none |
| --metrics-port | opsiyonel | Prometheus metriklerini sunan port |
| --metrics-path | opsiyonel | Prometheus metriklerini sunan yol, örn. /metrics |
| --replicas | opsiyonel | Replika sayısı. Varsayılan: 1 |
| --plan | opsiyonel | Kaynak plan kodu. Varsayılan: starter |
| --domain | opsiyonel | Bağlanacak özel alan adı |
| --env-json | opsiyonel | Ortam değişkenlerini içeren JSON nesnesi. Değerler GET yanıtlarında görünür. |
| --secrets-json | opsiyonel | Gizli anahtarları (secrets) içeren JSON nesnesi. Değerler şifrelenerek saklanır ve oluşturulduktan sonra bir daha döndürülmez. |
| --registry-credential | opsiyonel | Özel imajlar için bir registry kimlik bilgisinin UUID'si |
| --persistent-mount-path | opsiyonel | Kalıcı volume için bağlama (mount) yolu, örn. /app/data |
| --persistent-storage-gb | opsiyonel | Kalıcı volume boyutu (GB) |
--secrets-json ile geçirilen değerler şifreli saklanır ve hiçbir GET yanıtında döndürülmez. Bu komutu çalıştırmadan önce onları kaydedin.
container apps update
cdnctl container apps update \
--account <uuid> \
--app <uuid> \
[--image <registry/image>] \
[--tag <tag>] \
[--port <port>] \
[--replicas <n>] \
[--healthcheck <path>] \
[--healthcheck-type http|tcp|none] \
[--metrics-port <port>] \
[--metrics-path <path>] \
[--domain <domain>] \
[--env-json '{"KEY":"value"}'] \
[--secrets-json '{"SECRET":"value"}'] \
[--registry-credential <uuid>] \
[--persistent-mount-path <path>]
Uygulama ayarlarını günceller. Yalnızca geçtiğiniz bayraklar (flag) değiştirilir. Yeni revizyonu yayımlamak için güncellemeden sonra deploy çalıştırın.
| Bayrak | Açıklama | |
|---|---|---|
| --account | zorunlu | Hesap UUID'si |
| --app | zorunlu | Uygulama UUID'si |
| --image | opsiyonel | Yeni imaj yolu |
| --tag | opsiyonel | Yeni imaj etiketi |
| --port | opsiyonel | Container portu |
| --replicas | opsiyonel | Replika sayısı |
| --healthcheck | opsiyonel | Sağlık kontrolü yolu |
| --healthcheck-type | opsiyonel | Sağlık kontrolü türü: http, tcp veya none |
| --metrics-port | opsiyonel | Prometheus metriklerini sunan port |
| --metrics-path | opsiyonel | Prometheus metriklerini sunan yol |
| --domain | opsiyonel | Bağlanacak alan adı. Kaldırmak için boş dize gönderin. |
| --env-json | opsiyonel | Tüm ortam değişkenlerini bu JSON nesnesiyle değiştirir |
| --secrets-json | opsiyonel | Tüm gizli anahtarları (secrets) bu JSON nesnesiyle değiştirir. Değerler asla geri döndürülmez. |
| --registry-credential | opsiyonel | Registry kimlik bilgisi UUID'si. Kaldırmak için boş dize gönderin. |
| --persistent-mount-path | opsiyonel | Kalıcı bağlama (mount) yolu. Devre dışı bırakmak için boş dize gönderin. |
container apps deploy
cdnctl container apps deploy --account <uuid> --app <uuid>
Geçerli yapılandırmayı yeni bir revizyon olarak yayımlar. Dağıtım hedef duruma ulaşana kadar engellemek için ardından wait kullanın.
| Bayrak | Açıklama | |
|---|---|---|
| --account | zorunlu | Hesap UUID'si |
| --app | zorunlu | Uygulama UUID'si |
container apps expose
cdnctl container apps expose --account <uuid> --app <uuid>
Uygulama için kalıcı, değişmez bir <uid>.cdn.com.tr alt alan adı oluşturur. Özel bir alan adı güncellense bile bu alt alan adı asla değişmez.
| Bayrak | Açıklama | |
|---|---|---|
| --account | zorunlu | Hesap UUID'si |
| --app | zorunlu | Uygulama UUID'si |
container apps restart
cdnctl container apps restart --account <uuid> --app <uuid>
Yeni bir revizyon oluşturmadan çalışan tüm replikaların kademeli (rolling) yeniden başlatmasını yapar.
| Bayrak | Açıklama | |
|---|---|---|
| --account | zorunlu | Hesap UUID'si |
| --app | zorunlu | Uygulama UUID'si |
container apps scale
cdnctl container apps scale --account <uuid> --app <uuid> --replicas <n>
Yeni bir revizyon oluşturmadan replika sayısını anında değiştirir. Uygulamayı sıfıra ölçeklendirmek için 0 geçin.
| Bayrak | Açıklama | |
|---|---|---|
| --account | zorunlu | Hesap UUID'si |
| --app | zorunlu | Uygulama UUID'si |
| --replicas | zorunlu | Hedef replika sayısı (uygulamayı askıya almak için 0 kullanın) |
container apps show
cdnctl container apps show --account <uuid> --app <uuid>
Revizyon listesi dahil tam uygulama yapılandırmasını döndürür. Bu çıktıdaki revizyon UUID'lerini rollback ile kullanın.
| Bayrak | Açıklama | |
|---|---|---|
| --account | zorunlu | Hesap UUID'si |
| --app | zorunlu | Uygulama UUID'si |
container apps rollback
cdnctl container apps rollback --account <uuid> --app <uuid> --revision <revision_uuid>
Önceki bir revizyonu yeniden dağıtır. Kullanılabilir revizyon UUID'lerini listelemek için show kullanın.
| Bayrak | Açıklama | |
|---|---|---|
| --account | zorunlu | Hesap UUID'si |
| --app | zorunlu | Uygulama UUID'si |
| --revision | zorunlu | Geri dönülecek revizyon UUID'si (show çıktısından) |
container apps operations
cdnctl container apps operations --account <uuid> --app <uuid>
Dağıtım, yeniden başlatma ve ölçeklendirme olayları gibi uygulama için kaydedilen tüm platform işlemlerini listeler.
| Bayrak | Açıklama | |
|---|---|---|
| --account | zorunlu | Hesap UUID'si |
| --app | zorunlu | Uygulama UUID'si |
container apps status
cdnctl container apps status --account <uuid> --app <uuid>
Uygulamanın geçerli çalışma zamanı durumunu ve son işlem sonucunu döndürür.
| Bayrak | Açıklama | |
|---|---|---|
| --account | zorunlu | Hesap UUID'si |
| --app | zorunlu | Uygulama UUID'si |
container apps wait
cdnctl container apps wait \
--account <uuid> \
--app <uuid> \
--status <target> \
[--timeout <seconds>] \
[--interval <seconds>]
Uygulama durumu --status değerine ulaşana veya zaman aşımı süresi dolana kadar kontrol eder (poll). Başarıda 0, başarısızlık veya zaman aşımında 1 ile çıkar. Başarısızlıkta diagnose çıktısını otomatik olarak içerir.
| Bayrak | Açıklama | |
|---|---|---|
| --account | zorunlu | Hesap UUID'si |
| --app | zorunlu | Uygulama UUID'si |
| --status | zorunlu | Hedef durum dizesi, örn. running |
| --timeout | opsiyonel | Beklenecek azami süre (saniye). Varsayılan: 300 |
| --interval | opsiyonel | Kontrol (poll) aralığı, saniye. Varsayılan: 5 |
container apps logs
cdnctl container apps logs --account <uuid> --app <uuid> [--tail <n>]
Son container log satırlarını döndürür.
| Bayrak | Açıklama | |
|---|---|---|
| --account | zorunlu | Hesap UUID'si |
| --app | zorunlu | Uygulama UUID'si |
| --tail | opsiyonel | Döndürülecek log satırı sayısı. Varsayılan: 100 |
container apps diagnose
cdnctl container apps diagnose --account <uuid> --app <uuid> [--tail <n>]
Birleştirilmiş bir durum ve log anlık görüntüsü döndürür. Başarısızlıkta wait tarafından otomatik olarak kullanılır. Bir uygulama takılı kaldığında veya başarısız olduğunda önce bunu çalıştırın.
| Bayrak | Açıklama | |
|---|---|---|
| --account | zorunlu | Hesap UUID'si |
| --app | zorunlu | Uygulama UUID'si |
| --tail | opsiyonel | Dahil edilecek log satırı sayısı. Varsayılan: 120 |
container apps delete
cdnctl container apps delete --account <uuid> --app <uuid> --yes
Uygulamayı ve tüm revizyonlarını kalıcı olarak siler. Bu işlem geri alınamaz.
| Bayrak | Açıklama | |
|---|---|---|
| --account | zorunlu | Hesap UUID'si |
| --app | zorunlu | Uygulama UUID'si |
| --yes | zorunlu | Yıkıcı işlemler için açık onay gereklidir |
Container Preflight
Hesabın platform ön koşullarının tümünü (kotalar, ağ politikaları, registry erişimi vb.) karşıladığını doğrulamak için uygulama oluşturmadan önce preflight çalıştırın.
container preflight
cdnctl container preflight --account <uuid>
Hesabın container iş yüklerini çalıştırmaya hazır olup olmadığını kontrol eder ve bulunan sorunların listesini döndürür.
| Bayrak | Açıklama | |
|---|---|---|
| --account | zorunlu | Hesap UUID'si |
Registry Kimlikleri
Registry kimlik bilgileri hesap kapsamlıdır ve uygulamalar arasında yeniden kullanılabilir. Parola şifrelenerek saklanır ve oluşturulduktan sonra bir daha döndürülmez.
container registry-credentials list
cdnctl container registry-credentials list --account <uuid>
| Bayrak | Açıklama | |
|---|---|---|
| --account | zorunlu | Hesap UUID'si |
container registry-credentials create
cdnctl container registry-credentials create \
--account <uuid> \
--name <name> \
--password <token> \
[--registry-url <url>] \
[--username <user>]
| Bayrak | Açıklama | |
|---|---|---|
| --account | zorunlu | Hesap UUID'si |
| --name | zorunlu | Bu kimlik bilgisi için tanıdık bir ad |
| --password | zorunlu | Registry parolası veya erişim token'ı |
| --registry-url | opsiyonel | Registry URL'si. Varsayılan: https://index.docker.io/v1/ |
| --username | opsiyonel | Registry kullanıcı adı |
container registry-credentials delete
cdnctl container registry-credentials delete \
--account <uuid> \
--credential <credential_uuid> \
--yes
Bir registry kimlik bilgisini kalıcı olarak kaldırır. Bu kimlik bilgisine referans veren uygulamalar bir sonraki dağıtımda imaj çekemeyecektir.
| Bayrak | Açıklama | |
|---|---|---|
| --account | zorunlu | Hesap UUID'si |
| --credential | zorunlu | registry-credentials list çıktısından kimlik bilgisi UUID'si |
| --yes | zorunlu | Yıkıcı işlemler için açık onay gereklidir |
Yönetilen Eklentiler
Eklentiler (add-on'lar) otomatik olarak oluşturulur ve uygulamaya bağlanır. Kimlik bilgileri ortam değişkenleri olarak enjekte edilir — manuel host, port veya parola girişi gerekmez. Bir eklentiyi etkinleştirdikten veya devre dışı bıraktıktan sonra deploy çalıştırın.
container addons list
cdnctl container addons list --account <uuid> --app <uuid>
Uygulamaya şu anda bağlı tüm eklentileri (add-on) listeler.
| Bayrak | Açıklama | |
|---|---|---|
| --account | zorunlu | Hesap UUID'si |
| --app | zorunlu | Uygulama UUID'si |
container addons enable-database
cdnctl container addons enable-database \
--account <uuid> \
--app <uuid> \
[--plan <code>] \
[--env-prefix <prefix>] \
[--storage-mb <n>] \
[--url-scheme <scheme>]
| Bayrak | Açıklama | |
|---|---|---|
| --account | zorunlu | Hesap UUID'si |
| --app | zorunlu | Uygulama UUID'si |
| --plan | opsiyonel | Kaynak plan kodu. Varsayılan: starter |
| --env-prefix | opsiyonel | Enjekte edilen kimlik bilgileri için ortam değişkeni ön eki. Varsayılan: DB |
| --storage-mb | opsiyonel | Depolama boyutu (MB) |
| --url-scheme | opsiyonel | DATABASE_URL değişkeni için veritabanı URL şeması, örn. mysql+pymysql. Varsayılan: mysql |
container addons disable-database
cdnctl container addons disable-database --account <uuid> --app <uuid>
| Bayrak | Açıklama | |
|---|---|---|
| --account | zorunlu | Hesap UUID'si |
| --app | zorunlu | Uygulama UUID'si |
container addons enable-redis
cdnctl container addons enable-redis \
--account <uuid> \
--app <uuid> \
[--plan <code>] \
[--env-prefix <prefix>]
| Bayrak | Açıklama | |
|---|---|---|
| --account | zorunlu | Hesap UUID'si |
| --app | zorunlu | Uygulama UUID'si |
| --plan | opsiyonel | Kaynak plan kodu. Varsayılan: starter |
| --env-prefix | opsiyonel | Ortam değişkeni ön eki. Varsayılan: REDIS |
container addons disable-redis
cdnctl container addons disable-redis --account <uuid> --app <uuid>
| Bayrak | Açıklama | |
|---|---|---|
| --account | zorunlu | Hesap UUID'si |
| --app | zorunlu | Uygulama UUID'si |
container addons enable-postgres
cdnctl container addons enable-postgres \
--account <uuid> \
--app <uuid> \
[--plan <code>] \
[--env-prefix <prefix>] \
[--storage-mb <n>]
| Bayrak | Açıklama | |
|---|---|---|
| --account | zorunlu | Hesap UUID'si |
| --app | zorunlu | Uygulama UUID'si |
| --plan | opsiyonel | Kaynak plan kodu. Varsayılan: starter |
| --env-prefix | opsiyonel | Enjekte edilen kimlik bilgileri için ortam değişkeni ön eki. Varsayılan: DATABASE |
| --storage-mb | opsiyonel | Depolama boyutu (MB). Varsayılan: 10240 |
container addons disable-postgres
cdnctl container addons disable-postgres \
--account <uuid> \
--app <uuid> \
[--delete-data --confirmation <app_name>]
Postgres eklentisini devre dışı bırakır. Varsayılan olarak veriler saklanır. Tüm verileri kalıcı olarak yok etmek için --delete-data ile birlikte --confirmation geçin.
| Bayrak | Açıklama | |
|---|---|---|
| --account | zorunlu | Hesap UUID'si |
| --app | zorunlu | Uygulama UUID'si |
| --delete-data | opsiyonel | Tüm Postgres verilerini kalıcı olarak yok eder |
| --confirmation | opsiyonel | --delete-data ayarlandığında veri silme işlemini onaylamak için uygulama adı |
container addons enable-nats
cdnctl container addons enable-nats \
--account <uuid> \
--app <uuid> \
[--plan <code>] \
[--env-prefix <prefix>] \
[--storage-mb <n>]
| Bayrak | Açıklama | |
|---|---|---|
| --account | zorunlu | Hesap UUID'si |
| --app | zorunlu | Uygulama UUID'si |
| --plan | opsiyonel | Kaynak plan kodu. Varsayılan: starter |
| --env-prefix | opsiyonel | Enjekte edilen kimlik bilgileri için ortam değişkeni ön eki. Varsayılan: NATS |
| --storage-mb | opsiyonel | JetStream depolama boyutu (MB). Varsayılan: 5120 |
container addons disable-nats
cdnctl container addons disable-nats \
--account <uuid> \
--app <uuid> \
[--delete-data]
NATS eklentisini devre dışı bırakır. Tüm JetStream verilerini kalıcı olarak yok etmek için --delete-data geçin.
| Bayrak | Açıklama | |
|---|---|---|
| --account | zorunlu | Hesap UUID'si |
| --app | zorunlu | Uygulama UUID'si |
| --delete-data | opsiyonel | Tüm NATS JetStream verilerini kalıcı olarak yok eder |
Compose İçe Aktarma
Mevcut bir docker-compose.yml dosyasını yönetilen container uygulamaları olarak içe aktarın. Önceden derlenmiş imaja sahip servisler uygulama haline gelir; Redis, MySQL/MariaDB, Postgres ve NATS servisleri, kendilerine bağımlı uygulamalara eklenen yönetilen eklentilere dönüştürülür. Her zaman önce preview çalıştırın — bu, hiçbir şey oluşturmadan ortaya çıkacak planı, uyarıları, desteklenmeyen servisleri ve içe aktarmanın uygulama kotanıza sığıp sığmadığını gösterir.
container compose preview
cdnctl container compose preview --account <uuid> --file docker-compose.yml
Compose dosyasını sunucu tarafında ayrıştırır ve içe aktarma planını döndürür: oluşturulacak uygulamalar, eklenti eşlemeleri, ortam değişkeni/gizli anahtar sınıflandırması, uyarılar, desteklenmeyen servisler ve yetkilendirme kontrolü. Hiçbir şey oluşturmaz. Gizli anahtar (secret) değerleri asla geri yansıtılmaz — yalnızca anahtar adları.
| Bayrak | Açıklama | |
|---|---|---|
| --account | zorunlu | Hesap UUID'si |
| --file | zorunlu | Compose dosyasının yolu (en fazla 256 KB) |
container compose apply
cdnctl container compose apply --account <uuid> --file docker-compose.yml --yes
İçe aktarmayı uygular: uygulamaları bağımlılık sırasına göre oluşturur ve eşlenen eklentileri etkinleştirir. Ya hep ya hiç yaklaşımı — herhangi bir uygulama adı mevcut bir uygulamayla çakışırsa veya herhangi bir servis desteklenmiyorsa (örn. build: kullanıyorsa), hiçbir şey oluşturulmaz. Oluşturulan her uygulamayı daha sonra container apps deploy ile dağıtın.
| Bayrak | Açıklama | |
|---|---|---|
| --account | zorunlu | Hesap UUID'si |
| --file | zorunlu | Compose dosyasının yolu (en fazla 256 KB) |
| --yes | zorunlu | Kaynak oluşturmayı onaylar |
build: kullanan servisler (bunun yerine önceden derlenmiş bir imaj push'layın), command/entrypoint geçersiz kılmaları (imaja gömün), env_file, dosya tabanlı compose secrets'ları ve servis başına birden fazla kalıcı bağlama. Host tarafı port numaraları yok sayılır — public yayınlama, platformun domain ve apps expose akışını kullanır.
İçe Aktarmalar
İçe aktarma işlemleri, dağıtımın (deployment) genel yönlendirmeyi açmasından önce tamamlanmalıdır. İçe aktarma bittikten sonra hazır olma durumunu izlemek için apps status veya apps wait kullanın.
container imports list
cdnctl container imports list --account <uuid> --app <uuid>
Uygulama için tüm içe aktarmaları ve mevcut durumlarını listeler.
| Bayrak | Açıklama | |
|---|---|---|
| --account | zorunlu | Hesap UUID'si |
| --app | zorunlu | Uygulama UUID'si |
container imports database
cdnctl container imports database \
--account <uuid> \
--app <uuid> \
--file <path/to/dump.sql.gz>
Gzip ile sıkıştırılmış bir SQL dökümünü yönetilen veritabanına içe aktarılmak üzere yükler ve kuyruğa alır.
| Bayrak | Açıklama | |
|---|---|---|
| --account | zorunlu | Hesap UUID'si |
| --app | zorunlu | Uygulama UUID'si |
| --file | zorunlu | .sql.gz dosyasının yerel yolu |
container imports files
cdnctl container imports files \
--account <uuid> \
--app <uuid> \
--file <path/to/archive.tar.gz> \
[--target-path <path>]
Bir tar.gz arşivini yükler ve kalıcı volume içine çıkarır.
| Bayrak | Açıklama | |
|---|---|---|
| --account | zorunlu | Hesap UUID'si |
| --app | zorunlu | Uygulama UUID'si |
| --file | zorunlu | .tar.gz arşivinin yerel yolu |
| --target-path | opsiyonel | Container içindeki hedef yol. Varsayılan: /app/data |
container imports cancel
cdnctl container imports cancel \
--account <uuid> \
--app <uuid> \
--import <import_uuid>
Kuyrukta bekleyen veya devam eden bir içe aktarmayı iptal eder. İçe aktarma zaten tamamlandıysa hiçbir etkisi yoktur.
| Bayrak | Açıklama | |
|---|---|---|
| --account | zorunlu | Hesap UUID'si |
| --app | zorunlu | Uygulama UUID'si |
| --import | zorunlu | imports list çıktısından içe aktarma (import) UUID'si |
Zamanlanmış İşler
İşler (jobs), uygulama içindeki bir endpoint'e cron zamanlamasıyla yapılan HTTP çağrılarıdır. Bunları devre dışı olarak oluşturun, run ile doğrulayın, ardından etkinleştirin.
container jobs list
cdnctl container jobs list --account <uuid> --app <uuid>
| Bayrak | Açıklama | |
|---|---|---|
| --account | zorunlu | Hesap UUID'si |
| --app | zorunlu | Uygulama UUID'si |
container jobs create
cdnctl container jobs create \
--account <uuid> \
--app <uuid> \
--name <name> \
--schedule "<cron expression>" \
--path </endpoint/path> \
[--method <POST|GET>] \
[--secret-header-name <header>] \
[--secret-source <ENV_VAR>] \
[--enabled]
| Bayrak | Açıklama | |
|---|---|---|
| --account | zorunlu | Hesap UUID'si |
| --app | zorunlu | Uygulama UUID'si |
| --name | zorunlu | İş (job) adı |
| --schedule | zorunlu | Cron ifadesi, örn. */30 * * * * |
| --path | zorunlu | Çağrılacak HTTP yolu, örn. /jobs/run |
| --method | opsiyonel | HTTP metodu. Varsayılan: POST |
| --secret-header-name | opsiyonel | Token'ın gönderileceği başlık (header) adı, örn. X-Token |
| --secret-source | opsiyonel | Değeri başlık değeri olarak gönderilecek uygulama gizli anahtarının (secret) veya ortam değişkeninin adı |
| --enabled | opsiyonel | İşi etkin olarak oluşturur. Belirtilmezse devre dışı oluşturulur (ilk kurulumda önerilir) |
container jobs run
cdnctl container jobs run \
--account <uuid> \
--app <uuid> \
--job <job_uuid> \
[--wait] \
[--timeout <seconds>] \
[--interval <seconds>]
İşin (job) anında tek seferlik bir çalıştırmasını tetikler. Çalıştırma tamamlanana veya başarısız olana kadar beklemek için --wait kullanın.
| Bayrak | Açıklama | |
|---|---|---|
| --account | zorunlu | Hesap UUID'si |
| --app | zorunlu | Uygulama UUID'si |
| --job | zorunlu | jobs list çıktısından iş (job) UUID'si |
| --wait | opsiyonel | Çalıştırma tamamlanana kadar bekler |
| --timeout | opsiyonel | --wait ayarlandığında beklenecek azami süre (saniye). Varsayılan: 180 |
| --interval | opsiyonel | Kontrol (poll) aralığı, saniye. Varsayılan: 5 |
container jobs delete
cdnctl container jobs delete \
--account <uuid> \
--app <uuid> \
--job <job_uuid> \
--yes
Zamanlanmış işi kalıcı olarak kaldırır.
| Bayrak | Açıklama | |
|---|---|---|
| --account | zorunlu | Hesap UUID'si |
| --app | zorunlu | Uygulama UUID'si |
| --job | zorunlu | jobs list çıktısından iş (job) UUID'si |
| --yes | zorunlu | Yıkıcı işlemler için açık onay gereklidir |
Object Storage
Kontrol düzlemi için cdnctl kullanın: bucket, erişim anahtarı ve bağlama oluşturma. Nesneleri okumak ve yazmak için https://s3.cdn.com.tr adresine yönelik herhangi bir S3 uyumlu istemci kullanın. Bkz. AWS CLI ile Object Storage kılavuzu.
object-storage buckets list
cdnctl object-storage buckets list --account <uuid>
| Bayrak | Açıklama | |
|---|---|---|
| --account | zorunlu | Hesap UUID'si |
object-storage buckets create
cdnctl object-storage buckets create \
--account <uuid> \
--name <bucket-name> \
[--visibility private|public]
| Bayrak | Açıklama | |
|---|---|---|
| --account | zorunlu | Hesap UUID'si |
| --name | zorunlu | Bucket adı (platform genelinde benzersiz olmalı) |
| --visibility | opsiyonel | private veya public. Varsayılan: private |
object-storage buckets usage
cdnctl object-storage buckets usage --account <uuid> --bucket <bucket_uuid>
Bucket için geçerli depolama kullanım istatistiklerini döndürür.
| Bayrak | Açıklama | |
|---|---|---|
| --account | zorunlu | Hesap UUID'si |
| --bucket | zorunlu | buckets list çıktısından bucket UUID'si |
object-storage buckets delete
cdnctl object-storage buckets delete --account <uuid> --bucket <bucket_uuid> --yes
Bucket'ı ve içindeki tüm nesneleri kalıcı olarak siler. Bu işlem geri alınamaz.
| Bayrak | Açıklama | |
|---|---|---|
| --account | zorunlu | Hesap UUID'si |
| --bucket | zorunlu | buckets list çıktısından bucket UUID'si |
| --yes | zorunlu | Yıkıcı işlemler için açık onay gereklidir |
object-storage access-keys create
cdnctl object-storage access-keys create \
--account <uuid> \
[--bucket <uuid>] \
[--name <name>]
S3 uyumlu bir erişim anahtarı oluşturur. Yanıttaki secret_key alanı yalnızca bir kez gösterilir ve bir daha döndürülmez. Terminali kapatmadan önce kopyalayın.
| Bayrak | Açıklama | |
|---|---|---|
| --account | zorunlu | Hesap UUID'si |
| --bucket | opsiyonel | Anahtarın kapsamlandırılacağı bucket UUID'si |
| --name | opsiyonel | Anahtar için tanıdık bir ad |
object-storage access-keys rotate
cdnctl object-storage access-keys rotate --account <uuid> --key <key_uuid>
Aynı anahtar UUID'sini ve bucket kapsamını koruyarak erişim anahtarı için yeni bir gizli anahtar (secret) üretir. Yeni secret_key yalnızca bir kez döndürülür ve bir daha gösterilmez. Üretim ortamında döndürmeden önce tüm istemcileri güncelleyin.
| Bayrak | Açıklama | |
|---|---|---|
| --account | zorunlu | Hesap UUID'si |
| --key | zorunlu | access-keys create çıktısından erişim anahtarı UUID'si |
object-storage access-keys revoke
cdnctl object-storage access-keys revoke --account <uuid> --key <key_uuid> --yes
Erişim anahtarını kalıcı olarak iptal eder ve siler. Bu anahtarı hâlâ kullanan istemciler anında kimlik doğrulama hatası alır.
| Bayrak | Açıklama | |
|---|---|---|
| --account | zorunlu | Hesap UUID'si |
| --key | zorunlu | İptal edilecek erişim anahtarı UUID'si |
| --yes | zorunlu | Yıkıcı işlemler için açık onay gereklidir |
object-storage bindings create
cdnctl object-storage bindings create \
--account <uuid> \
--app <uuid> \
--bucket <uuid> \
[--access-key <uuid>] \
[--env-prefix <prefix>]
Bir bucket'ı bir uygulamaya bağlar. S3 kimlik bilgileri ve endpoint, bir sonraki dağıtımda ortam değişkenleri olarak enjekte edilir.
| Bayrak | Açıklama | |
|---|---|---|
| --account | zorunlu | Hesap UUID'si |
| --app | zorunlu | Uygulama UUID'si |
| --bucket | zorunlu | Bucket UUID'si |
| --access-key | opsiyonel | Bağlama için kullanılacak erişim anahtarı UUID'si |
| --env-prefix | opsiyonel | Ortam değişkeni ön eki. Varsayılan: S3 |
object-storage bindings delete
cdnctl object-storage bindings delete \
--account <uuid> \
--app <uuid> \
--binding <binding_uuid> \
--yes
Uygulamadan bucket bağlamasını kaldırır. Bucket ve erişim anahtarı etkilenmez; yalnızca ortam değişkeni enjeksiyonu bir sonraki dağıtımda kaldırılır.
| Bayrak | Açıklama | |
|---|---|---|
| --account | zorunlu | Hesap UUID'si |
| --app | zorunlu | Uygulama UUID'si |
| --binding | zorunlu | bindings list çıktısından veya uygulama show yanıtından bağlama (binding) UUID'si |
| --yes | zorunlu | Yıkıcı işlemler için açık onay gereklidir |