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.
delete ou revoke nécessite un flag --yes explicite. Sans lui, la commande se termine en erreur et n'effectue aucun changement.
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é.
| Indicateur | Description | |
|---|---|---|
| --check | optionnel | Signale uniquement si une version plus récente existe ; ne modifie rien |
| --yes | optionnel | Applique la mise à jour sans demander de confirmation |
| --version | optionnel | Met à jour (ou revient) vers une version spécifique au lieu de la dernière |
| --bin-dir | optionnel | Ré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.
| Indicateur | Description | |
|---|---|---|
| obligatoire | Adresse e-mail du compte | |
| --password | obligatoire | Mot de passe du compte |
| --endpoint | optionnel | URL 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.
| Indicateur | Description | |
|---|---|---|
| --endpoint | optionnel | URL de base de l'API |
| --token | optionnel | Jeton Bearer. Vous pouvez aussi définir la variable d'environnement CDNCTL_TOKEN |
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.
| Indicateur | Description | |
|---|---|---|
-r | Envoie 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.
| Indicateur | Description | |
|---|---|---|
| --account | obligatoire | UUID 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.
| Indicateur | Description | |
|---|---|---|
| --account | obligatoire | UUID du compte |
| --name | obligatoire | Nom de l'application (compatible slug) |
| --image | obligatoire | Chemin de l'image du conteneur, par ex. registry.example.com/acme/api |
| --tag | optionnel | Tag de l'image. Par défaut : chaîne vide |
| --port | optionnel | Port du conteneur sur lequel l'application écoute. Par défaut : 8080 |
| --healthcheck | optionnel | Chemin de vérification de santé HTTP. Par défaut : /health |
| --healthcheck-type | optionnel | Type de vérification de santé : http, tcp ou none |
| --metrics-port | optionnel | Port exposant les métriques Prometheus |
| --metrics-path | optionnel | Chemin exposant les métriques Prometheus, par ex. /metrics |
| --replicas | optionnel | Nombre de réplicas. Par défaut : 1 |
| --plan | optionnel | Code du plan de ressources. Par défaut : starter |
| --domain | optionnel | Domaine personnalisé à associer |
| --env-json | optionnel | Objet JSON des variables d'environnement. Les valeurs sont visibles dans les réponses GET. |
| --secrets-json | optionnel | Objet JSON des secrets. Les valeurs sont chiffrées et ne sont jamais renvoyées après la création. |
| --registry-credential | optionnel | UUID d'un identifiant de registre pour les images privées |
| --persistent-mount-path | optionnel | Chemin de montage du volume persistant, par ex. /app/data |
| --persistent-storage-gb | optionnel | Taille du volume persistant en Go |
--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.
| Indicateur | Description | |
|---|---|---|
| --account | obligatoire | UUID du compte |
| --app | obligatoire | UUID de l'application |
| --image | optionnel | Nouveau chemin d'image |
| --tag | optionnel | Nouveau tag d'image |
| --port | optionnel | Port du conteneur |
| --replicas | optionnel | Nombre de réplicas |
| --healthcheck | optionnel | Chemin de vérification de santé |
| --healthcheck-type | optionnel | Type de vérification de santé : http, tcp ou none |
| --metrics-port | optionnel | Port exposant les métriques Prometheus |
| --metrics-path | optionnel | Chemin exposant les métriques Prometheus |
| --domain | optionnel | Domaine à associer. Passez une chaîne vide pour le supprimer. |
| --env-json | optionnel | Remplace toutes les variables d'environnement par cet objet JSON |
| --secrets-json | optionnel | Remplace tous les secrets par cet objet JSON. Les valeurs ne sont jamais renvoyées. |
| --registry-credential | optionnel | UUID de l'identifiant de registre. Passez une chaîne vide pour le supprimer. |
| --persistent-mount-path | optionnel | Chemin 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.
| Indicateur | Description | |
|---|---|---|
| --account | obligatoire | UUID du compte |
| --app | obligatoire | UUID 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.
| Indicateur | Description | |
|---|---|---|
| --account | obligatoire | UUID du compte |
| --app | obligatoire | UUID 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.
| Indicateur | Description | |
|---|---|---|
| --account | obligatoire | UUID du compte |
| --app | obligatoire | UUID 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.
| Indicateur | Description | |
|---|---|---|
| --account | obligatoire | UUID du compte |
| --app | obligatoire | UUID de l'application |
| --replicas | obligatoire | Nombre 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.
| Indicateur | Description | |
|---|---|---|
| --account | obligatoire | UUID du compte |
| --app | obligatoire | UUID 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.
| Indicateur | Description | |
|---|---|---|
| --account | obligatoire | UUID du compte |
| --app | obligatoire | UUID de l'application |
| --revision | obligatoire | UUID 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.
| Indicateur | Description | |
|---|---|---|
| --account | obligatoire | UUID du compte |
| --app | obligatoire | UUID 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.
| Indicateur | Description | |
|---|---|---|
| --account | obligatoire | UUID du compte |
| --app | obligatoire | UUID 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.
| Indicateur | Description | |
|---|---|---|
| --account | obligatoire | UUID du compte |
| --app | obligatoire | UUID de l'application |
| --status | obligatoire | Chaîne de statut cible, par ex. running |
| --timeout | optionnel | Durée d'attente maximale en secondes. Par défaut : 300 |
| --interval | optionnel | Intervalle 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.
| Indicateur | Description | |
|---|---|---|
| --account | obligatoire | UUID du compte |
| --app | obligatoire | UUID de l'application |
| --tail | optionnel | Nombre 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.
| Indicateur | Description | |
|---|---|---|
| --account | obligatoire | UUID du compte |
| --app | obligatoire | UUID de l'application |
| --tail | optionnel | Nombre 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.
| Indicateur | Description | |
|---|---|---|
| --account | obligatoire | UUID du compte |
| --app | obligatoire | UUID de l'application |
| --yes | obligatoire | Confirmation 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.
| Indicateur | Description | |
|---|---|---|
| --account | obligatoire | UUID 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>
| Indicateur | Description | |
|---|---|---|
| --account | obligatoire | UUID du compte |
container registry-credentials create
cdnctl container registry-credentials create \
--account <uuid> \
--name <name> \
--password <token> \
[--registry-url <url>] \
[--username <user>]
| Indicateur | Description | |
|---|---|---|
| --account | obligatoire | UUID du compte |
| --name | obligatoire | Nom convivial pour cet identifiant |
| --password | obligatoire | Mot de passe du registre ou jeton d'accès |
| --registry-url | optionnel | URL du registre. Par défaut : https://index.docker.io/v1/ |
| --username | optionnel | Nom 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.
| Indicateur | Description | |
|---|---|---|
| --account | obligatoire | UUID du compte |
| --credential | obligatoire | UUID de l'identifiant obtenu via registry-credentials list |
| --yes | obligatoire | Confirmation 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.
| Indicateur | Description | |
|---|---|---|
| --account | obligatoire | UUID du compte |
| --app | obligatoire | UUID 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>]
| Indicateur | Description | |
|---|---|---|
| --account | obligatoire | UUID du compte |
| --app | obligatoire | UUID de l'application |
| --plan | optionnel | Code du plan de ressources. Par défaut : starter |
| --env-prefix | optionnel | Préfixe des variables d'environnement pour les identifiants injectés. Par défaut : DB |
| --storage-mb | optionnel | Taille du stockage en Mo |
| --url-scheme | optionnel | Sché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>
| Indicateur | Description | |
|---|---|---|
| --account | obligatoire | UUID du compte |
| --app | obligatoire | UUID de l'application |
container addons enable-redis
cdnctl container addons enable-redis \
--account <uuid> \
--app <uuid> \
[--plan <code>] \
[--env-prefix <prefix>]
| Indicateur | Description | |
|---|---|---|
| --account | obligatoire | UUID du compte |
| --app | obligatoire | UUID de l'application |
| --plan | optionnel | Code du plan de ressources. Par défaut : starter |
| --env-prefix | optionnel | Préfixe des variables d'environnement. Par défaut : REDIS |
container addons disable-redis
cdnctl container addons disable-redis --account <uuid> --app <uuid>
| Indicateur | Description | |
|---|---|---|
| --account | obligatoire | UUID du compte |
| --app | obligatoire | UUID de l'application |
container addons enable-postgres
cdnctl container addons enable-postgres \
--account <uuid> \
--app <uuid> \
[--plan <code>] \
[--env-prefix <prefix>] \
[--storage-mb <n>]
| Indicateur | Description | |
|---|---|---|
| --account | obligatoire | UUID du compte |
| --app | obligatoire | UUID de l'application |
| --plan | optionnel | Code du plan de ressources. Par défaut : starter |
| --env-prefix | optionnel | Préfixe des variables d'environnement pour les identifiants injectés. Par défaut : DATABASE |
| --storage-mb | optionnel | Taille 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.
| Indicateur | Description | |
|---|---|---|
| --account | obligatoire | UUID du compte |
| --app | obligatoire | UUID de l'application |
| --delete-data | optionnel | Détruit définitivement toutes les données Postgres |
| --confirmation | optionnel | Nom 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>]
| Indicateur | Description | |
|---|---|---|
| --account | obligatoire | UUID du compte |
| --app | obligatoire | UUID de l'application |
| --plan | optionnel | Code du plan de ressources. Par défaut : starter |
| --env-prefix | optionnel | Préfixe des variables d'environnement pour les identifiants injectés. Par défaut : NATS |
| --storage-mb | optionnel | Taille 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.
| Indicateur | Description | |
|---|---|---|
| --account | obligatoire | UUID du compte |
| --app | obligatoire | UUID de l'application |
| --delete-data | optionnel | Dé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.
| Indicateur | Description | |
|---|---|---|
| --account | obligatoire | UUID du compte |
| --file | obligatoire | Chemin 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.
| Indicateur | Description | |
|---|---|---|
| --account | obligatoire | UUID du compte |
| --file | obligatoire | Chemin du fichier compose (256 Ko max) |
| --yes | obligatoire | Confirme la création de la ressource |
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.
| Indicateur | Description | |
|---|---|---|
| --account | obligatoire | UUID du compte |
| --app | obligatoire | UUID 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.
| Indicateur | Description | |
|---|---|---|
| --account | obligatoire | UUID du compte |
| --app | obligatoire | UUID de l'application |
| --file | obligatoire | Chemin 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.
| Indicateur | Description | |
|---|---|---|
| --account | obligatoire | UUID du compte |
| --app | obligatoire | UUID de l'application |
| --file | obligatoire | Chemin local de l'archive .tar.gz |
| --target-path | optionnel | Chemin 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é.
| Indicateur | Description | |
|---|---|---|
| --account | obligatoire | UUID du compte |
| --app | obligatoire | UUID de l'application |
| --import | obligatoire | UUID 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>
| Indicateur | Description | |
|---|---|---|
| --account | obligatoire | UUID du compte |
| --app | obligatoire | UUID 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]
| Indicateur | Description | |
|---|---|---|
| --account | obligatoire | UUID du compte |
| --app | obligatoire | UUID de l'application |
| --name | obligatoire | Nom de la tâche |
| --schedule | obligatoire | Expression cron, par ex. */30 * * * * |
| --path | obligatoire | Chemin HTTP à appeler, par ex. /jobs/run |
| --method | optionnel | Méthode HTTP. Par défaut : POST |
| --secret-header-name | optionnel | Nom de l'en-tête dans lequel envoyer le jeton, par ex. X-Token |
| --secret-source | optionnel | Nom du secret ou de la variable d'environnement de l'application dont la valeur est envoyée comme valeur de l'en-tête |
| --enabled | optionnel | Cré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.
| Indicateur | Description | |
|---|---|---|
| --account | obligatoire | UUID du compte |
| --app | obligatoire | UUID de l'application |
| --job | obligatoire | UUID de la tâche obtenu via jobs list |
| --wait | optionnel | Bloque jusqu'à la fin de l'exécution |
| --timeout | optionnel | Durée d'attente maximale en secondes lorsque --wait est défini. Par défaut : 180 |
| --interval | optionnel | Intervalle 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.
| Indicateur | Description | |
|---|---|---|
| --account | obligatoire | UUID du compte |
| --app | obligatoire | UUID de l'application |
| --job | obligatoire | UUID de la tâche obtenu via jobs list |
| --yes | obligatoire | Confirmation 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>
| Indicateur | Description | |
|---|---|---|
| --account | obligatoire | UUID du compte |
object-storage buckets create
cdnctl object-storage buckets create \
--account <uuid> \
--name <bucket-name> \
[--visibility private|public]
| Indicateur | Description | |
|---|---|---|
| --account | obligatoire | UUID du compte |
| --name | obligatoire | Nom du bucket (unique globalement sur la plateforme) |
| --visibility | optionnel | private 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.
| Indicateur | Description | |
|---|---|---|
| --account | obligatoire | UUID du compte |
| --bucket | obligatoire | UUID 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.
| Indicateur | Description | |
|---|---|---|
| --account | obligatoire | UUID du compte |
| --bucket | obligatoire | UUID du bucket obtenu via buckets list |
| --yes | obligatoire | Confirmation 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.
| Indicateur | Description | |
|---|---|---|
| --account | obligatoire | UUID du compte |
| --bucket | optionnel | UUID du bucket auquel restreindre la clé |
| --name | optionnel | Nom 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.
| Indicateur | Description | |
|---|---|---|
| --account | obligatoire | UUID du compte |
| --key | obligatoire | UUID 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.
| Indicateur | Description | |
|---|---|---|
| --account | obligatoire | UUID du compte |
| --key | obligatoire | UUID de la clé d'accès à révoquer |
| --yes | obligatoire | Confirmation 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.
| Indicateur | Description | |
|---|---|---|
| --account | obligatoire | UUID du compte |
| --app | obligatoire | UUID de l'application |
| --bucket | obligatoire | UUID du bucket |
| --access-key | optionnel | UUID de la clé d'accès à utiliser pour l'association |
| --env-prefix | optionnel | Pré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.
| Indicateur | Description | |
|---|---|---|
| --account | obligatoire | UUID du compte |
| --app | obligatoire | UUID de l'application |
| --binding | obligatoire | UUID de l'association obtenu via bindings list ou la réponse de app show |
| --yes | obligatoire | Confirmation explicite requise pour les opérations destructrices |