Por que adicionar ENV não está alterando as configurações do site no lado do cliente

Olá @sam,

Talvez eu esteja interpretando isso de forma errada ou fazendo algo incorreto?

No arquivo app.yml, adicionei uma variável de ambiente personalizada:

env:
   DISCOURSE_MY_ENV_TEST:  app

e reconstruí o container com um pequeno plugin personalizado onde eu exportei todas as configurações do site assim:

console.log(Discourse.SiteSettings);

E, como esperado, isso exporta todas as configurações do site para o console; mas a variável de ambiente personalizada que defini no app.yml não parece estar chegando às configurações do site, como eu esperava.

Estou fazendo algo errado?

A razão da minha pergunta é que encontrei este tópico, pesquisando por uma maneira simples de obter variáveis de ambiente na aplicação para que eu possa usá-las no meu plugin; e pensei que você pudesse estar dizendo que podemos fazer isso conforme descrito, adicionando-as ao arquivo app.yml, mas não está funcionando como esperado.

PS: Desculpe por ressuscitar este tópico antigo, mas parecia ser a correspondência mais próxima com base na pesquisa no site, e pensei que talvez responder aqui fosse melhor do que iniciar um novo tópico.

Você precisa definir um plugin com a configuração do site para que isso funcione. Nós não passamos coisas cegamente do ENV para o cliente.

Olá Sam,

Entendi, acho que sim:

Basicamente, não podemos definir uma nova variável de ambiente no arquivo yml e fazer com que essa variável env: seja consumida pelas configurações do site no aplicativo, a menos que criemos um plugin para esse fim (para adicionar uma variável de ambiente adicional ao site, configurável a partir do arquivo yml).

Essa é a minha compreensão correta?

Obrigado!

Sim, se você quiser definir uma nova configuração de site, ela deve ser adicionada a um plugin.