Usar la CLI

Instale y use la CLI de Stackhero para gestionar sus stacks y servicios desde la línea de comandos, scripts, CI y agentes de IA

La CLI de Stackhero es una herramienta de línea de comandos ligera y autónoma que le ayuda a gestionar sus stacks y servicios directamente desde su terminal. Puede usarla para crear y eliminar servicios, acceder a credenciales, actualizar configuraciones y gestionar muchas otras tareas cotidianas.

La CLI funciona en Linux (glibc y musl), macOS y Windows. Se distribuye como un único binario sin dependencias adicionales, lo que simplifica la instalación y las actualizaciones.

Tanto si trabaja de forma interactiva como si automatiza workflows con scripts, pipelines de CI o agentes de IA, la CLI de Stackhero está diseñada tanto para personas como para la automatización. Cada comando admite la opción --format=json para una salida legible por máquina, así como --format=script cuando quiera capturar valores sin procesar en variables de shell.

Puede instalar la última versión ejecutando:

curl -fsSL https://www.stackhero.io/install.sh | sh

Este comando descarga el binario correcto para su plataforma y lo instala como stackhero. La CLI también se mantiene actualizada automáticamente.

Tiene dos opciones principales de autenticación:

stackhero login

Cuando ejecuta este comando, la CLI le proporciona una URL y también la abre automáticamente en su navegador. Desde ahí, puede aprobar el acceso directamente desde su panel de Stackhero, donde ya ha iniciado sesión.

La autenticación de dos factores es totalmente compatible, y no necesita introducir su contraseña en la CLI.

Para workflows automatizados, puede crear un token de acceso en su panel, en Account > Access tokens, y proporcionárselo a la CLI con la variable de entorno STACKHERO_TOKEN.

export STACKHERO_TOKEN="usr-xxxxxx:your-token"
stackhero organizations-list

Cuando STACKHERO_TOKEN está definido, tiene prioridad sobre las sesiones interactivas, por lo que el navegador pasa a ser opcional. Este enfoque funciona muy bien para casos de uso no interactivos. Puede revisar y revocar tokens desde su panel en cualquier momento.

Cada comando de la CLI acepta una opción global --format:

  • human (predeterminado): Muestra tablas y texto legibles para uso interactivo.
  • json: Devuelve JSON legible por máquina, lo que resulta útil para scripts y agentes de IA.
  • script: Devuelve solo el valor o los valores sin procesar, lo que facilita asignar la salida a variables de shell.

Por ejemplo:

stackhero organizations-list --format=json
stackId=$(stackhero --format=script stack-create --name="My stack")

Si quiere ver la lista completa de comandos disponibles, puede ejecutar stackhero --help. Si quiere ver detalles de un comando concreto, puede probar con stackhero COMMAND --help.

Algunos comandos de uso habitual son:

  • Organizations: organizations-list
  • Stacks: stacks-list, stack-create, stack-rename, stack-delete
  • Services: services-list, service-add, service-wait-for, service-rename, service-delete
  • Configuration: service-configuration-get, service-configuration-set, service-configuration-example
  • Store: services-store-list, instances-store-list, regions-list
  • Upgrades: service-upgrade-instances-store-list, service-upgrade-instance
  • Account: login, logout
  • Maintenance: self-update

Aquí tiene un script de ejemplo que muestra cómo puede crear un stack, añadir un servicio, esperar a que esté listo y recuperar sus credenciales. Este ejemplo es totalmente no interactivo y utiliza la variable de entorno STACKHERO_TOKEN.

#!/bin/bash
set -e

export STACKHERO_TOKEN="usr-xxxxxx:your-token"

serviceStore="directus"   # Un nombre de service store. Ver: `stackhero services-store-list`
instance="1GB"            # Un nombre de instancia (tamaño). Ver: `stackhero instances-store-list --service-store=directus`
region="europe"           # Un nombre de región. Ver: `stackhero regions-list`

# Crear un stack (usa su única organización, añada `--organization` si tiene varias)
stackId=$(stackhero --format=script stack-create \
  --name="My stack")
echo "Stack: ${stackId}"

# Añadir un servicio (los nombres se resuelven automáticamente, y el ID del stack anterior también funciona)
serviceId=$(stackhero --format=script service-add \
  --stack="My stack" \
  --service-store="${serviceStore}" \
  --instance="${instance}" \
  --region="${region}")
echo "Service: ${serviceId}"

# Esperar a que el servicio esté en ejecución
stackhero service-wait-for --service="${serviceId}"

# Recuperar credenciales y configuración
stackhero service-configuration-get --service="${serviceId}" --format=json

Cada página de documentación de servicio incluye una guía Automate with the CLI lista para usar y adaptada a ese servicio, para que tenga todo lo necesario para empezar.

La CLI se mantiene actualizada automáticamente. Si alguna vez quiere forzar una actualización manualmente, puede ejecutar:

stackhero self-update

Si quiere desinstalar la CLI, solo tiene que eliminar el binario stackhero de su sistema.