Loading...

Línea de comandos

Referencia de cdnctl

Referencia completa de cdnctl (v0.12.x). Todos los comandos generan salida en JSON. El token de autenticación se almacena en ~/.cdnctl/config.json o se lee de las variables de entorno CDNCTL_TOKEN y CDNCTL_ENDPOINT.

Comandos destructivos — cualquier comando cuyo nombre contenga delete o revoke requiere un flag --yes explícito. Sin él, el comando termina con un error y no realiza ningún cambio.
← Ayuda de la plataforma

Instalación y actualización

cdnctl se distribuye como un binario estático para Linux, macOS y Windows (amd64/arm64). No requiere PHP, Python, 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

Descarga la última versión para tu plataforma, la verifica con las sumas de comprobación publicadas e instala el binario.

update

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

Autoactualiza el binario instalado desde el canal de lanzamiento público. El archivo descargado se verifica con el archivo de suma de comprobación publicado antes de reemplazar el binario.

OpciónDescripción
--checkopcionalSolo informa si existe una versión más reciente; no cambia nada
--yesopcionalAplica la actualización sin pedir confirmación
--versionopcionalActualiza (o revierte) a una versión específica en lugar de la más reciente
--bin-diropcionalDirectorio de instalación cuando la ruta del binario actual no admite escritura. Valor de respaldo predeterminado: $HOME/.local/bin. Variable de entorno: CDNCTL_BIN_DIR

Autenticación y configuración

login

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

Autentica y guarda un token en ~/.cdnctl/config.json. Úsalo una vez por máquina; el token se reutiliza en los comandos posteriores.

OpciónDescripción
--emailobligatorioDirección de correo electrónico de la cuenta
--passwordobligatorioContraseña de la cuenta
--endpointopcionalURL base de la API. Por defecto: https://cdn.com.tr

configure

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

Establece manualmente el endpoint o el token sin iniciar sesión. Útil para entornos de CI o automatización basada en tokens.

OpciónDescripción
--endpointopcionalURL base de la API
--tokenopcionalToken Bearer. Alternativamente, defina la variable de entorno CDNCTL_TOKEN
Variables de entorno: CDNCTL_TOKEN y CDNCTL_ENDPOINT tienen prioridad sobre el archivo de configuración y son útiles para pipelines de CI donde escribir en disco no es ideal.

Cuentas

accounts list

cdnctl accounts list

Lista todas las cuentas CDN accesibles para el usuario autenticado (JSON completo). El campo uuid se usa como --account en todos los demás comandos.

accounts ls

cdnctl accounts ls

Una versión breve y legible de la lista — una línea por cuenta con solo el uuid, el dominio y el tipo. Útil para encontrar el uuid que quieras guardar como predeterminado.

accounts use / current / clear

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

Guarda una cuenta predeterminada una vez para no tener que pasar --account <uuid> en cada comando. Después de accounts use, los comandos limitados a una cuenta usan automáticamente la cuenta guardada (imprimen (using saved account <uuid>) para que sepas cuál es); pasa --account en cualquier momento para anularla. current la muestra y clear la olvida.

Acceso a archivos (sube y gestiona tus archivos)

Sube, lista y elimina archivos en tu sitio WordPress gestionado directamente desde la línea de comandos — sin FTP y sin límite de tamaño de subida. Úsalo en lugar de la subida por navegador si alguna vez encuentras 413 Request Entity Too Large. Las rutas son relativas al wp-content de tu sitio, por lo que puedes acceder a uploads/, plugins/, themes/, etc. Solo verás los archivos de tu propia cuenta.

Set your account once

cdnctl accounts use <uuid>

