Referencia
Referencia de la CLI
codaracloud controla la plataforma desde un terminal. Solo habla con la API HTTP: nunca necesita credenciales del clúster.
Instalación
Los instaladores descargan un binario precompilado para tu plataforma y lo verifican con el SHA-256 publicado en el manifiesto de releases /v1/cli/manifest antes de instalar nada. Ninguno usa sudo ni permisos de administrador.
$ curl -fsSL https://console.codaracloud.com/v1/cli/install.sh | shirm https://console.codaracloud.com/v1/cli/install.ps1 | iexEn macOS y Linux se instala en ~/.local/bin; define CODARA_INSTALL_DIR para elegir otro directorio. En Windows se instala en %LOCALAPPDATA% y se añade al PATH de tu usuario. Si tienes en el PATH un binario codara o paasctl de una release anterior, elimínalo: el comando ha pasado a llamarse codaracloud.
Mantenerla al día
La CLI se actualiza sola. Como mucho una vez al día, un comando ejecutado en un terminal instala una release firmada más reciente, verificada igual que con los instaladores, y lo indica en una línea; la siguiente ejecución ya la usa. Nunca lo hace cuando la salida no es un terminal ni cuando CI está definida. Define CODARA_NO_AUTO_UPDATE=1 para desactivarlo; la antigua CODARA_NO_UPDATE_CHECK=1 también sigue funcionando.
$ codaracloud update # install the published release now (alias: upgrade)$ codaracloud update --check # only report whether one is newerCompilar desde el código fuente
Con el repositorio clonado y un toolchain de Go reciente:
$ cd cli$ make build# then put the resulting binary on your PATH$ codaracloud versionAutocompletado de la shell
$ codaracloud completion zsh > "${fpath[1]}/_codaracloud"$ codaracloud completion bash > /etc/bash_completion.d/codaracloudIniciar sesión
$ codaracloud login # approve in your browser$ codaracloud whoami # confirm who you are$ codaracloud logoutlogin muestra un código y abre console.codaracloud.com/auth/cli, donde lo apruebas con tu cuenta de Codara Cloud (inicio de sesión con GitHub o Google). En una máquina remota, define CODARA_NO_BROWSER=1 para que solo muestre la URL.
La credencial se guarda en el llavero del sistema operativo o, si no está disponible, en ~/.config/codara/config.yaml (modo 0600). Caduca a los 7 días: para uso desatendido, crea un token de API y pásalo en CODARA_TOKEN. Consulta Obtener acceso.
Las credenciales se buscan en este orden:
--token flag → $CODARA_TOKEN → OS keyring → config fileSolo login, logout, update (o upgrade), version, completion, help y open dashboard funcionan sin credencial.
Flags globales
| Flag | Por defecto | Para qué sirve |
|---|---|---|
| -o, --output | table | Formato de salida: table, json o yaml. |
| --api | console.codaracloud.com | URL base de la API. También se puede definir con CODARA_API. |
| --token | — | Usa esta credencial en lugar de la guardada. |
| --debug | false | Registro detallado de las peticiones. |
-o json devuelve el array tal cual
codaracloud apps list -o json | jq '.[].name' funciona tal como está escrito.Ámbito de los comandos
La mayoría de los comandos aceptan --client, --project y --env. --client recibe el slug de un espacio de trabajo; el flag conserva el nombre antiguo que la API usa para los espacios de trabajo. Si los omites, se usan tu espacio de trabajo por defecto y el entorno production.
Dos trampas habituales
- No hay contexto persistente: no existe ningún comando
usenicontext. Tienes que repetir el ámbito en cada ejecución. - Los flags de ámbito no están en todos los comandos.
apps get,env,domains,logsymetricsno aceptan ninguno y siempre usan el espacio de trabajo por defecto yproduction.jobsusa--environmenten lugar de--env.
Autenticación y tokens
| Comando | Descripción |
|---|---|
| login | Inicia sesión con tu cuenta de Codara Cloud en el navegador. |
| logout | Borra la credencial guardada. |
| whoami | Muestra el usuario actual y sus espacios de trabajo. |
| token list | Lista tus tokens de API. |
| token create <name> | Crea un token. El secreto se muestra una sola vez.--scopes --expires-in-days |
| token revoke <id> | Revoca un token. |
Apps
| Comando | Descripción |
|---|---|
| apps list | Lista las apps con su estado, URL y origen.--client |
| apps get <app> | Muestra una app en detalle. |
| apps create <name> | Crea una app a partir de un repositorio de GitHub. --project es obligatorio salvo que el espacio de trabajo tenga exactamente un proyecto. Fíjate en --env-slug para el entorno: en este comando, --env lleva variables de entorno. --dormant escribe de forma atómica cero réplicas y una política que solo la duerme de forma manual, así que no arranca ningún pod provisional antes de que la configuración esté completa.--client --project --env-slug --repo --branch --dockerfile --root-directory --watch-path --build-arg --env --replicas --port --private --dormant --manual-deploys |
| apps update <app> | Cambia el runtime, el origen o la política de deploy. Requiere al menos un flag.--client --project --env --port --replicas --cpu --memory --autosize --pin-resources --branch --root-directory --dockerfile --watch-path --clear-watch-paths --build-arg --clear-build-args --auto-deploy --manual-deploys |
| apps delete <app> | Elimina una app tras confirmarlo explícitamente con force. Con ella se eliminan su historial de releases en la plataforma y los recursos de runtime que le pertenecen.--client --project --env --force |
| apps image <app> <ref> | Despliega una nueva referencia de imagen o vuelve a descargar la actual.--client --project --env |
| apps sleep <app> | Escala a cero ahora. |
| apps wake <app> | La despierta ahora. |
| apps autosleep <app> | Configura cuándo se duerme automáticamente.--enabled / --disabled --mode --idle-after --wake-on-http --min-when-awake |
| apps registry status <app> | Muestra si hay credenciales de un registro privado configuradas.--client --project --env |
| apps registry set <app> | Define o rota las credenciales del registro. La contraseña solo se lee desde stdin.--client --project --env --username --password-stdin --server |
| apps registry remove <app> | Elimina las credenciales del registro.--client --project --env --confirm |
| apps connections list <app> | Lista las bases de datos conectadas a la app.--client --env |
| apps connections add <app> <db> | Conecta una base de datos e inyecta sus credenciales.--client --env --as --keys |
| apps connections rm <app> <db> | Desconecta una base de datos.--client --env |
apps create no lanza el primer build
codaracloud deploy <app> --source o usa el asistente de deploy de la consola, que crea la app y lanza su primer build en un solo paso.Deploys
| Comando | Descripción |
|---|---|
| deploy <app> | Reinicia la imagen actual o, si indicas alguno de estos flags, hace el build de una revisión del código.--client --project --env --source --branch --commit |
| deploys list <app> | Historial de deploys, del más reciente al más antiguo.--client --project --env |
| deploys cancel <app> <id> | Cancela un build antes de que se promueva.--client --project --env --confirm |
| rollback <app> | Vuelve a publicar la imagen de un deploy anterior: uno de los 10 últimos deploys completados con éxito de la app, mientras su imagen siga existiendo.--client --project --env --to-deploy |
| promote <app> | Promueve una release a otro entorno sin volver a hacer el build.--client --project --from-deploy --from-env --to-env |
deploy sin flags no hace build
--source, --branch ni --commit, deploy solo reinicia la imagen en marcha.Configuración
| Comando | Descripción |
|---|---|
| env list <app> | Lista las variables con los valores enmascarados. |
| env get <app> <key> | Muestra un valor. Queda registrado en la auditoría. |
| env set <app> KEY=VAL… | Define variables o importa en bloque un archivo .env.--from-file |
| env unset <app> <key>… | Elimina variables. |
| env export <app> | Vuelca todos los valores en formato .env. Queda registrado en la auditoría. |
| shared-vars list | Variables compartidas por todo el entorno.--client --project --env |
| shared-vars get <key> | Muestra un valor compartido.--client --project --env |
| shared-vars set KEY=VAL… | Define valores compartidos y los servicios que los reciben.--client --project --env --service --all-services |
| shared-vars bind <key> | Cambia qué servicios reciben un valor compartido.--client --project --env --service --all-services --clear |
| shared-vars unset <key>… | Elimina valores compartidos.--client --project --env |
| shared-vars reconcile | Reintenta la proyección tras un fallo parcial.--client --project --env |
Bases de datos
| Comando | Descripción |
|---|---|
| databases list | Lista las bases de datos.--client --project --env --all |
| databases create <name> | Crea una base de datos.--client --project --env --engine/--kind --tier --isolation --region --version --storage-size --pooler-transaction |
| databases connection <name> | Muestra los datos de conexión, enmascarados por defecto.--client --project --env --reveal --url-only |
| databases proxy <name> | Abre un túnel local a través de la plataforma.--client --project --env --local-port |
| databases connect <name> | Muestra cómo hacer un port-forward (para ejecutarlo necesitas acceso al clúster).--client --project --env |
| databases upgrade <name> | Cambia el nivel, las réplicas, el almacenamiento o el pooling.--client --project --env --tier --replicas --storage-size --pooler-transaction --no-pooler-transaction |
| databases backup <name> | Hace una copia de seguridad ahora (PostgreSQL y Redis dedicado).--client --project --env --wait |
| databases restore <name> | Restaura una copia de seguridad en una base de datos nueva.--client --project --env --from --as |
| databases delete <name> | Elimina una base de datos.--client --project --env --confirm |
Almacenamiento
| Comando | Descripción |
|---|---|
| volumes list <app> | Discos conectados y datos conservados de discos desconectados.--client --project --env --json |
| volumes purge <app> <name> | Elimina para siempre un disco conservado tras confirmar su nombre exacto.--confirm --client --project --env |
| volumes add <app> | Conecta un volumen persistente.--client --project --env --name --mount --size --storage-class |
| volumes grow <app> <name> | Amplía un volumen. No se puede reducir.--client --project --env --size |
| volumes remove <app> <name> | Desconecta un volumen y conserva los datos.--client --project --env |
Dominios, logs y métricas
| Comando | Descripción |
|---|---|
| domains list <app> | Hostnames asociados a una app. |
| domains add <app> <host> | Asocia un hostname. |
| domains remove <app> <host> | Quita un hostname. |
| logs <app> | Salida reciente del runtime. --follow consulta cada 2 segundos.-f/--follow --tail |
| metrics <app> | CPU, memoria, réplicas y reinicios.--window |
| open <app|dashboard> | Lo abre en tu navegador. |
Espacios de trabajo, proyectos y jobs
| Comando | Descripción |
|---|---|
| clients list | Lista los espacios de trabajo. workspaces es un alias de clients. |
| clients create <slug> | Crea un espacio de trabajo vacío.--contact-email --contact-name |
| projects create <project> | Crea un proyecto y su entorno de producción.--client --name --description |
| clients edit <slug> | Actualiza los datos de contacto.--name --contact-email --contact-name --notes |
| projects list | Lista los proyectos de un espacio de trabajo.--client |
| projects update <project> | Cambia el nombre de un proyecto o su política de previews.--client --name --description --automatic-previews --preview-source |
| projects inventory <project> | La lista de comprobación para eliminarlo: cada app (con los datos de sus volúmenes), base de datos, job, bucket y almacenamiento conservado que siga dentro, con el comando que elimina cada uno.--client |
| projects delete <project> | Elimina un proyecto y sus entornos. Muestra la lista de comprobación y se niega mientras quede algo: se elimina de abajo arriba y nunca borra datos en cascada.--client --confirm <project> |
| jobs list | Lista los jobs.--client --project --environment |
| jobs get <job> | Muestra un job.--client --project --environment |
| jobs create <name> | Crea un job puntual, o uno programado con --schedule.--client --project --environment --image --command --arg --schedule --secret-file --egress-allow --cpu --memory |
| jobs rerun <job> | Vuelve a ejecutar un job guardado y conserva el historial anterior.--client --project --environment --secret-file |
| jobs stop <job> | Detiene un job puntual en ejecución.--client --project --environment --wait |
| jobs delete <job> | Elimina un job y su ejecución conservada.--client --project --environment --yes |
| jobs image <job> <reference> | Cambia la imagen OCI que usarán las próximas ejecuciones programadas.--client --project --environment |
| jobs logs <job> | Salida conservada del job.--client --project --environment --tail |
Comandos solo para el equipo de Codara
cost, usage y los comandos de clients para límites de gasto y facturas son para el equipo de Codara. La plataforma los rechaza en las cuentas de clientes, así que no aparecen aquí. Tu plan y tus facturas están en Cuenta y organización → Facturación y uso.Lo que no tiene un comando propio
codaracloud api <METHOD> </v1/path> hace una llamada directa y autenticada a la API para todo lo que no tiene un comando, como los buckets y los logs de build. Para importar datos a una base de datos, abre un túnel local con codaracloud databases proxy <name> y conéctate a él con tu cliente habitual. El estado del DNS y del certificado de un dominio se ve en la consola.
Variables de entorno
| Variable | Efecto |
|---|---|
| CODARA_TOKEN | Credencial que se usa. |
| CODARA_API | URL base de la API. |
| CODARA_CONFIG | Ruta al archivo de configuración. |
| CODARA_NO_KEYRING | Omite el llavero del sistema y usa el archivo de configuración. |
| CODARA_NO_BROWSER | No intenta nunca abrir un navegador. |
| CODARA_NO_AUTO_UPDATE | Ponla a 1 para desactivar las actualizaciones automáticas. |
Las escrituras fallidas no se reintentan
Última actualización:
