Questa potrebbe sembrare una pignoleria, ma penso che ci siano alcune sfumature importanti qui.
Le opzioni che fornisci sono un misto di COME vengono passate le impostazioni e COSA impostazioni vengono passate.
Per quanto riguarda COME vengono passate le impostazioni, si applicano due cose:
-
il modo in cui le variabili d’ambiente vengono attualmente utilizzate
Le variabili d’ambienteDISCOURSE_WHATEVERvengono attualmente utilizzate durante il processo di build di Docker per creare voci indiscourse.confche sono disponibili comeGlobalSettingoSiteSettingda Discourse. Discourse non percepisce queste variabili d’ambiente come tali. -
i limiti delle voci di discourse.conf
Sebbene le GlobalSettings abbiano il piacevole vantaggio di poter sopprimere e sovrascrivere le SiteSettings, impongono anche il limite che negli ambienti multisito si applicano a tutti i siti del multisito.
Questi due combinati significano che da Discourse, SiteSetting è la più flessibile. Possono essere SiteSettings effettive, possono provenire da discourse.conf e tali voci possono provenire da variabili d’ambiente DISCOURSE_. Secondo me non c’è alcuna scelta effettiva lì, SiteSetting è la più flessibile e non ha svantaggi poiché è un superset funzionale. Puoi usare GlobalSettings invece e quelle possono essere popolate tramite variabili d’ambiente.
Ciò implica che l’unica scelta effettiva è se utilizzare o meno il rilevamento automatico delle credenziali. Nella mia percezione personale, il rilevamento automatico è sempre molto incline agli errori, quindi preferirei avere qualcosa di esplicito.
Cioè, avere una SiteSetting che in qualche modo punta a credenziali effettive e concrete.