The FLAME.Backend using Kubernetes system.
This backend creates FlameRunner CRD resources which are then reconciled by the flame-k8s-controller to create actual runner pods.
Configuration
Configure the flame backend in your application:
# config.exs
if config_env() == :prod do
config :flame, :backend, FLAME.K8sBackend
config :flame, FLAME.K8sBackend,
log: :debug,
boot_timeout: 30_000
endHow it works
- Parent application calls FLAME.cast/3 or FLAME.call/3
- Backend creates a FlameRunner CRD in Kubernetes
- flame-k8s-controller detects the FlameRunner and creates a Pod
- Pod starts and connects back to parent via distributed Erlang
- Work is executed on the runner
- Runner terminates and FlameRunner/Pod are cleaned up