defmodule HAHandler.Application do # See https://hexdocs.pm/elixir/Application.html # for more information on OTP Applications @moduledoc false use Application alias HAHandler @impl true def start(_type, _args) do children = [ {Plug.Cowboy, scheme: :http, plug: HAHandler.Web.Router, options: [port: HAHandler.http_port()]}, {HAHandler.PGSQL.Supervisor, HAHandler.pgsql_instances()}, {HAHandler.DRBD.Supervisor, HAHandler.drbd_instances()}, {HAHandler.Cluster, HAHandler.handler_instances()}, {HAHandler.Control, []} ] # See https://hexdocs.pm/elixir/Supervisor.html # for other strategies and supported options opts = [strategy: :one_for_one, name: HAHandler.Supervisor] Supervisor.start_link(children, opts) end end