I’m working on an Elixir application where there’s a constant need to recompile. Usually, we do this locally by running:
iex -S mix
This puts us into a REPL at all times to work where we can run recompile().
In my convox.yml, I have:
command: mix phx.server
But, if I run:
iex -S mix phx.server
I won’t be able to work within that process since I don’t know how to get an interactive REPL from convox start
.
As such, I’ve decided to switch command
to this:
command: sleep infinity
This way, I can run convox run web bash
and get into the rack and then since I’ve already exposed the proper port, I can then after getting into a bash instance on my rack run iex -S mix
. This works great and the running server immediately runs on port 3000, however, convox’s health checks eventually roll back my rack since I’m not using the command
in the convox.yml
to run the server.
So my questions were:
- How do I disable health checks on the local rack? If I could do this, everything would work.
- Is there a way to get into the live instance of convox start?
- Is there a way to use a local postgres tool to access the database convox creates for the local rack, I know the URL is
postgres://app:foo@resource-database.convox-APPLICATIONNAME.svc.cluster.local:5432/app
, but I can’t seem to dump that URL into my Postresql application. How would I do that?