Esto puede sonar quisquilloso, pero creo que hay algunos matices importantes aquí.
Las opciones que proporciona son una mezcla de CÓMO se pasan la configuración y QUÉ configuración se pasa.
Con respecto a CÓMO se pasan la configuración, se aplican dos cosas:
-
la forma en que se utilizan actualmente las variables de entorno
Las variables de entornoDISCOURSE_WHATEVERse utilizan actualmente durante el proceso de compilación de Docker para crear entradas endiscourse.confque están disponibles comoGlobalSettingoSiteSettingdentro de Discourse. Discourse no percibe estas variables de entorno como tales. -
las limitaciones de las entradas de discourse.conf
Aunque GlobalSettings tiene la ventaja de poder suprimir y anular SiteSettings, también imponen la limitación de que en entornos multisitio se aplican a todos los sitios del multisitio.
Estas dos combinadas significan que, desde dentro de Discourse, SiteSetting es lo más flexible. Pueden ser SiteSettings reales, pueden provenir de discourse.conf y esas entradas pueden provenir de variables de entorno DISCOURSE_. En mi opinión, no hay una opción real allí, SiteSetting es lo más flexible y no tiene desventajas, ya que son un superconjunto funcional. Puede usar GlobalSettings en su lugar y estas pueden completarse utilizando variables de entorno.
Eso implica que la única opción real es si se utiliza o no el descubrimiento automático de credenciales. En mi percepción personal, el descubrimiento automático es siempre muy propenso a errores, por lo que preferiría tener algo explícito.
Es decir, tener un SiteSetting que de alguna manera apunte a credenciales reales y concretas.