Mattermost: Automatizzare con la CLI

Avvia Mattermost, recupera le sue credenziali e modifica la sua configurazione in modo programmato con la Stackhero CLI

Benvenuti nella documentazione di Stackhero

Stackhero offre un ambiente Mattermost cloud pronto per la produzione, progettato per una collaborazione senza interruzioni e una solida protezione dei dati. I principali vantaggi includono:

  • Utenti e canali illimitati per una crescita del team senza restrizioni.
  • Un server SMTP email dedicato senza limiti aggiuntivi, incluso di default.
  • Controllo completo sul vostro nome di dominio, protetto automaticamente con HTTPS (ad esempio https://chat.la-tua-azienda.com).
  • Aggiornamenti semplificati, gestiti con un solo clic.
  • Elevate prestazioni e sicurezza avanzata su un'infrastruttura privata e dedicata: i vostri dati rimangono isolati e riservati.
  • Hosting disponibile sia nelle regioni 🇪🇺 Europa che 🇺🇸 USA.

Bastano pochi minuti per iniziare. Stackhero si occupa dell'installazione, della sicurezza e della gestione operativa del vostro hosting Mattermost cloud, offrendo una piattaforma di collaborazione sicura e scalabile con il minimo sforzo.

Questa guida mostra come creare un servizio Mattermost, leggere le sue credenziali e aggiornare la sua configurazione interamente dalla riga di comando, senza alcun clic sul dashboard. È l'ideale per script, pipeline CI e agenti AI.

Per tutte le operazioni utilizzeremo la Stackhero CLI. Se non l'ha già fatto, può installarla con:

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

Il modo più semplice per iniziare è effettuare il login tramite browser. Quando esegue il comando di login, la CLI apre una pagina web dove può approvare l'accesso. Nessuna password o codice 2FA viene inserito direttamente nella CLI.

stackhero login

Dopo l'accesso, le sue credenziali vengono memorizzate localmente e saranno utilizzate automaticamente dai successivi comandi CLI.

Per ambienti completamente automatizzati come script o pipeline CI, può preferire un token di accesso non interattivo. Può crearne uno dal suo dashboard (Account > Access tokens), quindi esportarlo come variabile d'ambiente. La CLI, così come qualsiasi script eseguito, lo rileverà automaticamente.

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

Successivamente, vorrà elencare i service store Mattermost disponibili per il suo account. La CLI accetta direttamente il nome dello store (mattermost), quindi non è necessario cercare o copiare alcun ID.

# Elenca i service store Mattermost (aggiunga --organization se ne gestisce più di uno)
stackhero services-store-list --name="mattermost"

Può fare riferimento al nome dello store mattermost nei comandi successivi, oppure scegliere un ID specifico svs-xxxxxx dall'elenco se preferisce.

# Elenca le dimensioni delle istanze per il suo service store (utilizzi la colonna NAME per --instance)
stackhero instances-store-list --service-store=mattermost

# Elenca le regioni disponibili (nomi come "europe")
stackhero regions-list

Ecco uno script di esempio che crea uno stack, aggiunge il suo servizio Mattermost, attende che venga avviato, recupera la configurazione (incluse le credenziali generate) e applica una nuova configurazione.

#!/bin/bash
set -e

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

serviceStore="mattermost"   # Il nome del service store Mattermost (vedi step 2)
instance="..."                # Una dimensione dell'istanza dallo step 3
region="europe"               # Un nome di regione dallo step 3

# Crea uno stack per il suo servizio (usa l'organizzazione predefinita; aggiunga --organization se necessario)
stackId=$(stackhero --format=script stack-create \
  --name="My Mattermost stack")
echo "Stack creato: ${stackId}"

# Aggiunge Mattermost allo stack (i nomi vengono risolti automaticamente)
serviceId=$(stackhero --format=script service-add \
  --stack="My Mattermost stack" \
  --service-store="${serviceStore}" \
  --instance="${instance}" \
  --region="${region}")
echo "Servizio aggiunto: mattermost"

# Attende che il servizio sia completamente operativo (può richiedere alcuni minuti)
stackhero service-wait-for --service="mattermost"

# Recupera la configurazione del servizio, incluse le credenziali generate
stackhero service-configuration-get --service="mattermost" --format=json

Il comando service-configuration-get restituisce la configurazione completa del servizio, incluse password generate automaticamente e dettagli di connessione. L'output è in formato JSON, facilitando l'utilizzo in script e automazioni.

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

Può consultare uno schema di configurazione di esempio e poi applicare le sue impostazioni personalizzate. Quando aggiorna la configurazione, il servizio potrebbe riavviarsi per applicare le modifiche.

# Visualizza lo schema di configurazione e un esempio per il suo servizio
stackhero service-configuration-example --service=svc-xxxxxx

# Applica una configurazione personalizzata (il servizio si riavvia se necessario)
stackhero service-configuration-set \
  --service=svc-xxxxxx \
  --configuration='{ "...": "..." }'

# Attende che la nuova configurazione venga applicata
stackhero service-wait-for --service=svc-xxxxxx

Ecco fatto. Ha ora visto l'intero ciclo di vita: avviare un servizio, recuperare le sue credenziali e riconfigurarlo, tutto in modo scriptabile e automatizzato. Per approfondire, consulti la documentazione completa della CLI, che copre anche l'autenticazione non interattiva tramite STACKHERO_TOKEN illustrata qui.