CLI verwenden

Installieren und nutzen Sie die Stackhero CLI, um Ihre Stacks und Services über die Kommandozeile, Skripte, CI und KI-Agenten zu verwalten

Die Stackhero CLI ist ein leichtgewichtiges, eigenständiges Kommandozeilen-Tool, das Ihnen die Verwaltung Ihrer Stacks und Services besonders einfach macht. Damit können Sie Services erstellen und löschen, Zugangsdaten abrufen, Konfigurationen aktualisieren und vieles mehr – alles direkt aus Ihrem Terminal heraus. Die CLI ist kompatibel mit Linux (glibc und musl), macOS und Windows und wird als einzelne, abhängigkeitsfreie Binärdatei ausgeliefert, was Installation und Updates unkompliziert macht.

Egal, ob Sie interaktiv arbeiten oder Abläufe mit Skripten, CI-Pipelines oder KI-Agenten automatisieren: Die Stackhero CLI ist sowohl für Menschen als auch für Automatisierung konzipiert. Jeder Befehl unterstützt das Flag --format=json für maschinenlesbare Ausgaben sowie --format=script, um Rohwerte direkt in Shell-Variablen zu übernehmen.

Sie können die aktuelle Version installieren, indem Sie folgenden Befehl ausführen:

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

Dieser Befehl lädt das passende Binary für Ihre Plattform herunter und installiert es als stackhero. Die CLI kümmert sich außerdem automatisch um ihre eigenen Updates.

Für die Authentifizierung stehen Ihnen zwei Hauptoptionen zur Verfügung:

stackhero login

Wenn Sie diesen Befehl ausführen, erhalten Sie eine URL (die sich auch automatisch in Ihrem Browser öffnet). Dort können Sie den Zugriff direkt über Ihr Stackhero-Dashboard genehmigen, in dem Sie bereits angemeldet sind. Zwei-Faktor-Authentifizierung wird vollständig unterstützt und Sie müssen Ihr Passwort nie in der CLI eingeben.

Für automatisierte Workflows können Sie im Dashboard ein Access Token erstellen (Account > Access tokens) und dieses der CLI über die Umgebungsvariable STACKHERO_TOKEN bereitstellen.

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

Wenn STACKHERO_TOKEN gesetzt ist, hat es Vorrang vor interaktiven Sitzungen – ein Browser ist dann nicht erforderlich. Dies ist die empfohlene Methode für nicht-interaktive Anwendungsfälle. Sie können Tokens jederzeit im Dashboard einsehen und widerrufen.

Jeder Befehl der CLI akzeptiert die globale Option --format:

  • human (Standard): Gibt lesbare Tabellen und Text für die interaktive Nutzung aus.
  • json: Gibt maschinenlesbares JSON aus, ideal für Skripte und KI-Agenten.
  • script: Gibt nur Rohwert(e) zurück, sodass Sie die Ausgabe einfach Shell-Variablen zuweisen können.

Beispiel:

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

Für eine vollständige Liste aller verfügbaren Befehle führen Sie stackhero --help aus. Für detaillierte Informationen zu einem bestimmten Befehl verwenden Sie stackhero BEFEHL --help.

Einige häufig genutzte Befehle sind:

  • 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

Das folgende Beispielskript zeigt, wie Sie einen Stack erstellen, einen Service hinzufügen, warten bis dieser bereit ist und anschließend die Zugangsdaten abrufen. Dieses Beispiel ist vollständig nicht-interaktiv und nutzt die Umgebungsvariable STACKHERO_TOKEN.

#!/bin/bash
set -e

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

organizationId="org-xxxxxx"
serviceStoreId="svs-xxxxxx"   # Sie können dies mit folgendem Befehl herausfinden: stackhero services-store-list --organization-id=org-xxxxxx
instanceStoreId="ist-xxxxxx"  # Sie können dies mit folgendem Befehl herausfinden: stackhero instances-store-list --organization-id=org-xxxxxx --service-store-id=svs-xxxxxx
regionId="europe"             # Sie können dies mit folgendem Befehl herausfinden: stackhero regions-list

# Stack erstellen
stackId=$(stackhero --format=script stack-create \
  --organization-id="${organizationId}" \
  --name="My stack")
echo "Stack: ${stackId}"

# Service hinzufügen
serviceId=$(stackhero --format=script service-add \
  --stack-id="${stackId}" \
  --service-store-id="${serviceStoreId}" \
  --instance-store-id="${instanceStoreId}" \
  --region-id="${regionId}")
echo "Service: ${serviceId}"

# Warten, bis der Service läuft
stackhero service-wait-for --service-id="${serviceId}"

# Zugangsdaten und Konfiguration abrufen
stackhero service-configuration-get --service-id="${serviceId}" --format=json

Die Dokumentation jedes Services enthält einen einsatzbereiten Leitfaden "Automatisieren mit der CLI", der speziell auf diesen Service zugeschnitten ist. So haben Sie alles, was Sie für den Einstieg benötigen.

Die CLI aktualisiert sich automatisch. Falls Sie ein Update manuell erzwingen möchten, führen Sie folgenden Befehl aus:

stackhero self-update

Wenn Sie die CLI deinstallieren möchten, löschen Sie einfach das stackhero-Binary von Ihrem System.