leishman

leishman

I’m trying to use distillery and edeliver to deploy and run run a phoenix app in production. I build on a staging server (with one configuration) and deploy to a production server (with a different configuration). I want to provide these different runtime configurations via ENV variables.

Right now, using the format:

config :my_app, MyApp.Endpoint,
  http: [port: {:system, "HTTP_PORT"}],
  url: [host: {:system, "HOST"}, port: {:system, "URL_PORT"}]

works for the phoenix configs, but not for the ecto/db configs.

At runtime, Postgrex fails to understand this configuration syntax. I tried using the format:

config :my_app, MyApp.Repo,
  adapter: Ecto.Adapters.Postgres,
  hostname: "${DB_HOSTNAME}",
  username: "${DB_USERNAME}",

for my DB configs but this does not work as the strings remain as seen and are not replaced with my ENV variables at runtime.

I’ve read this blog post: How to config environment variables with Elixir and Exrm « Plataformatec Blog

but it seems that the ${} format does not work with edeliver??

I’d prefer to not have to deal with creating separate sys.conf files and linking them. What is the proper way to handle all of this? Thanks.

Showing Posts 4 to 1

AndrewDryga

AndrewDryga

I’ve rewritten Confex to support configuration adapters and started writing a Vault adapter for it. But then we postponed this task to the later development stages to concentrate on more important things for the project.

idi527

idi527

I’ve seen you mention vault in an ecto thread once (and in the article), have you had any success with using it for configuration?

Thank you for the article btw.

AndrewDryga

AndrewDryga

For people that found this article by googling it - I’ve written an article on configuration and deployments topic, checking it out.

Also, try reading Distillery docs, they are pretty comprehensive.

jwarlander

jwarlander

The difference is between ExRM and Distillery.. :smiling_face_with_sunglasses: Instead of RELX_REPLACE_OS_VARS=true, try REPLACE_OS_VARS=true.

It’s mentioned for vm.args in the Distillery docs, but definitely applies to sys.config as well.

— All posts loaded —

Where Next? Top

Trending in Questions Top

water
I’m aware of 2 such projects, are there others? git: GitHub - team-alembic/realworld: A fullstack Phoenix LiveView application with back...
New
katta
I having some trouble figuring out if I have set myself too strict of standards for my production server. Currently I can handle 75% of r...
New
peck
Hi everyone. My team and I have been working on a fairly modest app based around video streaming and chat, but we’ve landed a customer t...
New
bradley
I really like the adapter patterns that ecto, nebulex, waffle, etc. use and would love find something similar for a key management servic...
New
unaware8150
Hello folks! So at work, we are seeing some situations where we have to define some “fixed” strings that are used across the codebase in...
New
Alvinkariuki
How Can I Optimise Compile Time Dependencies I have been building an elixir application for about 2 years now. Many modules and files ha...
New
leoschweizer
Hi, we run different LLM models across a cluster, with each node loading a configurable subset. Model-specific queues let nodes consume ...
New

Other Trending Topics Top

budgie
A little off-topic, but I feel like people here have a good head on their shoulders. I used to be quite good at making software. Was luc...
New
KristerV
Hey. Is there anyone here who creates agents in their apps? Not talking about using agents, but creating them. I’m finding it pretty diff...
New
mudasobwa
I fully migrated to my own harness from Anthropic/Gemini and I think it’s time to share it. Welcome DSH, the DeepSeek Harness, fully writ...
New
jimsynz
Beam Bots (or just BB for short) is a framework for building fault-tolerant robotics applications in Elixir using familiar OTP patterns. ...
New
juhalehtonen
There has been a thread to discuss the Stack Overflow Developer Survey on this forum every year since 2018, so here’s yet another one for...
New
budgie
I love Elixir. It’s one of 2 programming languages I’ve ever fallen in love with. But I don’t use it anymore. Serverless was the promis...
New

We're in Beta

About us Mission Statement

Options

Thread Display Mode




Thread Preview

Skip Thread Previews