Utilizar a CLI

Como utilizar a CLI da Stackhero

Nota: A CLI da Stackhero não está atualmente disponível publicamente. Se desejar aceder a ela, sinta-se à vontade para nos enviar um email para support@stackhero.io.

A CLI (Interface de Linha de Comando) da Stackhero é uma ferramenta versátil projetada para simplificar a gestão de stacks e serviços. Compatível com as plataformas Linux, macOS e Windows, oferece uma ampla gama de funcionalidades adaptadas para desenvolvedores e administradores de sistemas.

Atualmente em fase beta, a CLI está em desenvolvimento ativo. As atualizações são lançadas regularmente para incorporar novas funcionalidades e responder ao feedback dos utilizadores. Se tiver sugestões ou encontrar problemas, o seu contributo é muito apreciado.

Para se autenticar com a sua conta Stackhero, pode usar este comando:

./stackhero login

Executar este comando irá solicitar que insira o seu email e palavra-passe, conectando-o de forma segura à sua conta.

Aqui está um script de exemplo para o ajudar a criar um novo stack, adicionar um serviço Node.js e configurar o acesso usando a sua chave pública SSH:

Antes de executar este script, certifique-se de ter o seu ID de organização. Pode encontrá-lo executando ./stackhero organizations-list e definindo o ID resultante na variável organizationId no script.

#!/bin/bash

# Sair do script se algum comando falhar
set -e

# Recupere o seu ID de organização usando "./stackhero organizations-list"
# Substitua o placeholder abaixo pelo ID real
organizationId="org-XXXXXX"

# Definir parâmetros do stack e do serviço
stackName="Meu Novo Stack"
serviceStoreId="svs-jx7xob"
instanceStoreId="ist-4a63fd"

# Preparar a configuração do Node.js
sshKey=$(cat ~/.ssh/id_rsa.pub)
configuration="{ \"sshPublicKeys\": [ { \"label\": \"\", \"key\": \"${sshKey}\" } ]}"

# Criar o novo stack
echo "A criar stack..."
stackId=$(./stackhero --format=script stack-create \
  --organization-id="${organizationId}" \
  --name="${stackName}")
echo "O stack foi criado com o ID ${stackId}"
echo ""

echo "A adicionar serviço..."
serviceId=$(./stackhero --format=script service-add \
  --stack-id=${stackId} \
  --service-store-id=${serviceStoreId} \
  --instance-store-id=${instanceStoreId})
echo "O serviço foi adicionado com o ID ${serviceId}"
echo ""

# Aguardar que o serviço esteja operacional
echo "A aguardar que o serviço esteja a funcionar (~2 minutos)..."
./stackhero --format=script service-wait-for \
  --service-id=${serviceId}
echo ""

# Configurar o novo serviço
echo "A configurar o serviço..."
./stackhero --format=script service-configuration-set \
  --service-id=${serviceId} \
  --configuration="${configuration}"
echo ""

# Finalizar e confirmar configuração
echo "A aguardar a finalização da configuração do serviço..."
./stackhero --format=script service-wait-for \
  --service-id=${serviceId}
echo ""

echo "Configuração concluída. O novo stack está pronto para produção."

Guarde este script com um nome de ficheiro como minhaPrimeiraAutomatizacao.sh. Para o tornar executável, pode usar o seguinte comando:

chmod +x minhaPrimeiraAutomatizacao.sh

Finalmente, execute o script com:

./minhaPrimeiraAutomatizacao.sh

Uma vez executado com sucesso, deverá ver uma saída semelhante a esta:

A criar stack...
O stack foi criado com o ID stk-XXXXXX

A adicionar serviço...
O serviço foi adicionado com o ID svc-XXXXXX

A aguardar que o serviço esteja a funcionar (~2 minutos)...
ok

Configurar o serviço
ok

A aguardar que o serviço esteja a funcionar...
ok

Tudo pronto, o novo stack está pronto para produção