Die CLI verwenden

Installieren und verwenden 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, mit dem Sie Ihre Stacks und Services direkt über Ihr Terminal verwalten können. Sie können es verwenden, um Services zu erstellen und zu löschen, auf Zugangsdaten zuzugreifen, Konfigurationen zu aktualisieren und viele andere alltägliche Aufgaben zu erledigen.

Die CLI funktioniert unter Linux (glibc und musl), macOS und Windows. Sie wird als einzelne Binärdatei ohne zusätzliche Abhängigkeiten bereitgestellt, was die Installation und Updates einfach macht.

Unabhängig davon, ob Sie interaktiv arbeiten oder Workflows mit Skripten, CI-Pipelines oder KI-Agenten automatisieren, ist die Stackhero CLI sowohl für Menschen als auch für die Automatisierung ausgelegt. Jeder Befehl unterstützt das Flag --format=json für maschinenlesbare Ausgabe sowie --format=script, wenn Sie Rohwerte in Shell-Variablen übernehmen möchten.

Sie können die neueste Version installieren, indem Sie Folgendes ausführen:

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

Dieser Befehl lädt die passende Binärdatei für Ihre Plattform herunter und installiert sie als stackhero. Die CLI hält sich außerdem automatisch auf dem neuesten Stand.

Sie haben zwei Hauptoptionen für die Authentifizierung:

stackhero login

Wenn Sie diesen Befehl ausführen, gibt Ihnen die CLI eine URL aus und öffnet sie außerdem automatisch in Ihrem Browser. Dort können Sie den Zugriff direkt über Ihr Stackhero-Dashboard freigeben, in dem Sie bereits angemeldet sind.

Die Zwei-Faktor-Authentifizierung wird vollständig unterstützt, und Sie müssen Ihr Passwort nicht in der CLI eingeben.

Für automatisierte Workflows können Sie in Ihrem Dashboard unter Account > Access tokens ein Access Token erstellen und es 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, sodass ein Browser optional ist. Dieser Ansatz eignet sich gut für nicht-interaktive Anwendungsfälle. Sie können Tokens jederzeit in Ihrem Dashboard einsehen und widerrufen.

Jeder CLI-Befehl akzeptiert eine globale Option --format:

  • human (Standard): Zeigt lesbare Tabellen und Text für die interaktive Nutzung an.
  • json: Gibt maschinenlesbares JSON zurück, was für Skripte und KI-Agenten hilfreich ist.
  • script: Gibt nur Rohwert(e) zurück, was die Zuweisung der Ausgabe an Shell-Variablen erleichtert.

Zum Beispiel:

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

Wenn Sie die vollständige Liste der verfügbaren Befehle sehen möchten, können Sie stackhero --help ausführen. Wenn Sie Details zu einem bestimmten Befehl möchten, können Sie stackhero COMMAND --help verwenden.

Einige häufig verwendete 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

Hier ist ein Beispielskript, das zeigt, wie Sie einen Stack erstellen, einen Service hinzufügen, warten, bis er bereit ist, und seine Zugangsdaten abrufen. Dieses Beispiel ist vollständig nicht-interaktiv und verwendet die Umgebungsvariable 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

Jede Service-Dokumentationsseite enthält eine sofort einsatzbereite Anleitung Automate with the CLI, die auf den jeweiligen Service zugeschnitten ist, damit Sie alles haben, was Sie für den Einstieg benötigen.

Die CLI hält sich automatisch auf dem neuesten Stand. Wenn Sie jemals manuell ein Update erzwingen möchten, können Sie Folgendes ausführen:

stackhero self-update

Wenn Sie die CLI deinstallieren möchten, können Sie einfach die Binärdatei stackhero von Ihrem System löschen.