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.
delete o revoke requiere un flag --yes explícito. Sin él, el comando termina con un error y no realiza ningún cambio.
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ón | Descripción | |
|---|---|---|
| --check | opcional | Solo informa si existe una versión más reciente; no cambia nada |
| --yes | opcional | Aplica la actualización sin pedir confirmación |
| --version | opcional | Actualiza (o revierte) a una versión específica en lugar de la más reciente |
| --bin-dir | opcional | Directorio 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ón | Descripción | |
|---|---|---|
| obligatorio | Dirección de correo electrónico de la cuenta | |
| --password | obligatorio | Contraseña de la cuenta |
| --endpoint | opcional | URL 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ón | Descripción | |
|---|---|---|
| --endpoint | opcional | URL base de la API |
| --token | opcional | Token Bearer. Alternativamente, defina la variable de entorno CDNCTL_TOKEN |
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ón | Descripción | |
|---|---|---|
-r | Sube un directorio de forma recursiva. | |
--force | Sobrescribe 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ón | Descripción | |
|---|---|---|
| --account | obligatorio | UUID 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ón | Descripción | |
|---|---|---|
| --account | obligatorio | UUID de la cuenta |
| --name | obligatorio | Nombre de la app (compatible con slug) |
| --image | obligatorio | Ruta de la imagen del contenedor, p. ej. registry.example.com/acme/api |
| --tag | opcional | Etiqueta de la imagen. Predeterminado: cadena vacía |
| --port | opcional | Puerto del contenedor en el que escucha la app. Predeterminado: 8080 |
| --healthcheck | opcional | Ruta HTTP de verificación de estado. Predeterminado: /health |
| --healthcheck-type | opcional | Tipo de verificación de estado: http, tcp o none |
| --metrics-port | opcional | Puerto que expone las métricas de Prometheus |
| --metrics-path | opcional | Ruta que expone las métricas de Prometheus, p. ej. /metrics |
| --replicas | opcional | Número de réplicas. Predeterminado: 1 |
| --plan | opcional | Código del plan de recursos. Predeterminado: starter |
| --domain | opcional | Dominio personalizado para asociar |
| --env-json | opcional | Objeto JSON de variables de entorno. Los valores son visibles en las respuestas GET. |
| --secrets-json | opcional | Objeto JSON de secretos. Los valores se cifran y nunca se devuelven después de la creación. |
| --registry-credential | opcional | UUID de una credencial de registro para imágenes privadas |
| --persistent-mount-path | opcional | Ruta de montaje del volumen persistente, p. ej. /app/data |
| --persistent-storage-gb | opcional | Tamaño del volumen persistente en GB |
--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ón | Descripción | |
|---|---|---|
| --account | obligatorio | UUID de la cuenta |
| --app | obligatorio | UUID de la app |
| --image | opcional | Nueva ruta de la imagen |
| --tag | opcional | Nueva etiqueta de la imagen |
| --port | opcional | Puerto del contenedor |
| --replicas | opcional | Número de réplicas |
| --healthcheck | opcional | Ruta de verificación de estado |
| --healthcheck-type | opcional | Tipo de verificación de estado: http, tcp o none |
| --metrics-port | opcional | Puerto que expone las métricas de Prometheus |
| --metrics-path | opcional | Ruta que expone las métricas de Prometheus |
| --domain | opcional | Dominio para asociar. Pase una cadena vacía para eliminarlo. |
| --env-json | opcional | Reemplaza todas las variables de entorno con este objeto JSON |
| --secrets-json | opcional | Reemplaza todos los secretos con este objeto JSON. Los valores nunca se devuelven. |
| --registry-credential | opcional | UUID de la credencial de registro. Pase una cadena vacía para eliminarla. |
| --persistent-mount-path | opcional | Ruta 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ón | Descripción | |
|---|---|---|
| --account | obligatorio | UUID de la cuenta |
| --app | obligatorio | UUID 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ón | Descripción | |
|---|---|---|
| --account | obligatorio | UUID de la cuenta |
| --app | obligatorio | UUID 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ón | Descripción | |
|---|---|---|
| --account | obligatorio | UUID de la cuenta |
| --app | obligatorio | UUID 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ón | Descripción | |
|---|---|---|
| --account | obligatorio | UUID de la cuenta |
| --app | obligatorio | UUID de la app |
| --replicas | obligatorio | Nú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ón | Descripción | |
|---|---|---|
| --account | obligatorio | UUID de la cuenta |
| --app | obligatorio | UUID 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ón | Descripción | |
|---|---|---|
| --account | obligatorio | UUID de la cuenta |
| --app | obligatorio | UUID de la app |
| --revision | obligatorio | UUID 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ón | Descripción | |
|---|---|---|
| --account | obligatorio | UUID de la cuenta |
| --app | obligatorio | UUID 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ón | Descripción | |
|---|---|---|
| --account | obligatorio | UUID de la cuenta |
| --app | obligatorio | UUID 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ón | Descripción | |
|---|---|---|
| --account | obligatorio | UUID de la cuenta |
| --app | obligatorio | UUID de la app |
| --status | obligatorio | Cadena de estado objetivo, p. ej. running |
| --timeout | opcional | Segundos máximos de espera. Predeterminado: 300 |
| --interval | opcional | Intervalo 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ón | Descripción | |
|---|---|---|
| --account | obligatorio | UUID de la cuenta |
| --app | obligatorio | UUID de la app |
| --tail | opcional | Nú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ón | Descripción | |
|---|---|---|
| --account | obligatorio | UUID de la cuenta |
| --app | obligatorio | UUID de la app |
| --tail | opcional | Nú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ón | Descripción | |
|---|---|---|
| --account | obligatorio | UUID de la cuenta |
| --app | obligatorio | UUID de la app |
| --yes | obligatorio | Confirmació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ón | Descripción | |
|---|---|---|
| --account | obligatorio | UUID 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ón | Descripción | |
|---|---|---|
| --account | obligatorio | UUID de la cuenta |
container registry-credentials create
cdnctl container registry-credentials create \
--account <uuid> \
--name <name> \
--password <token> \
[--registry-url <url>] \
[--username <user>]
| Opción | Descripción | |
|---|---|---|
| --account | obligatorio | UUID de la cuenta |
| --name | obligatorio | Nombre descriptivo para esta credencial |
| --password | obligatorio | Contraseña del registro o token de acceso |
| --registry-url | opcional | URL del registro. Predeterminado: https://index.docker.io/v1/ |
| --username | opcional | Nombre 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ón | Descripción | |
|---|---|---|
| --account | obligatorio | UUID de la cuenta |
| --credential | obligatorio | UUID de la credencial obtenido de registry-credentials list |
| --yes | obligatorio | Confirmació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ón | Descripción | |
|---|---|---|
| --account | obligatorio | UUID de la cuenta |
| --app | obligatorio | UUID 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ón | Descripción | |
|---|---|---|
| --account | obligatorio | UUID de la cuenta |
| --app | obligatorio | UUID de la app |
| --plan | opcional | Código del plan de recursos. Predeterminado: starter |
| --env-prefix | opcional | Prefijo de variable de entorno para las credenciales inyectadas. Predeterminado: DB |
| --storage-mb | opcional | Tamaño de almacenamiento en MB |
| --url-scheme | opcional | Esquema 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ón | Descripción | |
|---|---|---|
| --account | obligatorio | UUID de la cuenta |
| --app | obligatorio | UUID de la app |
container addons enable-redis
cdnctl container addons enable-redis \
--account <uuid> \
--app <uuid> \
[--plan <code>] \
[--env-prefix <prefix>]
| Opción | Descripción | |
|---|---|---|
| --account | obligatorio | UUID de la cuenta |
| --app | obligatorio | UUID de la app |
| --plan | opcional | Código del plan de recursos. Predeterminado: starter |
| --env-prefix | opcional | Prefijo de variable de entorno. Predeterminado: REDIS |
container addons disable-redis
cdnctl container addons disable-redis --account <uuid> --app <uuid>
| Opción | Descripción | |
|---|---|---|
| --account | obligatorio | UUID de la cuenta |
| --app | obligatorio | UUID 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ón | Descripción | |
|---|---|---|
| --account | obligatorio | UUID de la cuenta |
| --app | obligatorio | UUID de la app |
| --plan | opcional | Código del plan de recursos. Predeterminado: starter |
| --env-prefix | opcional | Prefijo de variable de entorno para las credenciales inyectadas. Predeterminado: DATABASE |
| --storage-mb | opcional | Tamañ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ón | Descripción | |
|---|---|---|
| --account | obligatorio | UUID de la cuenta |
| --app | obligatorio | UUID de la app |
| --delete-data | opcional | Destruye permanentemente todos los datos de Postgres |
| --confirmation | opcional | Nombre 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ón | Descripción | |
|---|---|---|
| --account | obligatorio | UUID de la cuenta |
| --app | obligatorio | UUID de la app |
| --plan | opcional | Código del plan de recursos. Predeterminado: starter |
| --env-prefix | opcional | Prefijo de variable de entorno para las credenciales inyectadas. Predeterminado: NATS |
| --storage-mb | opcional | Tamañ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ón | Descripción | |
|---|---|---|
| --account | obligatorio | UUID de la cuenta |
| --app | obligatorio | UUID de la app |
| --delete-data | opcional | Destruye 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ón | Descripción | |
|---|---|---|
| --account | obligatorio | UUID de la cuenta |
| --file | obligatorio | Ruta 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ón | Descripción | |
|---|---|---|
| --account | obligatorio | UUID de la cuenta |
| --file | obligatorio | Ruta al archivo compose (máx. 256 KB) |
| --yes | obligatorio | Confirma la creación de recursos |
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ón | Descripción | |
|---|---|---|
| --account | obligatorio | UUID de la cuenta |
| --app | obligatorio | UUID 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ón | Descripción | |
|---|---|---|
| --account | obligatorio | UUID de la cuenta |
| --app | obligatorio | UUID de la app |
| --file | obligatorio | Ruta 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ón | Descripción | |
|---|---|---|
| --account | obligatorio | UUID de la cuenta |
| --app | obligatorio | UUID de la app |
| --file | obligatorio | Ruta local al archivo .tar.gz |
| --target-path | opcional | Ruta 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ón | Descripción | |
|---|---|---|
| --account | obligatorio | UUID de la cuenta |
| --app | obligatorio | UUID de la app |
| --import | obligatorio | UUID 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ón | Descripción | |
|---|---|---|
| --account | obligatorio | UUID de la cuenta |
| --app | obligatorio | UUID 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ón | Descripción | |
|---|---|---|
| --account | obligatorio | UUID de la cuenta |
| --app | obligatorio | UUID de la app |
| --name | obligatorio | Nombre de la tarea |
| --schedule | obligatorio | Expresión cron, p. ej. */30 * * * * |
| --path | obligatorio | Ruta HTTP a llamar, p. ej. /jobs/run |
| --method | opcional | Método HTTP. Predeterminado: POST |
| --secret-header-name | opcional | Nombre de la cabecera en la que enviar el token, p. ej. X-Token |
| --secret-source | opcional | Nombre del secreto de la app o variable de entorno cuyo valor se envía como valor de la cabecera |
| --enabled | opcional | Crea 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ón | Descripción | |
|---|---|---|
| --account | obligatorio | UUID de la cuenta |
| --app | obligatorio | UUID de la app |
| --job | obligatorio | UUID de la tarea obtenido de jobs list |
| --wait | opcional | Bloquea hasta que finalice la ejecución |
| --timeout | opcional | Segundos máximos de espera cuando se establece --wait. Predeterminado: 180 |
| --interval | opcional | Intervalo 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ón | Descripción | |
|---|---|---|
| --account | obligatorio | UUID de la cuenta |
| --app | obligatorio | UUID de la app |
| --job | obligatorio | UUID de la tarea obtenido de jobs list |
| --yes | obligatorio | Confirmació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ón | Descripción | |
|---|---|---|
| --account | obligatorio | UUID de la cuenta |
object-storage buckets create
cdnctl object-storage buckets create \
--account <uuid> \
--name <bucket-name> \
[--visibility private|public]
| Opción | Descripción | |
|---|---|---|
| --account | obligatorio | UUID de la cuenta |
| --name | obligatorio | Nombre del bucket (único globalmente dentro de la plataforma) |
| --visibility | opcional | private 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ón | Descripción | |
|---|---|---|
| --account | obligatorio | UUID de la cuenta |
| --bucket | obligatorio | UUID 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ón | Descripción | |
|---|---|---|
| --account | obligatorio | UUID de la cuenta |
| --bucket | obligatorio | UUID del bucket obtenido de buckets list |
| --yes | obligatorio | Confirmació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ón | Descripción | |
|---|---|---|
| --account | obligatorio | UUID de la cuenta |
| --bucket | opcional | UUID del bucket al que se limita la clave |
| --name | opcional | Nombre 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ón | Descripción | |
|---|---|---|
| --account | obligatorio | UUID de la cuenta |
| --key | obligatorio | UUID 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ón | Descripción | |
|---|---|---|
| --account | obligatorio | UUID de la cuenta |
| --key | obligatorio | UUID de la clave de acceso a revocar |
| --yes | obligatorio | Confirmació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ón | Descripción | |
|---|---|---|
| --account | obligatorio | UUID de la cuenta |
| --app | obligatorio | UUID de la app |
| --bucket | obligatorio | UUID del bucket |
| --access-key | opcional | UUID de la clave de acceso que se usará para el enlace |
| --env-prefix | opcional | Prefijo 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ón | Descripción | |
|---|---|---|
| --account | obligatorio | UUID de la cuenta |
| --app | obligatorio | UUID de la app |
| --binding | obligatorio | UUID del enlace obtenido de bindings list o de la respuesta de app show |
| --yes | obligatorio | Confirmación explícita requerida para operaciones destructivas |