Usar la CLI

Cómo usar la CLI de Stackhero

Nota: La CLI de Stackhero no está disponible públicamente en este momento. Si desea acceder a ella, no dude en enviarnos un correo electrónico a support@stackhero.io.

La CLI (Interfaz de Línea de Comandos) de Stackhero es una herramienta versátil diseñada para simplificar la gestión de stacks y servicios. Compatible con plataformas Linux, macOS y Windows, ofrece una amplia gama de funcionalidades adaptadas para desarrolladores y administradores de sistemas.

Actualmente en su fase beta, la CLI está en desarrollo activo. Se lanzan actualizaciones regularmente para incorporar nuevas características y abordar los comentarios de los usuarios. Si tiene alguna sugerencia o encuentra problemas, su opinión es muy apreciada.

Para autenticarse con su cuenta de Stackhero, puede usar este comando:

./stackhero login

Ejecutar este comando le pedirá que ingrese su correo electrónico y contraseña, conectándolo de manera segura a su cuenta.

Aquí tiene un script de ejemplo para ayudarle a crear un nuevo stack, agregar un servicio Node.js y configurar el acceso usando su clave pública SSH:

Antes de ejecutar este script, asegúrese de tener su ID de organización. Puede encontrarlo ejecutando ./stackhero organizations-list y estableciendo el ID resultante en la variable organizationId del script.

#!/bin/bash

# Salir del script si falla algún comando
set -e

# Recupere su ID de organización usando "./stackhero organizations-list"
# Reemplace el marcador de posición a continuación con el ID real
organizationId="org-XXXXXX"

# Definir los parámetros del stack y del servicio
stackName="Mi Nuevo Stack"
serviceStoreId="svs-jx7xob"
instanceStoreId="ist-4a63fd"

# Preparar la configuración de Node.js
sshKey=$(cat ~/.ssh/id_rsa.pub)
configuration="{ \"sshPublicKeys\": [ { \"label\": \"\", \"key\": \"${sshKey}\" } ]}"

# Crear el nuevo stack
echo "Creando stack..."
stackId=$(./stackhero --format=script stack-create \
  --organization-id="${organizationId}" \
  --name="${stackName}")
echo "El stack fue creado con el ID ${stackId}"
echo ""

echo "Agregando servicio..."
serviceId=$(./stackhero --format=script service-add \
  --stack-id=${stackId} \
  --service-store-id=${serviceStoreId} \
  --instance-store-id=${instanceStoreId})
echo "El servicio ha sido agregado con el ID ${serviceId}"
echo ""

# Esperar a que el servicio esté operativo
echo "Esperando a que el servicio esté en funcionamiento (~2 minutos)..."
./stackhero --format=script service-wait-for \
  --service-id=${serviceId}
echo ""

# Configurar el nuevo servicio
echo "Configurando el servicio..."
./stackhero --format=script service-configuration-set \
  --service-id=${serviceId} \
  --configuration="${configuration}"
echo ""

# Finalizar y confirmar la configuración
echo "Esperando a que el servicio finalice la configuración..."
./stackhero --format=script service-wait-for \
  --service-id=${serviceId}
echo ""

echo "Configuración completa. El nuevo stack está listo para producción."

Guarde este script con un nombre de archivo como miPrimeraAutomatizacion.sh. Para hacerlo ejecutable, puede usar el siguiente comando:

chmod +x miPrimeraAutomatizacion.sh

Finalmente, ejecute el script con:

./miPrimeraAutomatizacion.sh

Una vez ejecutado con éxito, debería ver una salida como esta:

Creando stack...
El stack fue creado con el ID stk-XXXXXX

Agregando servicio...
El servicio ha sido agregado con el ID svc-XXXXXX

Esperando a que el servicio esté en funcionamiento (~2 minutos)...
ok

Configurar el servicio
ok

Esperando a que el servicio esté en funcionamiento...
ok

Todo listo, el nuevo stack está listo para producción