Używanie CLI
Zainstaluj i używaj Stackhero CLI do zarządzania swoimi stackami i usługami z poziomu wiersza poleceń, skryptów, CI i agentów AI
Wprowadzenie
Stackhero CLI to lekkie, samodzielne narzędzie wiersza poleceń, które pomaga zarządzać stackami i usługami bezpośrednio z terminala. Można go używać do tworzenia i usuwania usług, uzyskiwania dostępu do poświadczeń, aktualizowania konfiguracji oraz wykonywania wielu innych codziennych zadań.
CLI działa na Linuxie (glibc i musl), macOS oraz Windows. Jest dostarczane jako pojedynczy plik binarny bez dodatkowych zależności, co upraszcza instalację i aktualizacje.
Niezależnie od tego, czy pracujesz interaktywnie, czy automatyzujesz workflow za pomocą skryptów, pipeline'ów CI lub agentów AI, Stackhero CLI zostało stworzone zarówno dla ludzi, jak i do automatyzacji. Każde polecenie obsługuje flagę --format=json dla danych wyjściowych czytelnych maszynowo, a także --format=script, gdy chcesz przechwycić surowe wartości do zmiennych shell.
Instalacja
Najnowszą wersję możesz zainstalować, uruchamiając:
curl -fsSL https://www.stackhero.io/install.sh | sh
To polecenie pobiera odpowiedni plik binarny dla Twojej platformy i instaluje go jako stackhero. CLI aktualizuje się również automatycznie.
Uwierzytelnianie
Masz dwie główne opcje uwierzytelniania:
Interaktywne logowanie przez przeglądarkę
stackhero login
Po uruchomieniu tego polecenia CLI podaje URL i automatycznie otwiera go w przeglądarce. Następnie możesz zatwierdzić dostęp bezpośrednio z dashboardu Stackhero, gdzie jesteś już zalogowany.
Uwierzytelnianie dwuskładnikowe jest w pełni obsługiwane i nie musisz wpisywać hasła w CLI.
Nieinteraktywne uwierzytelnianie dla skryptów, CI i automatyzacji
W przypadku zautomatyzowanych workflow możesz utworzyć access token w dashboardzie w sekcji Account > Access tokens i przekazać go do CLI za pomocą zmiennej środowiskowej STACKHERO_TOKEN.
export STACKHERO_TOKEN="usr-xxxxxx:your-token"
stackhero organizations-list
Gdy STACKHERO_TOKEN jest ustawione, ma pierwszeństwo przed sesjami interaktywnymi, więc przeglądarka jest opcjonalna. To podejście dobrze sprawdza się w nieinteraktywnych zastosowaniach. Tokeny możesz przeglądać i unieważniać w dashboardzie w dowolnym momencie.
Formaty wyjścia
Każde polecenie CLI akceptuje globalną opcję --format:
human(domyślnie): Wyświetla czytelne tabele i tekst do użytku interaktywnego.json: Zwraca JSON czytelny maszynowo, co jest pomocne w skryptach i dla agentów AI.script: Zwraca tylko surową wartość lub wartości, co ułatwia przypisanie danych wyjściowych do zmiennych shell.
Na przykład:
stackhero organizations-list --format=json
stackId=$(stackhero --format=script stack-create --name="My stack")
Przegląd poleceń
Jeśli chcesz zobaczyć pełną listę dostępnych poleceń, możesz uruchomić stackhero --help. Jeśli chcesz uzyskać szczegóły dotyczące konkretnego polecenia, możesz użyć stackhero COMMAND --help.
Niektóre często używane polecenia to:
- 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
Przykład: Utworzenie usługi od początku do końca
Oto przykładowy skrypt pokazujący, jak utworzyć stack, dodać usługę, poczekać, aż będzie gotowa, i pobrać jej poświadczenia. Ten przykład jest w pełni nieinteraktywny i używa zmiennej środowiskowej STACKHERO_TOKEN.
#!/bin/bash
set -e
export STACKHERO_TOKEN="usr-xxxxxx:your-token"
serviceStore="directus" # Nazwa service store. Zobacz: `stackhero services-store-list`
instance="1GB" # Nazwa instancji (rozmiaru). Zobacz: `stackhero instances-store-list --service-store=directus`
region="europe" # Nazwa regionu. Zobacz: `stackhero regions-list`
# Utwórz stack (używa Twojej jedynej organizacji, dodaj `--organization`, jeśli masz ich kilka)
stackId=$(stackhero --format=script stack-create \
--name="My stack")
echo "Stack: ${stackId}"
# Dodaj usługę (nazwy są rozwiązywane automatycznie, a powyższe ID stacka również działa)
serviceId=$(stackhero --format=script service-add \
--stack="My stack" \
--service-store="${serviceStore}" \
--instance="${instance}" \
--region="${region}")
echo "Service: ${serviceId}"
# Poczekaj, aż usługa będzie uruchomiona
stackhero service-wait-for --service="${serviceId}"
# Pobierz poświadczenia i konfigurację
stackhero service-configuration-get --service="${serviceId}" --format=json
Każda strona dokumentacji usługi zawiera gotowy do uruchomienia przewodnik Automate with the CLI dostosowany do tej usługi, dzięki czemu masz wszystko, czego potrzebujesz, aby zacząć.
Aktualizacja i odinstalowanie
CLI aktualizuje się automatycznie. Jeśli kiedykolwiek zechcesz wymusić aktualizację ręcznie, możesz uruchomić:
stackhero self-update
Jeśli chcesz odinstalować CLI, możesz po prostu usunąć plik binarny stackhero ze swojego systemu.