Loading...

Ligne de commande

Référence cdnctl

Référence complète de cdnctl (v0.12.x). Toutes les commandes produisent du JSON. Le token d'authentification est stocké dans ~/.cdnctl/config.json ou lu depuis les variables d'environnement CDNCTL_TOKEN et CDNCTL_ENDPOINT.

Commandes destructives — toute commande dont le nom contient delete ou revoke nécessite un flag --yes explicite. Sans lui, la commande se termine en erreur et n'effectue aucun changement.
← Aide de la plateforme

Installation et mise à jour

cdnctl est distribué sous forme de binaire statique pour Linux, macOS et Windows (amd64/arm64). Il ne nécessite ni PHP, ni Python, ni Node.js, ni kubectl.

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

Télécharge la dernière version pour votre plateforme, la vérifie par rapport aux sommes de contrôle publiées, puis installe le binaire.

update

cdnctl update --check
cdnctl update --yes
cdnctl update --version <version> --yes

Met à jour automatiquement le binaire installé depuis le canal de publication public. L'archive téléchargée est vérifiée par rapport au fichier de somme de contrôle publié avant que le binaire ne soit remplacé.

IndicateurDescription
--checkoptionnelSignale uniquement si une version plus récente existe ; ne modifie rien
--yesoptionnelApplique la mise à jour sans demander de confirmation
--versionoptionnelMet à jour (ou revient) vers une version spécifique au lieu de la dernière
--bin-diroptionnelRépertoire d'installation lorsque le chemin du binaire actuel n'est pas accessible en écriture. Repli par défaut : $HOME/.local/bin. Variable d'environnement : CDNCTL_BIN_DIR

Authentification et configuration

login

cdnctl login --email <email> --password <password> [--endpoint <url>]

S'authentifie et enregistre un jeton dans ~/.cdnctl/config.json. À utiliser une fois par machine ; le jeton est réutilisé pour les commandes suivantes.

IndicateurDescription
--emailobligatoireAdresse e-mail du compte
--passwordobligatoireMot de passe du compte
--endpointoptionnelURL de base de l'API. Par défaut : https://cdn.com.tr

configure

cdnctl configure [--endpoint <url>] [--token <token>]

Définit manuellement l'endpoint ou le jeton sans se connecter. Utile pour les environnements CI ou l'automatisation basée sur des jetons.

IndicateurDescription
--endpointoptionnelURL de base de l'API
--tokenoptionnelJeton Bearer. Vous pouvez aussi définir la variable d'environnement CDNCTL_TOKEN
Variables d'environnement : CDNCTL_TOKEN et CDNCTL_ENDPOINT écrasent le fichier de configuration et sont utiles pour les pipelines CI où écrire sur disque n'est pas idéal.

Comptes

accounts list

cdnctl accounts list

Liste tous les comptes CDN accessibles à l'utilisateur authentifié (JSON complet). Le champ uuid est utilisé comme --account dans toutes les autres commandes.

accounts ls

cdnctl accounts ls

Une version courte et lisible de la liste — une ligne par compte avec seulement l'uuid, le domaine et le type. Pratique pour trouver l'uuid à enregistrer comme valeur par défaut.

accounts use / current / clear

cdnctl accounts use <uuid>
cdnctl accounts current
cdnctl accounts clear

Enregistrez un compte par défaut une fois pour ne pas avoir à passer --account <uuid> à chaque commande. Après accounts use, les commandes associées à un compte utilisent automatiquement le compte enregistré (elles affichent (using saved account <uuid>) pour que vous sachiez lequel) ; passez --account à tout moment pour le remplacer. current l'affiche, clear l'oublie.

Accès aux fichiers (envoyez & gérez vos fichiers)

Envoyez, listez et supprimez des fichiers de votre site WordPress géré directement depuis la ligne de commande — sans FTP, et sans limite de taille d'envoi. Utilisez ceci à la place d'un envoi via le navigateur si vous rencontrez l'erreur 413 Request Entity Too Large. Les chemins sont relatifs au dossier wp-content de votre site, vous pouvez donc accéder à uploads/, plugins/, themes/, etc. Vous ne voyez que les fichiers de votre propre compte.