Para que los comandos de archivos que aparecen a continuación no necesiten --account cada vez. (Ejecuta cdnctl accounts ls para encontrar tu 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

Sin --path, lista la raíz 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

Agrega -r para subir un directorio completo — la estructura de carpetas local se recrea bajo el destino (las carpetas padre se crean automáticamente; las carpetas vacías se omiten). Las subidas nunca sobrescriben un archivo existente a menos que agregues --force. También puedes indicar la cuenta directamente como <uuid>:/uploads/photo.jpg en lugar de guardar una predeterminada.

OpciónDescripción
-rSube un directorio de forma recursiva.
--forceSobrescribe los archivos que ya existen.

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

Requiere --yes. Solo se pueden eliminar archivos (los directorios se rechazan).

Container Apps

container apps list

cdnctl container apps list --account <uuid>

Lista todas las apps de contenedor de la cuenta.

OpciónDescripción
--accountobligatorioUUID de la cuenta

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

Crea un nuevo registro de app de contenedor y su primera revisión. No la despliega; ejecuta deploy después de crearla.

OpciónDescripción
--accountobligatorioUUID de la cuenta
--nameobligatorioNombre de la app (compatible con slug)
--imageobligatorioRuta de la imagen del contenedor, p. ej. registry.example.com/acme/api
--tagopcionalEtiqueta de la imagen. Predeterminado: cadena vacía
--portopcionalPuerto del contenedor en el que escucha la app. Predeterminado: 8080
--healthcheckopcionalRuta HTTP de verificación de estado. Predeterminado: /health
--healthcheck-typeopcionalTipo de verificación de estado: http, tcp o none
--metrics-portopcionalPuerto que expone las métricas de Prometheus
--metrics-pathopcionalRuta que expone las métricas de Prometheus, p. ej. /metrics
--replicasopcionalNúmero de réplicas. Predeterminado: 1
--planopcionalCódigo del plan de recursos. Predeterminado: starter
--domainopcionalDominio personalizado para asociar
--env-jsonopcionalObjeto JSON de variables de entorno. Los valores son visibles en las respuestas GET.
--secrets-jsonopcionalObjeto JSON de secretos. Los valores se cifran y nunca se devuelven después de la creación.
--registry-credentialopcionalUUID de una credencial de registro para imágenes privadas
--persistent-mount-pathopcionalRuta de montaje del volumen persistente, p. ej. /app/data
--persistent-storage-gbopcionalTamaño del volumen persistente en GB
Secrets: Los valores pasados mediante --secrets-json se almacenan cifrados y no se devuelven en ninguna respuesta GET. Guárdelos antes de ejecutar este comando.

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

Actualiza la configuración de la app. Solo se modifican las opciones (flags) que pases. Ejecuta deploy después de actualizar para publicar la nueva revisión.

OpciónDescripción
--accountobligatorioUUID de la cuenta
--appobligatorioUUID de la app
--imageopcionalNueva ruta de la imagen
--tagopcionalNueva etiqueta de la imagen
--portopcionalPuerto del contenedor
--replicasopcionalNúmero de réplicas
--healthcheckopcionalRuta de verificación de estado
--healthcheck-typeopcionalTipo de verificación de estado: http, tcp o none
--metrics-portopcionalPuerto que expone las métricas de Prometheus
--metrics-pathopcionalRuta que expone las métricas de Prometheus
--domainopcionalDominio para asociar. Pase una cadena vacía para eliminarlo.
--env-jsonopcionalReemplaza todas las variables de entorno con este objeto JSON
--secrets-jsonopcionalReemplaza todos los secretos con este objeto JSON. Los valores nunca se devuelven.
--registry-credentialopcionalUUID de la credencial de registro. Pase una cadena vacía para eliminarla.
--persistent-mount-pathopcionalRuta de montaje persistente. Pase una cadena vacía para deshabilitarla.

container apps deploy

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

Publica la configuración actual como una nueva revisión. Usa wait después para bloquear hasta que el despliegue alcance un estado objetivo.

OpciónDescripción
--accountobligatorioUUID de la cuenta
--appobligatorioUUID de la app

container apps expose

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

Genera un subdominio permanente e inmutable <uid>.cdn.com.tr para la app. El subdominio nunca cambia aunque se actualice un dominio personalizado.

OpciónDescripción
--accountobligatorioUUID de la cuenta
--appobligatorioUUID de la app

container apps restart

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

Realiza un reinicio progresivo (rolling restart) de todas las réplicas en ejecución sin crear una nueva revisión.

OpciónDescripción
--accountobligatorioUUID de la cuenta
--appobligatorioUUID de la app

container apps scale

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

Cambia el número de réplicas de inmediato sin crear una nueva revisión. Pasa 0 para escalar la app a cero.

OpciónDescripción
--accountobligatorioUUID de la cuenta
--appobligatorioUUID de la app
--replicasobligatorioNúmero de réplicas objetivo (use 0 para suspender la app)

container apps show

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

Devuelve la configuración completa de la app, incluida la lista de revisiones. Usa los UUID de revisión de esta salida con rollback.

OpciónDescripción
--accountobligatorioUUID de la cuenta
--appobligatorioUUID de la app

container apps rollback

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

Vuelve a desplegar una revisión anterior. Usa show para listar los UUID de revisión disponibles.

OpciónDescripción
--accountobligatorioUUID de la cuenta
--appobligatorioUUID de la app
--revisionobligatorioUUID de la revisión a la que revertir (obtenido de show)

container apps operations

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

Lista todas las operaciones de la plataforma registradas para la app, como despliegues, reinicios y eventos de escalado.

OpciónDescripción
--accountobligatorioUUID de la cuenta
--appobligatorioUUID de la app

container apps status

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

Devuelve el estado de ejecución actual y el resultado de la última operación de la app.

OpciónDescripción
--accountobligatorioUUID de la cuenta
--appobligatorioUUID de la app

container apps wait

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

Sondea el estado de la app hasta que alcanza --status o expira el tiempo de espera. Sale con 0 en caso de éxito y 1 en caso de fallo o tiempo de espera agotado. En caso de fallo, incluye automáticamente la salida de diagnose.

OpciónDescripción
--accountobligatorioUUID de la cuenta
--appobligatorioUUID de la app
--statusobligatorioCadena de estado objetivo, p. ej. running
--timeoutopcionalSegundos máximos de espera. Predeterminado: 300
--intervalopcionalIntervalo de sondeo en segundos. Predeterminado: 5

container apps logs

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

Devuelve las líneas recientes del registro del contenedor.

OpciónDescripción
--accountobligatorioUUID de la cuenta
--appobligatorioUUID de la app
--tailopcionalNúmero de líneas de registro a devolver. Predeterminado: 100

container apps diagnose

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

Devuelve una instantánea combinada de estado y registro. wait lo usa automáticamente en caso de fallo. Ejecútalo primero cuando una app esté bloqueada o falle.

OpciónDescripción
--accountobligatorioUUID de la cuenta
--appobligatorioUUID de la app
--tailopcionalNúmero de líneas de registro a incluir. Predeterminado: 120

container apps delete

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

Elimina permanentemente la app y todas sus revisiones. Esta operación es irreversible.

OpciónDescripción
--accountobligatorioUUID de la cuenta
--appobligatorioUUID de la app
--yesobligatorioConfirmación explícita requerida para operaciones destructivas

Preflight de contenedores

Ejecuta preflight antes de crear apps para verificar que la cuenta cumple todos los requisitos previos de la plataforma (cuotas, políticas de red, acceso al registro, etc.).

container preflight

cdnctl container preflight --account <uuid>

Comprueba que la cuenta esté lista para ejecutar cargas de trabajo en contenedores y devuelve una lista de los problemas encontrados.

OpciónDescripción
--accountobligatorioUUID de la cuenta

Credenciales de registro

Las credenciales de registro están limitadas a la cuenta y pueden reutilizarse entre apps. La contraseña se almacena cifrada y nunca se devuelve después de la creación.

container registry-credentials list

cdnctl container registry-credentials list --account <uuid>
OpciónDescripción
--accountobligatorioUUID de la cuenta

container registry-credentials create

cdnctl container registry-credentials create \
  --account <uuid> \
  --name <name> \
  --password <token> \
  [--registry-url <url>] \
  [--username <user>]
OpciónDescripción
--accountobligatorioUUID de la cuenta
--nameobligatorioNombre descriptivo para esta credencial
--passwordobligatorioContraseña del registro o token de acceso
--registry-urlopcionalURL del registro. Predeterminado: https://index.docker.io/v1/
--usernameopcionalNombre de usuario del registro

container registry-credentials delete

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

Elimina permanentemente una credencial de registro. Las apps que hagan referencia a esta credencial no podrán descargar imágenes en el próximo despliegue.

OpciónDescripción
--accountobligatorioUUID de la cuenta
--credentialobligatorioUUID de la credencial obtenido de registry-credentials list
--yesobligatorioConfirmación explícita requerida para operaciones destructivas

Complementos gestionados

Los add-ons se crean y conectan a la app automáticamente. Las credenciales se inyectan como variables de entorno, sin necesidad de introducir manualmente el host, el puerto o la contraseña. Ejecuta deploy después de habilitar o deshabilitar un add-on.

container addons list

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

Lista todos los add-ons actualmente asociados a la app.

OpciónDescripción
--accountobligatorioUUID de la cuenta
--appobligatorioUUID de la app

container addons enable-database

cdnctl container addons enable-database \
  --account <uuid> \
  --app <uuid> \
  [--plan <code>] \
  [--env-prefix <prefix>] \
  [--storage-mb <n>] \
  [--url-scheme <scheme>]
OpciónDescripción
--accountobligatorioUUID de la cuenta
--appobligatorioUUID de la app
--planopcionalCódigo del plan de recursos. Predeterminado: starter
--env-prefixopcionalPrefijo de variable de entorno para las credenciales inyectadas. Predeterminado: DB
--storage-mbopcionalTamaño de almacenamiento en MB
--url-schemeopcionalEsquema de URL de la base de datos para la variable DATABASE_URL, p. ej. mysql+pymysql. Predeterminado: mysql

container addons disable-database

cdnctl container addons disable-database --account <uuid> --app <uuid>
OpciónDescripción
--accountobligatorioUUID de la cuenta
--appobligatorioUUID de la app

container addons enable-redis

cdnctl container addons enable-redis \
  --account <uuid> \
  --app <uuid> \
  [--plan <code>] \
  [--env-prefix <prefix>]
OpciónDescripción
--accountobligatorioUUID de la cuenta
--appobligatorioUUID de la app
--planopcionalCódigo del plan de recursos. Predeterminado: starter
--env-prefixopcionalPrefijo de variable de entorno. Predeterminado: REDIS

container addons disable-redis

cdnctl container addons disable-redis --account <uuid> --app <uuid>
OpciónDescripción
--accountobligatorioUUID de la cuenta
--appobligatorioUUID de la app

container addons enable-postgres

cdnctl container addons enable-postgres \
  --account <uuid> \
  --app <uuid> \
  [--plan <code>] \
  [--env-prefix <prefix>] \
  [--storage-mb <n>]
OpciónDescripción
--accountobligatorioUUID de la cuenta
--appobligatorioUUID de la app
--planopcionalCódigo del plan de recursos. Predeterminado: starter
--env-prefixopcionalPrefijo de variable de entorno para las credenciales inyectadas. Predeterminado: DATABASE
--storage-mbopcionalTamaño de almacenamiento en MB. Predeterminado: 10240

container addons disable-postgres

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

Deshabilita el add-on de Postgres. Por defecto, los datos se conservan. Pasa --delete-data junto con --confirmation para destruir permanentemente todos los datos.

OpciónDescripción
--accountobligatorioUUID de la cuenta
--appobligatorioUUID de la app
--delete-dataopcionalDestruye permanentemente todos los datos de Postgres
--confirmationopcionalNombre de la app para confirmar la eliminación de datos cuando se establece --delete-data

container addons enable-nats

cdnctl container addons enable-nats \
  --account <uuid> \
  --app <uuid> \
  [--plan <code>] \
  [--env-prefix <prefix>] \
  [--storage-mb <n>]
OpciónDescripción
--accountobligatorioUUID de la cuenta
--appobligatorioUUID de la app
--planopcionalCódigo del plan de recursos. Predeterminado: starter
--env-prefixopcionalPrefijo de variable de entorno para las credenciales inyectadas. Predeterminado: NATS
--storage-mbopcionalTamaño de almacenamiento de JetStream en MB. Predeterminado: 5120

container addons disable-nats

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

Deshabilita el add-on de NATS. Pasa --delete-data para destruir permanentemente todos los datos de JetStream.

OpciónDescripción
--accountobligatorioUUID de la cuenta
--appobligatorioUUID de la app
--delete-dataopcionalDestruye permanentemente todos los datos de NATS JetStream

Importación de Compose

Importa un docker-compose.yml existente como apps de contenedor gestionadas. Los servicios con una imagen preconstruida se convierten en apps; los servicios Redis, MySQL/MariaDB, Postgres y NATS se convierten en add-ons gestionados asociados a las apps que dependen de ellos. Ejecuta siempre preview primero: muestra el plan resultante, las advertencias, los servicios no compatibles y si la importación se ajusta a tu cuota de apps, sin crear nada.

container compose preview

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

Analiza el archivo compose en el servidor y devuelve el plan de importación: apps que se crearán, asignaciones de add-ons, clasificación de claves de entorno/secretos, advertencias, servicios no compatibles y una verificación de derechos (entitlement). No crea nada. Los valores de los secretos nunca se devuelven, solo los nombres de las claves.

OpciónDescripción
--accountobligatorioUUID de la cuenta
--fileobligatorioRuta al archivo compose (máx. 256 KB)

container compose apply

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

Aplica la importación: crea las apps en orden de dependencia y habilita los add-ons asignados. Es todo o nada: si el nombre de alguna app entra en conflicto con una app existente, o algún servicio no es compatible (por ejemplo, usa build:), no se crea nada. Despliega cada app creada posteriormente con container apps deploy.

OpciónDescripción
--accountobligatorioUUID de la cuenta
--fileobligatorioRuta al archivo compose (máx. 256 KB)
--yesobligatorioConfirma la creación de recursos
No soportado en v1: servicios que usan build: (en su lugar, suba una imagen precompilada), sobrescrituras de command/entrypoint (incorpórelas en la imagen), env_file, secrets de compose basados en archivo, y más de un montaje persistente por servicio. Los números de puerto del lado del host se ignoran — la exposición pública usa el dominio de la plataforma y el flujo apps expose.

Importaciones

Las importaciones deben completarse antes de que el despliegue abra el enrutamiento público. Usa apps status o apps wait para verificar el estado una vez finalizada una importación.

container imports list

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

Lista todas las importaciones y su estado actual para la app.

OpciónDescripción
--accountobligatorioUUID de la cuenta
--appobligatorioUUID de la app

container imports database

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

Sube y pone en cola un volcado SQL comprimido con gzip para importarlo en la base de datos gestionada.

OpciónDescripción
--accountobligatorioUUID de la cuenta
--appobligatorioUUID de la app
--fileobligatorioRuta local al archivo .sql.gz

container imports files

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

Sube y extrae un archivo tar.gz en el volumen persistente.

OpciónDescripción
--accountobligatorioUUID de la cuenta
--appobligatorioUUID de la app
--fileobligatorioRuta local al archivo .tar.gz
--target-pathopcionalRuta de destino dentro del contenedor. Predeterminado: /app/data

container imports cancel

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

Cancela una importación en cola o en curso. No tiene efecto si la importación ya se ha completado.

OpciónDescripción
--accountobligatorioUUID de la cuenta
--appobligatorioUUID de la app
--importobligatorioUUID de la importación obtenido de imports list

Tareas programadas

Las tareas (jobs) son llamadas HTTP realizadas según una programación cron a un endpoint dentro de la app. Créalas deshabilitadas, verifícalas con run y luego habilítalas.

container jobs list

cdnctl container jobs list --account <uuid> --app <uuid>
OpciónDescripción
--accountobligatorioUUID de la cuenta
--appobligatorioUUID de la app

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]
OpciónDescripción
--accountobligatorioUUID de la cuenta
--appobligatorioUUID de la app
--nameobligatorioNombre de la tarea
--scheduleobligatorioExpresión cron, p. ej. */30 * * * *
--pathobligatorioRuta HTTP a llamar, p. ej. /jobs/run
--methodopcionalMétodo HTTP. Predeterminado: POST
--secret-header-nameopcionalNombre de la cabecera en la que enviar el token, p. ej. X-Token
--secret-sourceopcionalNombre del secreto de la app o variable de entorno cuyo valor se envía como valor de la cabecera
--enabledopcionalCrea la tarea habilitada. Omítalo para crearla deshabilitada (recomendado para la configuración inicial)

