Loading...

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.

Yıkıcı komutlar — adında 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.
← Platform Yardımı

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.

BayrakAçıklama
--checkopsiyonelYalnızca daha yeni bir sürüm olup olmadığını bildirir; hiçbir şeyi değiştirmez
--yesopsiyonelGüncellemeyi sormadan uygular
--versionopsiyonelEn yeni yerine belirli bir sürüme güncelle (veya düşür)
--bin-diropsiyonelMevcut 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.

BayrakAçıklama
--emailzorunluHesap e-posta adresi
--passwordzorunluHesap parolası
--endpointopsiyonelAPI 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.

BayrakAçıklama
--endpointopsiyonelAPI taban URL'si
--tokenopsiyonelBearer token. Alternatif olarak CDNCTL_TOKEN ortam değişkenini ayarlayın
Ortam değişkenleri: 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.

BayrakAçıklama
-rBir dizini özyinelemeli (recursive) olarak yükle.
--forceZaten 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.

BayrakAçıklama
--accountzorunluHesap 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.

BayrakAçıklama
--accountzorunluHesap UUID'si
--namezorunluUygulama adı (slug uyumlu)
--imagezorunluContainer imaj yolu, örn. registry.example.com/acme/api
--tagopsiyonelİmaj etiketi (tag). Varsayılan: boş dize
--portopsiyonelUygulamanın dinlediği container portu. Varsayılan: 8080
--healthcheckopsiyonelHTTP sağlık kontrolü (health check) yolu. Varsayılan: /health
--healthcheck-typeopsiyonelSağlık kontrolü türü: http, tcp veya none
--metrics-portopsiyonelPrometheus metriklerini sunan port
--metrics-pathopsiyonelPrometheus metriklerini sunan yol, örn. /metrics
--replicasopsiyonelReplika sayısı. Varsayılan: 1
--planopsiyonelKaynak plan kodu. Varsayılan: starter
--domainopsiyonelBağlanacak özel alan adı
--env-jsonopsiyonelOrtam değişkenlerini içeren JSON nesnesi. Değerler GET yanıtlarında görünür.
--secrets-jsonopsiyonelGizli anahtarları (secrets) içeren JSON nesnesi. Değerler şifrelenerek saklanır ve oluşturulduktan sonra bir daha döndürülmez.
--registry-credentialopsiyonelÖzel imajlar için bir registry kimlik bilgisinin UUID'si
--persistent-mount-pathopsiyonelKalıcı volume için bağlama (mount) yolu, örn. /app/data
--persistent-storage-gbopsiyonelKalıcı volume boyutu (GB)
Secret'lar: --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.

BayrakAçıklama
--accountzorunluHesap UUID'si
--appzorunluUygulama UUID'si
--imageopsiyonelYeni imaj yolu
--tagopsiyonelYeni imaj etiketi
--portopsiyonelContainer portu
--replicasopsiyonelReplika sayısı
--healthcheckopsiyonelSağlık kontrolü yolu
--healthcheck-typeopsiyonelSağlık kontrolü türü: http, tcp veya none
--metrics-portopsiyonelPrometheus metriklerini sunan port
--metrics-pathopsiyonelPrometheus metriklerini sunan yol
--domainopsiyonelBağlanacak alan adı. Kaldırmak için boş dize gönderin.
--env-jsonopsiyonelTüm ortam değişkenlerini bu JSON nesnesiyle değiştirir
--secrets-jsonopsiyonelTüm gizli anahtarları (secrets) bu JSON nesnesiyle değiştirir. Değerler asla geri döndürülmez.
--registry-credentialopsiyonelRegistry kimlik bilgisi UUID'si. Kaldırmak için boş dize gönderin.
--persistent-mount-pathopsiyonelKalı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.

BayrakAçıklama
--accountzorunluHesap UUID'si
--appzorunluUygulama 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.

BayrakAçıklama
--accountzorunluHesap UUID'si
--appzorunluUygulama 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.

BayrakAçıklama
--accountzorunluHesap UUID'si
--appzorunluUygulama 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.

BayrakAçıklama
--accountzorunluHesap UUID'si
--appzorunluUygulama UUID'si
--replicaszorunluHedef 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.

BayrakAçıklama
--accountzorunluHesap UUID'si
--appzorunluUygulama 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.

