L'architettura di Automation Config include quattro o più componenti, tra cui il server RaaS, il plug-in Master e due database centrali.
Il seguente diagramma mostra i componenti principali dell'architettura di Automation Config di base pertinenti per l'installazione:
Salt Master e plug-in Master
Automation Config è basato su Salt, un sistema di gestione e automazione della configurazione open source.
Il Salt Master è la connessione principale tra Automation Config e il resto dei nodi nella rete (i minion). Quando si esegue un comando da Automation Config (ad esempio un processo), il comando passa al Salt Master per la distribuzione ai minion di destinazione.
Automation Config può connettersi a un Salt Master o a molti Master in base alle esigenze nel sistema. Per consentire a Automation Config di comunicare con un Salt Master, è necessario installare il plug-in Master nel Salt Master e accettarne la chiave in Automation Config. Il plug-in Master consente al Salt Master di accedere ai processi avviati da Automation Config. Il Salt Master può accedere ai file esterni e ai dati dei pillar archiviati nel database PostgreSQL.
RaaS
RaaS, acronimo di Returner as a Service, è il componente centrale in Automation Config. Alcune persone si riferiscono infatti a RaaS chiamandolo Automation Config.
RaaS fornisce endpoint RPC per ricevere comandi di gestione dall'interfaccia utente di Automation Config, nonché endpoint di controllo RPC per interfacciarsi con i Salt Master connessi. Tutte le comunicazioni vengono inviate tramite chiamate API RPC su WebSocket o HTTP(S).
Interfaccia utente di Automation Config
L'interfaccia utente di Automation Config è un'applicazione Web che fornisce il front-end dell'interfaccia utente grafica per RaaS. Sebbene Automation Config dia la precedenza all'API, l'interfaccia utente comunica direttamente con l'API (RaaS) per abilitare la gestione semplice di tutti i sistemi nell'ambiente. Le diverse aree di lavoro consentono di gestire minion, utenti, ruoli, processi e molto altro.
Database
Database PostgreSQL
RaaS utilizza un database PostgreSQL per archiviare i dati dei minion, le restituzioni dei processi, i dati degli eventi, i file e i dati del pillar, gli account utente locali e le altre impostazioni per l'interfaccia utente.
Database Redis
RaaS utilizza un database Redis per archiviare determinati tipi di dati nell'archivio temporaneo, ad esempio i dati memorizzati nella cache. Utilizza inoltre l'archiviazione temporanea dei dati per distribuire il lavoro in coda ai worker in background.
Per ulteriori informazioni sul funzionamento di Salta, vedere Architettura del sistema Salt.