Set your account once

cdnctl accounts use <uuid>

Ainsi, les commandes de fichiers ci-dessous n'ont pas besoin de --account à chaque fois. (Exécutez cdnctl accounts ls pour trouver votre uuid.)

List files — files ls

cdnctl files ls                       # lists wp-content (uploads, plugins, themes, …)
cdnctl files ls --path uploads
cdnctl files ls --path uploads/2026

Sans --path, elle liste la racine de wp-content.

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

Ajoutez -r pour envoyer un dossier entier — la structure du dossier local est recréée sous la destination (les dossiers parents sont créés automatiquement ; les dossiers vides sont ignorés). Les envois n'écrasent jamais un fichier existant, sauf si vous ajoutez --force. Vous pouvez aussi indiquer le compte directement comme <uuid>:/uploads/photo.jpg au lieu d'enregistrer une valeur par défaut.

IndicateurDescription
-rEnvoie un dossier de manière récursive.
--forceÉcrase les fichiers déjà existants.

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

Nécessite --yes. Seuls les fichiers peuvent être supprimés (les dossiers sont refusés).

Container Apps

container apps list

cdnctl container apps list --account <uuid>

Liste toutes les applications conteneurisées du compte.

IndicateurDescription
--accountobligatoireUUID du compte

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>]

Crée un nouvel enregistrement d'application conteneurisée et sa première révision. Ne déploie pas — exécutez deploy après la création.

IndicateurDescription
--accountobligatoireUUID du compte
--nameobligatoireNom de l'application (compatible slug)
--imageobligatoireChemin de l'image du conteneur, par ex. registry.example.com/acme/api
--tagoptionnelTag de l'image. Par défaut : chaîne vide
--portoptionnelPort du conteneur sur lequel l'application écoute. Par défaut : 8080
--healthcheckoptionnelChemin de vérification de santé HTTP. Par défaut : /health
--healthcheck-typeoptionnelType de vérification de santé : http, tcp ou none
--metrics-portoptionnelPort exposant les métriques Prometheus
--metrics-pathoptionnelChemin exposant les métriques Prometheus, par ex. /metrics
--replicasoptionnelNombre de réplicas. Par défaut : 1
--planoptionnelCode du plan de ressources. Par défaut : starter
--domainoptionnelDomaine personnalisé à associer
--env-jsonoptionnelObjet JSON des variables d'environnement. Les valeurs sont visibles dans les réponses GET.
--secrets-jsonoptionnelObjet JSON des secrets. Les valeurs sont chiffrées et ne sont jamais renvoyées après la création.
--registry-credentialoptionnelUUID d'un identifiant de registre pour les images privées
--persistent-mount-pathoptionnelChemin de montage du volume persistant, par ex. /app/data
--persistent-storage-gboptionnelTaille du volume persistant en Go
Secrets : les valeurs passées via --secrets-json sont stockées chiffrées et ne sont retournées dans aucune réponse GET. Sauvegardez-les avant d'exécuter cette commande.

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>]

Met à jour les paramètres de l'application. Seuls les indicateurs (flags) passés sont modifiés. Exécutez deploy après la mise à jour pour publier la nouvelle révision.

IndicateurDescription
--accountobligatoireUUID du compte
--appobligatoireUUID de l'application
--imageoptionnelNouveau chemin d'image
--tagoptionnelNouveau tag d'image
--portoptionnelPort du conteneur
--replicasoptionnelNombre de réplicas
--healthcheckoptionnelChemin de vérification de santé
--healthcheck-typeoptionnelType de vérification de santé : http, tcp ou none
--metrics-portoptionnelPort exposant les métriques Prometheus
--metrics-pathoptionnelChemin exposant les métriques Prometheus
--domainoptionnelDomaine à associer. Passez une chaîne vide pour le supprimer.
--env-jsonoptionnelRemplace toutes les variables d'environnement par cet objet JSON
--secrets-jsonoptionnelRemplace tous les secrets par cet objet JSON. Les valeurs ne sont jamais renvoyées.
--registry-credentialoptionnelUUID de l'identifiant de registre. Passez une chaîne vide pour le supprimer.
--persistent-mount-pathoptionnelChemin de montage persistant. Passez une chaîne vide pour désactiver.