BayrakAçıklama
--accountzorunluHesap UUID'si
--appzorunluUygulama UUID'si
--revisionzorunluGeri 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.

BayrakAçıklama
--accountzorunluHesap UUID'si
--appzorunluUygulama 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.

BayrakAçıklama
--accountzorunluHesap UUID'si
--appzorunluUygulama 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.

BayrakAçıklama
--accountzorunluHesap UUID'si
--appzorunluUygulama UUID'si
--statuszorunluHedef durum dizesi, örn. running
--timeoutopsiyonelBeklenecek azami süre (saniye). Varsayılan: 300
--intervalopsiyonelKontrol (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.

BayrakAçıklama
--accountzorunluHesap UUID'si
--appzorunluUygulama UUID'si
--tailopsiyonelDö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.

BayrakAçıklama
--accountzorunluHesap UUID'si
--appzorunluUygulama UUID'si
--tailopsiyonelDahil 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.

BayrakAçıklama
--accountzorunluHesap UUID'si
--appzorunluUygulama UUID'si
--yeszorunluYı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.

BayrakAçıklama
--accountzorunluHesap 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>
BayrakAçıklama
--accountzorunluHesap UUID'si

container registry-credentials create

cdnctl container registry-credentials create \
  --account <uuid> \
  --name <name> \
  --password <token> \
  [--registry-url <url>] \
  [--username <user>]
BayrakAçıklama
--accountzorunluHesap UUID'si
--namezorunluBu kimlik bilgisi için tanıdık bir ad
--passwordzorunluRegistry parolası veya erişim token'ı
--registry-urlopsiyonelRegistry URL'si. Varsayılan: https://index.docker.io/v1/
--usernameopsiyonelRegistry 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.

BayrakAçıklama
--accountzorunluHesap UUID'si
--credentialzorunluregistry-credentials list çıktısından kimlik bilgisi UUID'si
--yeszorunluYı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.

BayrakAçıklama
--accountzorunluHesap UUID'si
--appzorunluUygulama 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>]
BayrakAçıklama
--accountzorunluHesap UUID'si
--appzorunluUygulama UUID'si
--planopsiyonelKaynak plan kodu. Varsayılan: starter
--env-prefixopsiyonelEnjekte edilen kimlik bilgileri için ortam değişkeni ön eki. Varsayılan: DB
--storage-mbopsiyonelDepolama boyutu (MB)
--url-schemeopsiyonelDATABASE_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>
BayrakAçıklama
--accountzorunluHesap UUID'si
--appzorunluUygulama UUID'si

container addons enable-redis

cdnctl container addons enable-redis \
  --account <uuid> \
  --app <uuid> \
  [--plan <code>] \
  [--env-prefix <prefix>]
BayrakAçıklama
--accountzorunluHesap UUID'si
--appzorunluUygulama UUID'si
--planopsiyonelKaynak plan kodu. Varsayılan: starter
--env-prefixopsiyonelOrtam değişkeni ön eki. Varsayılan: REDIS

container addons disable-redis

cdnctl container addons disable-redis --account <uuid> --app <uuid>
BayrakAçıklama
--accountzorunluHesap UUID'si
--appzorunluUygulama UUID'si

container addons enable-postgres

cdnctl container addons enable-postgres \
  --account <uuid> \
  --app <uuid> \
  [--plan <code>] \
  [--env-prefix <prefix>] \
  [--storage-mb <n>]
BayrakAçıklama
--accountzorunluHesap UUID'si
--appzorunluUygulama UUID'si
--planopsiyonelKaynak plan kodu. Varsayılan: starter
--env-prefixopsiyonelEnjekte edilen kimlik bilgileri için ortam değişkeni ön eki. Varsayılan: DATABASE
--storage-mbopsiyonelDepolama 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.

BayrakAçıklama
--accountzorunluHesap UUID'si
--appzorunluUygulama UUID'si
--delete-dataopsiyonelTüm Postgres verilerini kalıcı olarak yok eder
--confirmationopsiyonel--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>]
BayrakAçıklama
--accountzorunluHesap UUID'si
--appzorunluUygulama UUID'si
--planopsiyonelKaynak plan kodu. Varsayılan: starter
--env-prefixopsiyonelEnjekte edilen kimlik bilgileri için ortam değişkeni ön eki. Varsayılan: NATS
--storage-mbopsiyonelJetStream 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.

