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
Einführung
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.
Installation
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.
Authentifizierung
Sie haben zwei Hauptoptionen für die Authentifizierung:
Interaktive browserbasierte Anmeldung
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.
Nicht-interaktive Authentifizierung für Skripte, CI und Automatisierung
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.
Ausgabeformate
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")
Überblick über die Befehle
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
Beispiel: Einen Service von Anfang bis Ende erstellen
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.
Aktualisieren und deinstallieren
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.