container jobs run

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

Desencadena una ejecución única e inmediata de la tarea. Usa --wait para bloquear hasta que la ejecución finalice o falle.

OpciónDescripción
--accountobligatorioUUID de la cuenta
--appobligatorioUUID de la app
--jobobligatorioUUID de la tarea obtenido de jobs list
--waitopcionalBloquea hasta que finalice la ejecución
--timeoutopcionalSegundos máximos de espera cuando se establece --wait. Predeterminado: 180
--intervalopcionalIntervalo de sondeo en segundos. Predeterminado: 5

container jobs delete

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

Elimina permanentemente la tarea programada.

OpciónDescripción
--accountobligatorioUUID de la cuenta
--appobligatorioUUID de la app
--jobobligatorioUUID de la tarea obtenido de jobs list
--yesobligatorioConfirmación explícita requerida para operaciones destructivas

Object Storage

Usa cdnctl para el plano de control: creación de buckets, claves de acceso y enlaces. Para leer y escribir objetos, usa cualquier cliente compatible con S3 apuntando a https://s3.cdn.com.tr. Consulta la guía Object Storage with AWS CLI.

object-storage buckets list

cdnctl object-storage buckets list --account <uuid>
OpciónDescripción
--accountobligatorioUUID de la cuenta

object-storage buckets create

