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

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.

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.

Masz dwie główne opcje uwierzytelniania:

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.

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.

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")

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

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ąć.

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.