Sobre el proyecto

doctl es la interfaz de línea de comandos oficial de la API de DigitalOcean. Expone los recursos de nube de DigitalOcean mediante subcomandos, de modo que la infraestructura se puede listar, crear y gestionar desde una terminal en lugar del panel de control. Los grupos de comandos cubren aplicaciones de 1 clic, detalles de la cuenta, apps, autenticación, saldo, historial de facturación, cómputo (infraestructura como Droplets, dominios, IP flotantes, firewalls, balanceadores de carga y almacenamiento en bloque), bases de datos, facturas, clústeres y configuraciones de Kubernetes, monitoreo (marcado como beta), proyectos, registros de contenedores y VPC. Un comando completion genera scripts de autocompletado de shell, y un comando version informa la compilación instalada. Las banderas globales incluyen un token de acceso, una anulación de la URL de la API, un archivo de configuración personalizado, un nombre de contexto de autenticación, selección del formato de salida entre texto y json, un rastreo de actividad de red y salida detallada. Las opciones de instalación incluyen gestores de paquetes como Homebrew en macOS, Snap, los repositorios de Arch Linux y Fedora, y Nixpkgs, además de imágenes de Docker Hub, archivos de lanzamiento precompilados desde GitHub y compilación desde el código fuente con un entorno Go. Los lanzamientos beta se etiquetan por separado y se pueden instalar con go install, compilar desde el código fuente o descargar como archivos precompilados; los gestores de paquetes instalan solo lanzamientos de disponibilidad general. La autenticación utiliza un token de acceso de DigitalOcean creado en el panel de control. El comando auth init almacena las credenciales y crea el archivo de configuración. Se admiten varias cuentas mediante contextos de autenticación con nombre, con un contexto predeterminado y la capacidad de cambiar o anular contextos por comando. La bandera de token de acceso y la variable de entorno se aplican solo al contexto predeterminado. La configuración se almacena en un archivo config.yaml específico de la plataforma, y los valores predeterminados de las banderas se pueden establecer allí usando un formato categoría.comando.sub-comando.bandera, por ejemplo para cambiar el usuario SSH predeterminado. Las variables de entorno como DIGITALOCEAN_CONTEXT y DIGITALOCEAN_ACCESS_TOKEN pueden anular la configuración de una sesión. El autocompletado de shell está disponible para Bash, ZSH y fish, aunque no en Windows. Se proporcionan instrucciones de desinstalación para Homebrew, incluida la eliminación del directorio de configuración. Los ejemplos del README muestran cómo listar y crear Droplets, asignar una IP flotante, crear un registro A de DNS y conectarse por SSH mediante el nombre del Droplet con un usuario opcional. El README también enlaza a la documentación de referencia completa y a tutoriales de la comunidad sobre balanceadores de carga, firewalls en la nube y almacenamiento en bloque.