cdnctl object-storage buckets create \
  --account <uuid> \
  --name <bucket-name> \
  [--visibility private|public]
OpciónDescripción
--accountobligatorioUUID de la cuenta
--nameobligatorioNombre del bucket (único globalmente dentro de la plataforma)
--visibilityopcionalprivate o public. Predeterminado: private

object-storage buckets usage

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

Devuelve las estadísticas actuales de uso de almacenamiento del bucket.

OpciónDescripción
--accountobligatorioUUID de la cuenta
--bucketobligatorioUUID del bucket obtenido de buckets list

object-storage buckets delete

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

Elimina permanentemente el bucket y todos los objetos que contiene. Esta operación es irreversible.

OpciónDescripción
--accountobligatorioUUID de la cuenta
--bucketobligatorioUUID del bucket obtenido de buckets list
--yesobligatorioConfirmación explícita requerida para operaciones destructivas

object-storage access-keys create

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

Crea una clave de acceso compatible con S3. El campo secret_key de la respuesta se muestra una vez y nunca se vuelve a devolver. Cópialo antes de cerrar la terminal.

OpciónDescripción
--accountobligatorioUUID de la cuenta
--bucketopcionalUUID del bucket al que se limita la clave
--nameopcionalNombre descriptivo para la clave

object-storage access-keys rotate

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

