De CLI gebruiken
Installeer en gebruik de Stackhero CLI om uw stacks en services te beheren vanaf de command line, scripts, CI en AI-agents
Introductie
De Stackhero CLI is een lichte, zelfstandige command-line tool waarmee u uw stacks en services rechtstreeks vanuit uw terminal kunt beheren. U kunt deze gebruiken om services aan te maken en te verwijderen, credentials op te halen, configuraties bij te werken en veel andere dagelijkse taken uit te voeren.
De CLI werkt op Linux (glibc en musl), macOS en Windows. Deze wordt geleverd als één enkele binary zonder extra dependencies, wat installatie en updates eenvoudig maakt.
Of u nu interactief werkt of workflows automatiseert met scripts, CI-pipelines of AI-agents, de Stackhero CLI is gebouwd voor zowel mensen als automatisering. Elke opdracht ondersteunt de flag --format=json voor machineleesbare output, samen met --format=script wanneer u ruwe waarden in shell-variabelen wilt opslaan.
Installatie
U kunt de nieuwste versie installeren door het volgende uit te voeren:
curl -fsSL https://www.stackhero.io/install.sh | sh
Met deze opdracht wordt de juiste binary voor uw platform gedownload en geïnstalleerd als stackhero. De CLI houdt zichzelf ook automatisch up-to-date.
Authenticatie
U hebt twee hoofdopties voor authenticatie:
Interactieve login via de browser
stackhero login
Wanneer u deze opdracht uitvoert, geeft de CLI u een URL en opent die ook automatisch in uw browser. Van daaruit kunt u de toegang direct goedkeuren vanuit uw Stackhero-dashboard, waarop u al bent ingelogd.
Two-factor authentication wordt volledig ondersteund en u hoeft uw wachtwoord niet in de CLI in te voeren.
Niet-interactieve authenticatie voor scripts, CI en automatisering
Voor geautomatiseerde workflows kunt u in uw dashboard onder Account > Access tokens een access token aanmaken en dit via de omgevingsvariabele STACKHERO_TOKEN aan de CLI doorgeven.
export STACKHERO_TOKEN="usr-xxxxxx:your-token"
stackhero organizations-list
Wanneer STACKHERO_TOKEN is ingesteld, heeft deze voorrang op interactieve sessies, waardoor een browser optioneel is. Deze aanpak werkt goed voor niet-interactieve use cases. U kunt tokens op elk moment bekijken en intrekken vanuit uw dashboard.
Outputformaten
Elke CLI-opdracht accepteert een globale optie --format:
human(standaard): Toont leesbare tabellen en tekst voor interactief gebruik.json: Geeft machineleesbare JSON terug, wat handig is voor scripts en AI-agents.script: Geeft alleen ruwe waarde(n) terug, waardoor u de output eenvoudig aan shell-variabelen kunt toewijzen.
Bijvoorbeeld:
stackhero organizations-list --format=json
stackId=$(stackhero --format=script stack-create --name="My stack")
Overzicht van opdrachten
Als u de volledige lijst met beschikbare opdrachten wilt zien, kunt u stackhero --help uitvoeren. Als u details over een specifieke opdracht wilt, kunt u stackhero COMMAND --help proberen.
Enkele veelgebruikte opdrachten zijn:
- 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
Voorbeeld: Een service end-to-end aanmaken
Hier is een voorbeeldscript dat laat zien hoe u een stack kunt aanmaken, een service kunt toevoegen, kunt wachten tot die klaar is en de credentials kunt ophalen. Dit voorbeeld is volledig niet-interactief en gebruikt de omgevingsvariabele STACKHERO_TOKEN.
#!/bin/bash
set -e
export STACKHERO_TOKEN="usr-xxxxxx:your-token"
serviceStore="directus" # A service store name. See: `stackhero services-store-list`
instance="1GB" # An instance (size) name. See: `stackhero instances-store-list --service-store=directus`
region="europe" # A region name. See: `stackhero regions-list`
# Create a stack (uses your only organization, add `--organization` if you have several)
stackId=$(stackhero --format=script stack-create \
--name="My stack")
echo "Stack: ${stackId}"
# Add a service (names are resolved automatically, and the stack ID above also works)
serviceId=$(stackhero --format=script service-add \
--stack="My stack" \
--service-store="${serviceStore}" \
--instance="${instance}" \
--region="${region}")
echo "Service: ${serviceId}"
# Wait for the service to be running
stackhero service-wait-for --service="${serviceId}"
# Retrieve credentials and configuration
stackhero service-configuration-get --service="${serviceId}" --format=json
Elke servicedocumentatiepagina bevat een kant-en-klare gids Automate with the CLI die op die service is afgestemd, zodat u alles hebt wat u nodig hebt om aan de slag te gaan.
Updaten en verwijderen
De CLI houdt zichzelf automatisch up-to-date. Als u ooit handmatig een update wilt forceren, kunt u het volgende uitvoeren:
stackhero self-update
Als u de CLI wilt verwijderen, kunt u simpelweg de stackhero binary van uw systeem verwijderen.