Variabili esterne a un pacchetto
Pubblicato: 29 novembre 2018 - 09:57
Ciao a tutti 
Sto valutando WAPT per sostituire una soluzione personalizzata (basata su WPKG). Innanzitutto, complimenti agli sviluppatori, WAPT è incredibilmente ben progettato!
Ho una piccola sfida, per la quale sto ancora riflettendo sulla soluzione migliore (quindi coinvolgo tutti in questa discussione perché penso che sia un problema che può avere ripercussioni su altre persone).
La sfida è: come utilizzare le variabili all'interno di un pacchetto senza codificarne i valori nel pacchetto stesso. Lasciatemi spiegare con un esempio:
Ho diversi siti da gestire, ognuno con il proprio intervallo di rete. Ogni sito ha un proxy Zabbix per il monitoraggio degli elementi del sito. Ora, voglio creare un pacchetto per distribuire l'agente Zabbix. Tranne che
Idealmente (significato: un piccolo NFR)
Sarebbe necessario poter definire coppie chiave=valore nei pacchetti di tipo gruppo o host che potrebbero sovrascrivere le variabili con lo stesso nome in un pacchetto; ciò consentirebbe un approccio molto semplice 
Ma da quello che ho letto, non è ancora possibile. Quindi sto cercando un altro modo.
Ho pensato di creare un pacchetto variables-site1 che rilasciasse un file JSON sulle macchine contenenti valori specifici del sito, in modo che altri pacchetti potessero leggere questo file JSON per popolare le proprie variabili. Tuttavia, ho un problema di tempistica: questo pacchetto variables-siteXXX deve assolutamente essere distribuito per primo. E non posso renderlo una dipendenza del mio pacchetto zabbixagent perché il nome sarà diverso per ogni sito.
Pertanto, l'unica opzione rimasta è installare manualmente il pacchetto variables-siteXXX su ogni macchina, contemporaneamente all'installazione dell'agente
Qualcuno ha un'idea migliore? Quale soluzione usate per questo problema, che dev'essere piuttosto comune?
Nota: al momento sto valutando WAPT, quindi sto utilizzando la versione community. È possibile che la versione enterprise aggiunga funzionalità in tal senso, ma nella documentazione non ho trovato nulla che si avvicini...
Nota 2: Ho esitato tra la sezione Pacchetti e la sezione Utilizzo; puoi spostare questo messaggio se lo ritieni necessario
Sto valutando WAPT per sostituire una soluzione personalizzata (basata su WPKG). Innanzitutto, complimenti agli sviluppatori, WAPT è incredibilmente ben progettato!
Ho una piccola sfida, per la quale sto ancora riflettendo sulla soluzione migliore (quindi coinvolgo tutti in questa discussione perché penso che sia un problema che può avere ripercussioni su altre persone).
La sfida è: come utilizzare le variabili all'interno di un pacchetto senza codificarne i valori nel pacchetto stesso. Lasciatemi spiegare con un esempio:
Ho diversi siti da gestire, ognuno con il proprio intervallo di rete. Ogni sito ha un proxy Zabbix per il monitoraggio degli elementi del sito. Ora, voglio creare un pacchetto per distribuire l'agente Zabbix. Tranne che
- Per ogni sito, devo specificare l'indirizzo IP del proxy che potrà interrogare l'agente (e aprire la porta nel firewall per quell'indirizzo IP)
- Preferirei non dover gestire un pacchetto separato per ogni sito
Idealmente (significato: un piccolo NFR)
Ma da quello che ho letto, non è ancora possibile. Quindi sto cercando un altro modo.
Ho pensato di creare un pacchetto variables-site1 che rilasciasse un file JSON sulle macchine contenenti valori specifici del sito, in modo che altri pacchetti potessero leggere questo file JSON per popolare le proprie variabili. Tuttavia, ho un problema di tempistica: questo pacchetto variables-siteXXX deve assolutamente essere distribuito per primo. E non posso renderlo una dipendenza del mio pacchetto zabbixagent perché il nome sarà diverso per ogni sito.
Pertanto, l'unica opzione rimasta è installare manualmente il pacchetto variables-siteXXX su ogni macchina, contemporaneamente all'installazione dell'agente
Qualcuno ha un'idea migliore? Quale soluzione usate per questo problema, che dev'essere piuttosto comune?
Nota: al momento sto valutando WAPT, quindi sto utilizzando la versione community. È possibile che la versione enterprise aggiunga funzionalità in tal senso, ma nella documentazione non ho trovato nulla che si avvicini...
Nota 2: Ho esitato tra la sezione Pacchetti e la sezione Utilizzo; puoi spostare questo messaggio se lo ritieni necessario