2022-01-24 14:03:10 +01:00
|
|
|
defmodule HAHandler.Application do
|
|
|
|
# See https://hexdocs.pm/elixir/Application.html
|
|
|
|
# for more information on OTP Applications
|
|
|
|
@moduledoc false
|
|
|
|
|
|
|
|
use Application
|
|
|
|
|
2022-02-19 10:18:05 +01:00
|
|
|
alias HAHandler
|
2022-01-25 09:45:30 +01:00
|
|
|
|
2022-01-24 14:03:10 +01:00
|
|
|
@impl true
|
|
|
|
def start(_type, _args) do
|
|
|
|
children = [
|
2022-02-23 17:53:00 +01:00
|
|
|
{Plug.Cowboy,
|
|
|
|
scheme: :http, plug: HAHandler.Web.Router, options: [port: HAHandler.http_port()]},
|
2022-02-21 11:44:59 +01:00
|
|
|
{HAHandler.PGSQL.Supervisor, HAHandler.pgsql_instances()},
|
2022-02-25 13:39:58 +01:00
|
|
|
{HAHandler.DRBD.Supervisor, HAHandler.drbd_instances()},
|
2022-05-22 14:30:44 +02:00
|
|
|
{HAHandler.Cluster, HAHandler.handler_instances()},
|
2022-02-21 11:44:59 +01:00
|
|
|
{HAHandler.Control, []}
|
2022-01-24 14:03:10 +01:00
|
|
|
]
|
|
|
|
|
|
|
|
# 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
|