←back to thread

638 points wut42 | 1 comments | | HN request time: 0s | source
Show context
chrismccord ◴[] No.44328933[source]
Phoenix creator here. I'm happy to answer any questions about this! Also worth noting that phoenix.new is a global Elixir cluster that spans the planet. If you sign up in Australia, you get an IDE and agent placed in Sydney.
replies(21): >>44329010 #>>44329145 #>>44329199 #>>44329447 #>>44329669 #>>44329679 #>>44329692 #>>44329699 #>>44329766 #>>44330059 #>>44330099 #>>44330127 #>>44330670 #>>44331525 #>>44331688 #>>44334922 #>>44335271 #>>44336137 #>>44336958 #>>44337485 #>>44344757 #
jonator ◴[] No.44331688[source]
I'm assuming you're using FLAME?

How do you protect the host Elixir app from the agent shell, runtime, etc

replies(1): >>44331874 #
chrismccord ◴[] No.44331874[source]
Not using FLAME in this case. The agent runs entirely separately from your apps/IDE/compute. It communicates with and drives your runtime over phoenix channels
replies(1): >>44332236 #
jonator ◴[] No.44332236[source]
Oh interesting. So how do messages come from the container? Is there a host elixir app that is running the agent env? How does that work?
replies(1): >>44347658 #
1. chrismccord ◴[] No.44347658[source]
Yes, elixir app deployed across the planet as a single elixir cluster. We spawn the agents (GenServer's), globally register them, and then the end-user LiveView chat communicates with the agent with regular elixir messages, and the IDE is a phoenix channels client that communicates with and is driven by the agent.