RabbitMQ: Automatiseren met de CLI

Start RabbitMQ, haal de inloggegevens op en wijzig de configuratie programmatisch met de Stackhero CLI

In deze gids ziet u hoe u een RabbitMQ-service aanmaakt, de inloggegevens uitleest en de configuratie bijwerkt, volledig vanaf de command line, zonder handmatige acties in het dashboard. Dit is ideaal voor scripts, CI-pijplijnen en AI-agents.

Voor alle taken gebruiken we de Stackhero CLI. Als u deze nog niet heeft geïnstalleerd, doet u dat als volgt:

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

De eenvoudigste manier om te starten is door in te loggen via uw browser. Wanneer u het login-commando uitvoert, opent de CLI een webpagina waar u toegang kunt goedkeuren. Er worden geen wachtwoorden of 2FA-codes ingevoerd in de CLI zelf.

stackhero login

Na het inloggen worden uw inloggegevens lokaal opgeslagen en automatisch gebruikt bij volgende CLI-commando's.

Voor volledig geautomatiseerde omgevingen zoals scripts of CI-pijplijnen kunt u beter een niet-interactieve access token gebruiken. U maakt deze aan via uw dashboard (Account > Access tokens) en exporteert deze vervolgens als omgevingsvariabele. De CLI en elk script dat u uitvoert, nemen deze automatisch over.

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

Vervolgens wilt u de beschikbare RabbitMQ service stores in uw account opvragen. De CLI accepteert direct de naam van de store (rabbitmq), dus u hoeft geen ID's op te zoeken of te kopiëren.

# Lijst RabbitMQ service stores (voeg --organization toe als u er meer dan één beheert)
stackhero services-store-list --name="rabbitmq"

U kunt de store-naam rabbitmq in volgende commando's gebruiken, of een specifiek svs-xxxxxx ID uit de lijst kiezen als u dat wilt.

# Lijst instance sizes voor uw service store (gebruik de kolom NAME voor --instance)
stackhero instances-store-list --service-store=rabbitmq

# Lijst beschikbare regio's (namen zoals "europe")
stackhero regions-list

Hieronder vindt u een voorbeeldscript dat een stack aanmaakt, uw RabbitMQ-service toevoegt, wacht tot deze is gestart, de configuratie (inclusief gegenereerde inloggegevens) ophaalt en vervolgens een nieuwe configuratie toepast.

#!/bin/bash
set -e

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

serviceStore="rabbitmq"   # De naam van de RabbitMQ service store (zie stap 2)
instance="..."                # Een instance size uit stap 3
region="europe"               # Een regiocode uit stap 3

# Maak een stack aan voor uw service (gebruikt uw standaardorganisatie; voeg --organization toe indien nodig)
stackId=$(stackhero --format=script stack-create \
  --name="My RabbitMQ stack")
echo "Stack aangemaakt: ${stackId}"

# Voeg RabbitMQ toe aan de stack (namen worden automatisch herkend)
serviceId=$(stackhero --format=script service-add \
  --stack="My RabbitMQ stack" \
  --service-store="${serviceStore}" \
  --instance="${instance}" \
  --region="${region}")
echo "Service toegevoegd: rabbitmq"

# Wacht tot de service volledig draait (dit kan enkele minuten duren)
stackhero service-wait-for --service="rabbitmq"

# Haal de serviceconfiguratie op, inclusief gegenereerde inloggegevens
stackhero service-configuration-get --service="rabbitmq" --format=json

Het commando service-configuration-get geeft de volledige configuratie van uw service terug, inclusief automatisch gegenereerde wachtwoorden en verbindingsgegevens. De uitvoer is in JSON-formaat, wat het eenvoudig maakt om te gebruiken in scripts en automatisering.

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

U kunt een voorbeeld van het configuratieschema bekijken en vervolgens uw eigen instellingen toepassen. Wanneer u de configuratie bijwerkt, kan de service opnieuw opstarten om de wijzigingen toe te passen.

# Bekijk het configuratieschema en een voorbeeld voor uw service
stackhero service-configuration-example --service=svc-xxxxxx

# Pas een aangepaste configuratie toe (de service wordt indien nodig herstart)
stackhero service-configuration-set \
  --service=svc-xxxxxx \
  --configuration='{ "...": "..." }'

# Wacht tot de nieuwe configuratie is toegepast
stackhero service-wait-for --service=svc-xxxxxx

Dat is alles. U heeft nu het volledige proces gezien: een service starten, inloggegevens ophalen en opnieuw configureren, allemaal op een scriptbare en geautomatiseerde manier. Wilt u meer weten? Bekijk dan de volledige CLI-documentatie, waarin ook de niet-interactieve STACKHERO_TOKEN authenticatie wordt behandeld zoals hierboven getoond.