container apps deploy

cdnctl container apps deploy --account <uuid> --app <uuid>

Publie la configuration actuelle en tant que nouvelle révision. Utilisez ensuite wait pour bloquer jusqu'à ce que le déploiement atteigne un statut cible.

IndicateurDescription
--accountobligatoireUUID du compte
--appobligatoireUUID de l'application

container apps expose

cdnctl container apps expose --account <uuid> --app <uuid>

Crée un sous-domaine permanent et immuable <uid>.cdn.com.tr pour l'application. Le sous-domaine ne change jamais, même si un domaine personnalisé est mis à jour.

IndicateurDescription
--accountobligatoireUUID du compte
--appobligatoireUUID de l'application

container apps restart

cdnctl container apps restart --account <uuid> --app <uuid>

Effectue un redémarrage progressif (rolling restart) de tous les réplicas en cours d'exécution sans créer de nouvelle révision.

IndicateurDescription
--accountobligatoireUUID du compte
--appobligatoireUUID de l'application

container apps scale

cdnctl container apps scale --account <uuid> --app <uuid> --replicas <n>

Modifie immédiatement le nombre de réplicas sans créer de nouvelle révision. Passez 0 pour réduire l'application à zéro.

IndicateurDescription
--accountobligatoireUUID du compte
--appobligatoireUUID de l'application
--replicasobligatoireNombre de réplicas cible (utilisez 0 pour suspendre l'application)

container apps show

cdnctl container apps show --account <uuid> --app <uuid>

Renvoie la configuration complète de l'application, y compris la liste des révisions. Utilisez les UUID de révision de cette sortie avec rollback.

IndicateurDescription
--accountobligatoireUUID du compte
--appobligatoireUUID de l'application

container apps rollback

cdnctl container apps rollback --account <uuid> --app <uuid> --revision <revision_uuid>

Redéploie une révision précédente. Utilisez show pour lister les UUID de révision disponibles.

IndicateurDescription
--accountobligatoireUUID du compte
--appobligatoireUUID de l'application
--revisionobligatoireUUID de la révision vers laquelle revenir (depuis show)

container apps operations

cdnctl container apps operations --account <uuid> --app <uuid>

Liste toutes les opérations de plateforme enregistrées pour l'application, telles que les déploiements, redémarrages et événements de mise à l'échelle.

IndicateurDescription
--accountobligatoireUUID du compte
--appobligatoireUUID de l'application

container apps status

cdnctl container apps status --account <uuid> --app <uuid>

Renvoie le statut d'exécution actuel et le résultat de la dernière opération de l'application.

IndicateurDescription
--accountobligatoireUUID du compte
--appobligatoireUUID de l'application

container apps wait

cdnctl container apps wait \
  --account <uuid> \
  --app <uuid> \
  --status <target> \
  [--timeout <seconds>] \
  [--interval <seconds>]

Interroge le statut de l'application jusqu'à ce qu'il atteigne --status ou que le délai expire. Se termine avec 0 en cas de succès, 1 en cas d'échec ou de dépassement du délai. En cas d'échec, inclut automatiquement la sortie de diagnose.

IndicateurDescription
--accountobligatoireUUID du compte
--appobligatoireUUID de l'application
--statusobligatoireChaîne de statut cible, par ex. running
--timeoutoptionnelDurée d'attente maximale en secondes. Par défaut : 300
--intervaloptionnelIntervalle d'interrogation en secondes. Par défaut : 5

container apps logs

cdnctl container apps logs --account <uuid> --app <uuid> [--tail <n>]

Renvoie les lignes récentes des journaux du conteneur.

IndicateurDescription
--accountobligatoireUUID du compte
--appobligatoireUUID de l'application
--tailoptionnelNombre de lignes de journal à renvoyer. Par défaut : 100

container apps diagnose

cdnctl container apps diagnose --account <uuid> --app <uuid> [--tail <n>]

Renvoie un instantané combiné du statut et des journaux. Utilisé automatiquement par wait en cas d'échec. Exécutez-le en premier lorsqu'une application est bloquée ou en échec.

IndicateurDescription
--accountobligatoireUUID du compte
--appobligatoireUUID de l'application
--tailoptionnelNombre de lignes de journal à inclure. Par défaut : 120

container apps delete

cdnctl container apps delete --account <uuid> --app <uuid> --yes

Supprime définitivement l'application et toutes ses révisions. Cette opération est irréversible.

IndicateurDescription
--accountobligatoireUUID du compte
--appobligatoireUUID de l'application
--yesobligatoireConfirmation explicite requise pour les opérations destructrices

Container Preflight

Exécutez preflight avant de créer des applications pour vérifier que le compte remplit tous les prérequis de la plateforme (quotas, politiques réseau, accès au registre, etc.).

container preflight

cdnctl container preflight --account <uuid>

Vérifie que le compte est prêt à exécuter des charges de travail conteneurisées et renvoie la liste des éventuels problèmes détectés.

IndicateurDescription
--accountobligatoireUUID du compte

Identifiants de registre

Les identifiants de registre sont associés au compte et peuvent être réutilisés sur plusieurs applications. Le mot de passe est stocké chiffré et n'est jamais renvoyé après la création.

container registry-credentials list

cdnctl container registry-credentials list --account <uuid>
IndicateurDescription
--accountobligatoireUUID du compte

container registry-credentials create

cdnctl container registry-credentials create \
  --account <uuid> \
  --name <name> \
  --password <token> \
  [--registry-url <url>] \
  [--username <user>]
IndicateurDescription
--accountobligatoireUUID du compte
--nameobligatoireNom convivial pour cet identifiant
--passwordobligatoireMot de passe du registre ou jeton d'accès
--registry-urloptionnelURL du registre. Par défaut : https://index.docker.io/v1/
--usernameoptionnelNom d'utilisateur du registre

container registry-credentials delete

cdnctl container registry-credentials delete \
  --account <uuid> \
  --credential <credential_uuid> \
  --yes

Supprime définitivement un identifiant de registre. Toutes les applications faisant référence à cet identifiant échoueront à récupérer les images lors du prochain déploiement.

IndicateurDescription
--accountobligatoireUUID du compte
--credentialobligatoireUUID de l'identifiant obtenu via registry-credentials list
--yesobligatoireConfirmation explicite requise pour les opérations destructrices

Add-ons managés

Les modules complémentaires sont créés et connectés à l'application automatiquement. Les identifiants sont injectés sous forme de variables d'environnement — aucune saisie manuelle d'hôte, de port ou de mot de passe n'est nécessaire. Exécutez deploy après avoir activé ou désactivé un module complémentaire.

container addons list

cdnctl container addons list --account <uuid> --app <uuid>

Liste tous les modules complémentaires actuellement associés à l'application.

IndicateurDescription
--accountobligatoireUUID du compte
--appobligatoireUUID de l'application

container addons enable-database

cdnctl container addons enable-database \
  --account <uuid> \
  --app <uuid> \
  [--plan <code>] \
  [--env-prefix <prefix>] \
  [--storage-mb <n>] \
  [--url-scheme <scheme>]
IndicateurDescription
--accountobligatoireUUID du compte
--appobligatoireUUID de l'application
--planoptionnelCode du plan de ressources. Par défaut : starter
--env-prefixoptionnelPréfixe des variables d'environnement pour les identifiants injectés. Par défaut : DB
--storage-mboptionnelTaille du stockage en Mo
--url-schemeoptionnelSchéma d'URL de base de données pour la variable DATABASE_URL, par ex. mysql+pymysql. Par défaut : mysql

container addons disable-database

cdnctl container addons disable-database --account <uuid> --app <uuid>
IndicateurDescription
--accountobligatoireUUID du compte
--appobligatoireUUID de l'application

container addons enable-redis

cdnctl container addons enable-redis \
  --account <uuid> \
  --app <uuid> \
  [--plan <code>] \
  [--env-prefix <prefix>]
IndicateurDescription
--accountobligatoireUUID du compte
--appobligatoireUUID de l'application
--planoptionnelCode du plan de ressources. Par défaut : starter
--env-prefixoptionnelPréfixe des variables d'environnement. Par défaut : REDIS

container addons disable-redis

cdnctl container addons disable-redis --account <uuid> --app <uuid>
IndicateurDescription
--accountobligatoireUUID du compte
--appobligatoireUUID de l'application

container addons enable-postgres

cdnctl container addons enable-postgres \
  --account <uuid> \
  --app <uuid> \
  [--plan <code>] \
  [--env-prefix <prefix>] \
  [--storage-mb <n>]
IndicateurDescription
--accountobligatoireUUID du compte
--appobligatoireUUID de l'application
--planoptionnelCode du plan de ressources. Par défaut : starter
--env-prefixoptionnelPréfixe des variables d'environnement pour les identifiants injectés. Par défaut : DATABASE
--storage-mboptionnelTaille du stockage en Mo. Par défaut : 10240

container addons disable-postgres

cdnctl container addons disable-postgres \
  --account <uuid> \
  --app <uuid> \
  [--delete-data --confirmation <app_name>]

Désactive le module complémentaire Postgres. Par défaut, les données sont conservées. Passez --delete-data avec --confirmation pour détruire définitivement toutes les données.

IndicateurDescription
--accountobligatoireUUID du compte
--appobligatoireUUID de l'application
--delete-dataoptionnelDétruit définitivement toutes les données Postgres
--confirmationoptionnelNom de l'application pour confirmer la suppression des données lorsque --delete-data est défini

container addons enable-nats

cdnctl container addons enable-nats \
  --account <uuid> \
  --app <uuid> \
  [--plan <code>] \
  [--env-prefix <prefix>] \
  [--storage-mb <n>]
IndicateurDescription
--accountobligatoireUUID du compte
--appobligatoireUUID de l'application
--planoptionnelCode du plan de ressources. Par défaut : starter
--env-prefixoptionnelPréfixe des variables d'environnement pour les identifiants injectés. Par défaut : NATS
--storage-mboptionnelTaille du stockage JetStream en Mo. Par défaut : 5120

container addons disable-nats

cdnctl container addons disable-nats \
  --account <uuid> \
  --app <uuid> \
  [--delete-data]

Désactive le module complémentaire NATS. Passez --delete-data pour détruire définitivement toutes les données JetStream.

IndicateurDescription
--accountobligatoireUUID du compte
--appobligatoireUUID de l'application
--delete-dataoptionnelDétruit définitivement toutes les données JetStream de NATS

Import Compose

Importez un fichier docker-compose.yml existant en tant qu'applications conteneurisées gérées. Les services disposant d'une image préconstruite deviennent des applications ; les services Redis, MySQL/MariaDB, Postgres et NATS sont convertis en modules complémentaires gérés, associés aux applications qui en dépendent. Exécutez toujours preview en premier — il affiche le plan résultant, les avertissements, les services non pris en charge, et si l'import respecte votre quota d'applications, sans rien créer.

container compose preview

cdnctl container compose preview --account <uuid> --file docker-compose.yml

Analyse le fichier compose côté serveur et renvoie le plan d'import : applications à créer, mappages de modules complémentaires, classification des clés d'environnement/secrets, avertissements, services non pris en charge, et une vérification des droits. Ne crée rien. Les valeurs des secrets ne sont jamais renvoyées — seulement les noms de clés.

IndicateurDescription
--accountobligatoireUUID du compte
--fileobligatoireChemin du fichier compose (256 Ko max)

container compose apply

cdnctl container compose apply --account <uuid> --file docker-compose.yml --yes

Applique l'import : crée les applications dans l'ordre des dépendances et active les modules complémentaires mappés. Tout ou rien — si le nom d'une application entre en conflit avec une application existante, ou si un service n'est pas pris en charge (par ex. utilise build:), rien n'est créé. Déployez ensuite chaque application créée avec container apps deploy.

IndicateurDescription
--accountobligatoireUUID du compte
--fileobligatoireChemin du fichier compose (256 Ko max)
--yesobligatoireConfirme la création de la ressource
Non pris en charge en v1 : les services utilisant build: (poussez plutôt une image préconstruite), les surcharges command/entrypoint (intégrez-les à l'image), env_file, les secrets compose basés sur des fichiers, et plus d'un point de montage persistant par service. Les numéros de port côté hôte sont ignorés — l'exposition publique utilise le flux domain et apps expose de la plateforme.

Imports

Les imports doivent se terminer avant que le déploiement n'ouvre le routage public. Utilisez apps status ou apps wait pour suivre l'état de préparation une fois l'import terminé.

container imports list

cdnctl container imports list --account <uuid> --app <uuid>

Liste tous les imports et leur statut actuel pour l'application.

IndicateurDescription
--accountobligatoireUUID du compte
--appobligatoireUUID de l'application

container imports database

cdnctl container imports database \
  --account <uuid> \
  --app <uuid> \
  --file <path/to/dump.sql.gz>

Envoie et met en file d'attente un dump SQL compressé en gzip pour import dans la base de données gérée.

IndicateurDescription
--accountobligatoireUUID du compte
--appobligatoireUUID de l'application
--fileobligatoireChemin local du fichier .sql.gz

container imports files

cdnctl container imports files \
  --account <uuid> \
  --app <uuid> \
  --file <path/to/archive.tar.gz> \
  [--target-path <path>]

Envoie et extrait une archive tar.gz dans le volume persistant.

IndicateurDescription
--accountobligatoireUUID du compte
--appobligatoireUUID de l'application
--fileobligatoireChemin local de l'archive .tar.gz
--target-pathoptionnelChemin de destination dans le conteneur. Par défaut : /app/data

container imports cancel

cdnctl container imports cancel \
  --account <uuid> \
  --app <uuid> \
  --import <import_uuid>

Annule un import en file d'attente ou en cours. N'a aucun effet si l'import est déjà terminé.

IndicateurDescription
--accountobligatoireUUID du compte
--appobligatoireUUID de l'application
--importobligatoireUUID de l'import obtenu via imports list

Tâches planifiées

Les tâches sont des appels HTTP effectués selon un planning cron vers un endpoint à l'intérieur de l'application. Créez-les désactivées, vérifiez-les avec run, puis activez-les.

container jobs list

cdnctl container jobs list --account <uuid> --app <uuid>
IndicateurDescription
--accountobligatoireUUID du compte
--appobligatoireUUID de l'application

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]
IndicateurDescription
--accountobligatoireUUID du compte
--appobligatoireUUID de l'application
--nameobligatoireNom de la tâche
--scheduleobligatoireExpression cron, par ex. */30 * * * *
--pathobligatoireChemin HTTP à appeler, par ex. /jobs/run
--methodoptionnelMéthode HTTP. Par défaut : POST
--secret-header-nameoptionnelNom de l'en-tête dans lequel envoyer le jeton, par ex. X-Token
--secret-sourceoptionnelNom du secret ou de la variable d'environnement de l'application dont la valeur est envoyée comme valeur de l'en-tête
--enabledoptionnelCrée la tâche activée. Omettez pour la créer désactivée (recommandé lors d'une première configuration)

container jobs run

cdnctl container jobs run \
  --account <uuid> \
  --app <uuid> \
  --job <job_uuid> \
  [--wait] \
  [--timeout <seconds>] \
  [--interval <seconds>]

Déclenche immédiatement une exécution ponctuelle de la tâche. Utilisez --wait pour bloquer jusqu'à ce que l'exécution se termine ou échoue.

IndicateurDescription
--accountobligatoireUUID du compte
--appobligatoireUUID de l'application
--jobobligatoireUUID de la tâche obtenu via jobs list
--waitoptionnelBloque jusqu'à la fin de l'exécution
--timeoutoptionnelDurée d'attente maximale en secondes lorsque --wait est défini. Par défaut : 180
--intervaloptionnelIntervalle d'interrogation en secondes. Par défaut : 5

container jobs delete

cdnctl container jobs delete \
  --account <uuid> \
  --app <uuid> \
  --job <job_uuid> \
  --yes

Supprime définitivement la tâche planifiée.

IndicateurDescription
--accountobligatoireUUID du compte
--appobligatoireUUID de l'application
--jobobligatoireUUID de la tâche obtenu via jobs list
--yesobligatoireConfirmation explicite requise pour les opérations destructrices

Object Storage

Utilisez cdnctl pour le plan de contrôle : création de buckets, de clés d'accès et d'associations. Pour lire et écrire des objets, utilisez n'importe quel client compatible S3 pointant vers https://s3.cdn.com.tr. Consultez le guide Object Storage avec AWS CLI.

object-storage buckets list

cdnctl object-storage buckets list --account <uuid>
IndicateurDescription
--accountobligatoireUUID du compte

object-storage buckets create

cdnctl object-storage buckets create \
  --account <uuid> \
  --name <bucket-name> \
  [--visibility private|public]
IndicateurDescription
--accountobligatoireUUID du compte
--nameobligatoireNom du bucket (unique globalement sur la plateforme)
--visibilityoptionnelprivate ou public. Par défaut : private

object-storage buckets usage

cdnctl object-storage buckets usage --account <uuid> --bucket <bucket_uuid>

Renvoie les statistiques d'utilisation actuelles du stockage pour le bucket.

IndicateurDescription
--accountobligatoireUUID du compte
--bucketobligatoireUUID du bucket obtenu via buckets list

object-storage buckets delete

cdnctl object-storage buckets delete --account <uuid> --bucket <bucket_uuid> --yes

Supprime définitivement le bucket et tous les objets qu'il contient. Cette opération est irréversible.

IndicateurDescription
--accountobligatoireUUID du compte
--bucketobligatoireUUID du bucket obtenu via buckets list
--yesobligatoireConfirmation explicite requise pour les opérations destructrices

object-storage access-keys create

cdnctl object-storage access-keys create \
  --account <uuid> \
  [--bucket <uuid>] \
  [--name <name>]

Crée une clé d'accès compatible S3. Le champ secret_key de la réponse n'est affiché qu'une seule fois et n'est plus jamais renvoyé. Copiez-la avant de fermer le terminal.

IndicateurDescription
--accountobligatoireUUID du compte
--bucketoptionnelUUID du bucket auquel restreindre la clé
--nameoptionnelNom convivial pour la clé

object-storage access-keys rotate

cdnctl object-storage access-keys rotate --account <uuid> --key <key_uuid>

Génère un nouveau secret pour la clé d'accès en conservant le même UUID de clé et la même portée de bucket. Le nouveau secret_key est renvoyé une seule fois et jamais plus. Mettez à jour tous les clients avant d'effectuer la rotation en production.

IndicateurDescription
--accountobligatoireUUID du compte
--keyobligatoireUUID de la clé d'accès obtenu via access-keys create

object-storage access-keys revoke

cdnctl object-storage access-keys revoke --account <uuid> --key <key_uuid> --yes

Révoque et supprime définitivement la clé d'accès. Tous les clients utilisant encore cette clé recevront immédiatement des erreurs d'authentification.

IndicateurDescription
--accountobligatoireUUID du compte
--keyobligatoireUUID de la clé d'accès à révoquer
--yesobligatoireConfirmation explicite requise pour les opérations destructrices

object-storage bindings create

cdnctl object-storage bindings create \
  --account <uuid> \
  --app <uuid> \
  --bucket <uuid> \
  [--access-key <uuid>] \
  [--env-prefix <prefix>]

Associe un bucket à une application. Les identifiants S3 et l'endpoint sont injectés comme variables d'environnement lors du prochain déploiement.

IndicateurDescription
--accountobligatoireUUID du compte
--appobligatoireUUID de l'application
--bucketobligatoireUUID du bucket
--access-keyoptionnelUUID de la clé d'accès à utiliser pour l'association
--env-prefixoptionnelPréfixe des variables d'environnement. Par défaut : S3

object-storage bindings delete

cdnctl object-storage bindings delete \
  --account <uuid> \
  --app <uuid> \
  --binding <binding_uuid> \
  --yes

Supprime l'association du bucket de l'application. Le bucket et la clé d'accès ne sont pas affectés ; seule l'injection de variables d'environnement est supprimée lors du prochain déploiement.

IndicateurDescription
--accountobligatoireUUID du compte
--appobligatoireUUID de l'application
--bindingobligatoireUUID de l'association obtenu via bindings list ou la réponse de app show
--yesobligatoireConfirmation explicite requise pour les opérations destructrices