a8e6dcb8f5
CI / test (push) Failing after 11m40s
fallback: default_type вне if-блока nginx. observer-web: Hex/deps.compile в образе, без dev-watchers в контейнере.
93 lines
2.4 KiB
Elixir
93 lines
2.4 KiB
Elixir
# Observer Web in Docker: assets pre-built in image, no dev watchers.
|
|
|
|
defmodule WebDev.Router do
|
|
use Phoenix.Router, helpers: false
|
|
|
|
import Observer.Web.Router
|
|
|
|
pipeline :browser do
|
|
plug(:fetch_session)
|
|
end
|
|
|
|
scope "/" do
|
|
pipe_through(:browser)
|
|
|
|
observer_dashboard("/observer")
|
|
end
|
|
end
|
|
|
|
defmodule WebDev.Endpoint do
|
|
use Phoenix.Endpoint, otp_app: :observer_web
|
|
|
|
socket("/live", Phoenix.LiveView.Socket)
|
|
|
|
plug(Plug.Session,
|
|
store: :cookie,
|
|
key: "_observer_web_key",
|
|
signing_salt: "/VEDsdfsffMnp5"
|
|
)
|
|
|
|
plug(WebDev.Router)
|
|
end
|
|
|
|
defmodule WebDev.ErrorHTML do
|
|
use Phoenix.Component
|
|
|
|
def render(template, _assigns) do
|
|
Phoenix.Controller.status_message_from_template(template)
|
|
end
|
|
end
|
|
|
|
port = "PORT" |> System.get_env("4000") |> String.to_integer()
|
|
|
|
Application.put_env(:observer_web, WebDev.Endpoint,
|
|
adapter: Bandit.PhoenixAdapter,
|
|
check_origin: false,
|
|
debug_errors: false,
|
|
http: [port: port],
|
|
live_view: [signing_salt: "eX7TFPY6Y/+XQ1o2pOUW3DjgAoXGTAdX"],
|
|
pubsub_server: ObserverWeb.PubSub,
|
|
render_errors: [formats: [html: WebDev.ErrorHTML], layout: false],
|
|
secret_key_base: "jAu3udxm+8tIRDXLLKo+EupAlEvdLsnNG82O8e9nqylpBM9gP8AjUnZ4PWNttztU",
|
|
url: [host: "localhost"],
|
|
watchers: []
|
|
)
|
|
|
|
Application.put_env(:phoenix, :serve_endpoints, true)
|
|
Application.put_env(:phoenix, :persistent, true)
|
|
|
|
Task.async(fn ->
|
|
mode = "OBSERVER_WEB_TELEMETRY_MODE" |> System.get_env("local") |> String.to_atom()
|
|
|
|
retention_period =
|
|
"OBSERVER_WEB_TELEMETRY_RETENTION_PERIOD" |> System.get_env("1800000") |> String.to_integer()
|
|
|
|
telemetry_module = ObserverWeb.Telemetry.Storage
|
|
:ok = Supervisor.terminate_child(ObserverWeb.Application, telemetry_module)
|
|
:ok = Supervisor.delete_child(ObserverWeb.Application, telemetry_module)
|
|
|
|
{:ok, _} =
|
|
Supervisor.start_child(
|
|
ObserverWeb.Application,
|
|
{telemetry_module, [mode: mode, data_retention_period: retention_period]}
|
|
)
|
|
|
|
{:ok, _} = Supervisor.start_child(ObserverWeb.Application, WebDev.Endpoint)
|
|
|
|
Process.sleep(:infinity)
|
|
end)
|
|
|
|
Task.start(fn ->
|
|
:timer.sleep(7000)
|
|
slots = "OBSERVER_EVENTHUB_SLOTS" |> System.get_env("2") |> String.to_integer()
|
|
|
|
for slot <- 1..slots do
|
|
node = :"eventhub-node#{slot}@eventhub-node#{slot}"
|
|
|
|
case Node.connect(node) do
|
|
true -> IO.puts("Connected to #{node}")
|
|
false -> IO.puts("Failed to connect to #{node}")
|
|
end
|
|
end
|
|
end)
|