Directus: Automatizuokite naudodami CLI

Paleiskite Directus, gaukite jo prisijungimo duomenis ir keiskite jo konfigūraciją programiškai su Stackhero CLI

👋 Sveiki atvykę į Stackhero dokumentaciją!

Stackhero siūlo Directus cloud paslaugą, paruoštą naudoti gamyboje, vos per 2 minutes:

  • Neribotos kolekcijos, elementai, vartotojai, vaidmenys, API užklausos ir perdavimai
  • Pritaikomas domeno vardas su HTTPS saugumu (pavyzdžiui, https://cms.jusu-imone.com)
  • Įtrauktas dedikuotas ir neribotas el. pašto serveris
  • Redis talpyklos serveris įtrauktas dėl aukšto našumo
  • Optimali veikla ir tvirta sauga, užtikrinta privačia ir dedikuota VM.
  1. Vieno paspaudimo atnaujinimai lengvai priežiūrai

Taupykite laiką ir supaprastinkite savo gyvenimą: tereikia 5 minučių, kad išbandytumėte Stackhero Directus cloud sprendimą!

Šiame vadove parodoma, kaip sukurti Directus paslaugą, perskaityti jos prisijungimo duomenis ir atnaujinti jos konfigūraciją visiškai iš komandinės eilutės, be jokių paspaudimų valdymo skydelyje. Tai idealiai tinka scenarijams (scripts), CI procesams ir AI agentams.

Visoms užduotims naudosime Stackhero CLI. Jei dar neįdiegėte, galite tai padaryti taip:

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

Lengviausias būdas pradėti – prisijungti per naršyklę. Paleidus prisijungimo komandą, CLI atidarys tinklalapį, kuriame galėsite patvirtinti prieigą. Jokių slaptažodžių ar 2FA kodų CLI įvesti nereikės.

stackhero login

Prisijungus, jūsų prisijungimo duomenys bus saugomi lokaliai ir automatiškai naudojami visoms būsimoms CLI komandoms.

Pilnai automatizuotoms aplinkoms, tokioms kaip scenarijai ar CI procesai, galite rinktis neinteraktyvų prieigos raktą (access token). Jį galite sukurti savo valdymo skydelyje (Account > Access tokens), tada eksportuoti kaip aplinkos kintamąjį. CLI ir visi jūsų paleisti scenarijai jį automatiškai aptiks.

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

Toliau norėsite išvardyti savo paskyroje prieinamas Directus paslaugų parduotuves. CLI priima parduotuvės pavadinimą (directus) tiesiogiai, todėl nereikia ieškoti ar kopijuoti jokių ID.

# Išvardinkite Directus paslaugų parduotuves (pridėkite --organization, jei valdote daugiau nei vieną)
stackhero services-store-list --name="directus"

Vėlesnėse komandose galite naudoti parduotuvės pavadinimą directus, arba, jei pageidaujate, pasirinkti konkretų svs-xxxxxx ID iš sąrašo.

# Išvardinkite instancijų dydžius savo paslaugų parduotuvei (naudokite NAME stulpelį --instance parametrui)
stackhero instances-store-list --service-store=directus

# Išvardinkite galimus regionus (pvz., "europe")
stackhero regions-list

Žemiau pateiktas pavyzdinis scenarijus sukuria stack, prideda jūsų Directus paslaugą, laukia jos paleidimo, gauna jos konfigūraciją (įskaitant sugeneruotus prisijungimo duomenis) ir tada pritaiko naują konfigūraciją.

#!/bin/bash
set -e

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

serviceStore="directus"   # Directus paslaugos parduotuvės pavadinimas (žr. 2 žingsnį)
instance="..."                # Instancijos dydis iš 3 žingsnio
region="europe"               # Regiono pavadinimas iš 3 žingsnio

# Sukurkite stack savo paslaugai (naudoja numatytąją organizaciją; jei reikia, pridėkite --organization)
stackId=$(stackhero --format=script stack-create \
  --name="My Directus stack")
echo "Stack sukurtas: ${stackId}"

# Pridėkite Directus prie stack (pavadinimai atpažįstami automatiškai)
serviceId=$(stackhero --format=script service-add \
  --stack="My Directus stack" \
  --service-store="${serviceStore}" \
  --instance="${instance}" \
  --region="${region}")
echo "Paslauga pridėta: directus"

# Palaukite, kol paslauga bus pilnai paleista (tai gali užtrukti kelias minutes)
stackhero service-wait-for --service="directus"

# Gaukite paslaugos konfigūraciją, įskaitant sugeneruotus prisijungimo duomenis
stackhero service-configuration-get --service="directus" --format=json

Komanda service-configuration-get grąžina visą jūsų paslaugos konfigūraciją, įskaitant automatiškai sugeneruotus slaptažodžius ir prisijungimo informaciją. Rezultatas pateikiamas JSON formatu, todėl jį lengva naudoti scenarijuose ir automatizacijoje.

stackhero service-configuration-get --service=svc-xxxxxx --format=json

Galite peržiūrėti pavyzdinę konfigūracijos schemą ir tada pritaikyti savo nustatymus. Atnaujinus konfigūraciją, paslauga gali būti paleista iš naujo, kad pakeitimai įsigaliotų.

# Peržiūrėkite konfigūracijos schemą ir pavyzdį savo paslaugai
stackhero service-configuration-example --service=svc-xxxxxx

# Pritaikykite individualią konfigūraciją (paslauga bus paleista iš naujo, jei reikės)
stackhero service-configuration-set \
  --service=svc-xxxxxx \
  --configuration='{ "...": "..." }'

# Palaukite, kol nauja konfigūracija bus pritaikyta
stackhero service-wait-for --service=svc-xxxxxx

Viskas. Dabar matėte visą ciklą: paleiskite paslaugą, gaukite jos prisijungimo duomenis ir perkonfigūruokite ją – visa tai galima automatizuoti ir naudoti scenarijuose. Norėdami sužinoti daugiau, peržiūrėkite pilną CLI dokumentaciją, kurioje taip pat aprašyta neinteraktyvi STACKHERO_TOKEN autentifikacija, parodyta šiame vadove.