BayrakAçıklama
--accountzorunluHesap UUID'si
--appzorunluUygulama UUID'si
--delete-dataopsiyonelTü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ı.

BayrakAçıklama
--accountzorunluHesap UUID'si
--filezorunluCompose 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.

BayrakAçıklama
--accountzorunluHesap UUID'si
--filezorunluCompose dosyasının yolu (en fazla 256 KB)
--yeszorunluKaynak oluşturmayı onaylar
v1'de desteklenmez: 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.

BayrakAçıklama
--accountzorunluHesap UUID'si
--appzorunluUygulama 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.

BayrakAçıklama
--accountzorunluHesap UUID'si
--appzorunluUygulama UUID'si
--filezorunlu.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.

BayrakAçıklama
--accountzorunluHesap UUID'si
--appzorunluUygulama UUID'si
--filezorunlu.tar.gz arşivinin yerel yolu
--target-pathopsiyonelContainer 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.

BayrakAçıklama
--accountzorunluHesap UUID'si
--appzorunluUygulama UUID'si
--importzorunluimports 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>
BayrakAçıklama
--accountzorunluHesap UUID'si
--appzorunluUygulama 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]
BayrakAçıklama
--accountzorunluHesap UUID'si
--appzorunluUygulama UUID'si
--namezorunluİş (job) adı
--schedulezorunluCron ifadesi, örn. */30 * * * *
--pathzorunluÇağrılacak HTTP yolu, örn. /jobs/run
--methodopsiyonelHTTP metodu. Varsayılan: POST
--secret-header-nameopsiyonelToken'ın gönderileceği başlık (header) adı, örn. X-Token
--secret-sourceopsiyonelDeğeri başlık değeri olarak gönderilecek uygulama gizli anahtarının (secret) veya ortam değişkeninin adı
--enabledopsiyonelİş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.

BayrakAçıklama
--accountzorunluHesap UUID'si
--appzorunluUygulama UUID'si
--jobzorunlujobs list çıktısından iş (job) UUID'si
--waitopsiyonelÇalıştırma tamamlanana kadar bekler
--timeoutopsiyonel--wait ayarlandığında beklenecek azami süre (saniye). Varsayılan: 180
--intervalopsiyonelKontrol (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.

BayrakAçıklama
--accountzorunluHesap UUID'si
--appzorunluUygulama UUID'si
--jobzorunlujobs list çıktısından iş (job) UUID'si
--yeszorunluYı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>
BayrakAçıklama
--accountzorunluHesap UUID'si

object-storage buckets create

cdnctl object-storage buckets create \
  --account <uuid> \
  --name <bucket-name> \
  [--visibility private|public]
BayrakAçıklama
--accountzorunluHesap UUID'si
--namezorunluBucket adı (platform genelinde benzersiz olmalı)
--visibilityopsiyonelprivate 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.

BayrakAçıklama
--accountzorunluHesap UUID'si
--bucketzorunlubuckets 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.

BayrakAçıklama
--accountzorunluHesap UUID'si
--bucketzorunlubuckets list çıktısından bucket UUID'si
--yeszorunluYı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.

BayrakAçıklama
--accountzorunluHesap UUID'si
--bucketopsiyonelAnahtarın kapsamlandırılacağı bucket UUID'si
--nameopsiyonelAnahtar 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.

BayrakAçıklama
--accountzorunluHesap UUID'si
--keyzorunluaccess-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.

BayrakAçıklama
--accountzorunluHesap UUID'si
--keyzorunluİptal edilecek erişim anahtarı UUID'si
--yeszorunluYı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.

BayrakAçıklama
--accountzorunluHesap UUID'si
--appzorunluUygulama UUID'si
--bucketzorunluBucket UUID'si
--access-keyopsiyonelBağlama için kullanılacak erişim anahtarı UUID'si
--env-prefixopsiyonelOrtam 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.

BayrakAçıklama
--accountzorunluHesap UUID'si
--appzorunluUygulama UUID'si
--bindingzorunlubindings list çıktısından veya uygulama show yanıtından bağlama (binding) UUID'si
--yeszorunluYıkıcı işlemler için açık onay gereklidir