Genera un nuevo secreto para la clave de acceso manteniendo el mismo UUID de clave y el mismo ámbito de bucket. El nuevo secret_key se devuelve una vez y nunca más. Actualiza los clientes antes de rotarlo en producción.

OpciónDescripción
--accountobligatorioUUID de la cuenta
--keyobligatorioUUID de la clave de acceso obtenido de access-keys create

object-storage access-keys revoke

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

Revoca y elimina permanentemente la clave de acceso. Los clientes que sigan usando esta clave recibirán errores de autenticación de inmediato.

OpciónDescripción
--accountobligatorioUUID de la cuenta
--keyobligatorioUUID de la clave de acceso a revocar
--yesobligatorioConfirmación explícita requerida para operaciones destructivas

object-storage bindings create

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

Enlaza un bucket a una app. Las credenciales S3 y el endpoint se inyectan como variables de entorno en el próximo despliegue.

OpciónDescripción
--accountobligatorioUUID de la cuenta
--appobligatorioUUID de la app
--bucketobligatorioUUID del bucket
--access-keyopcionalUUID de la clave de acceso que se usará para el enlace
--env-prefixopcionalPrefijo de variable de entorno. Predeterminado: S3

object-storage bindings delete

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

Elimina el enlace del bucket de la app. El bucket y la clave de acceso no se ven afectados; solo se elimina la inyección de variables de entorno en el próximo despliegue.

OpciónDescripción
--accountobligatorioUUID de la cuenta
--appobligatorioUUID de la app
--bindingobligatorioUUID del enlace obtenido de bindings list o de la respuesta de app show
--yesobligatorioConfirmación explícita requerida para operaciones destructivas