Utiliser la CLI

Comment utiliser la CLI de Stackhero

Note : La CLI Stackhero n'est actuellement pas disponible publiquement. Si vous souhaitez y accéder, n'hésitez pas à nous contacter par e-mail à support@stackhero.io.

La CLI (Command Line Interface) Stackhero est un outil polyvalent conçu pour simplifier la gestion des stacks et des services. Compatible avec les plateformes Linux, macOS et Windows, elle offre une large gamme de fonctionnalités adaptées aux développeurs et aux administrateurs système.

Actuellement en phase bêta, la CLI est en développement actif. Des mises à jour sont régulièrement déployées pour intégrer de nouvelles fonctionnalités et répondre aux retours des utilisateurs. Si vous avez des suggestions ou rencontrez des problèmes, vos retours sont grandement appréciés.

Pour vous authentifier avec votre compte Stackhero, vous pouvez utiliser cette commande :

./stackhero login

L'exécution de cette commande vous invitera à entrer votre e-mail et votre mot de passe, vous connectant ainsi de manière sécurisée à votre compte.

Voici un script exemple pour vous aider à créer un nouveau stack, y ajouter un service Node.js et configurer l'accès à l'aide de votre clé publique SSH :

Avant d'exécuter ce script, assurez-vous de disposer de votre ID d'organisation. Vous pouvez le trouver en exécutant ./stackhero organizations-list et en définissant l'ID obtenu dans la variable organizationId du script.

#!/bin/bash

# Quitter le script si une commande échoue
set -e

# Récupérez votre ID d'organisation en utilisant "./stackhero organizations-list"
# Remplacez le placeholder ci-dessous par l'ID réel
organizationId="org-XXXXXX"

# Définir les paramètres du stack et du service
stackName="Mon Nouveau Stack"
serviceStoreId="svs-jx7xob"
instanceStoreId="ist-4a63fd"

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

# Créer le nouveau stack
echo "Création du stack..."
stackId=$(./stackhero --format=script stack-create \
  --organization-id="${organizationId}" \
  --name="${stackName}")
echo "Le stack a été créé avec l'ID ${stackId}"
echo ""

echo "Ajout du service..."
serviceId=$(./stackhero --format=script service-add \
  --stack-id=${stackId} \
  --service-store-id=${serviceStoreId} \
  --instance-store-id=${instanceStoreId})
echo "Le service a été ajouté avec l'ID ${serviceId}"
echo ""

# Attendre que le service soit opérationnel
echo "Attente que le service soit opérationnel (~2 minutes)..."
./stackhero --format=script service-wait-for \
  --service-id=${serviceId}
echo ""

# Configurer le nouveau service
echo "Configuration du service..."
./stackhero --format=script service-configuration-set \
  --service-id=${serviceId} \
  --configuration="${configuration}"
echo ""

# Finaliser et confirmer la configuration
echo "Attente de la finalisation de la configuration du service..."
./stackhero --format=script service-wait-for \
  --service-id=${serviceId}
echo ""

echo "Configuration terminée. Le nouveau stack est prêt pour la production."

Enregistrez ce script sous un nom de fichier tel que monPremierAutomatisation.sh. Pour le rendre exécutable, vous pouvez utiliser la commande suivante :

chmod +x monPremierAutomatisation.sh

Enfin, exécutez le script avec :

./monPremierAutomatisation.sh

Une fois exécuté avec succès, vous devriez voir une sortie similaire à celle-ci :

Création du stack...
Le stack a été créé avec l'ID stk-XXXXXX

Ajout du service...
Le service a été ajouté avec l'ID svc-XXXXXX

Attente que le service soit opérationnel (~2 minutes)...
ok

Configurer le service
ok

Attente que le service soit opérationnel...
ok

Tout est prêt, le nouveau stack est prêt pour la production