Files
firezone/elixir/apps/api/mix.exs
Andrew Dryga d9eb2d18df Deployment for the cloud version (#1638)
TODO:
- [x] Cluster formation for all API and web nodes
- [x] Injest Docker logs to Stackdriver
- [x] Fix assets building for prod

To finish later:
- [ ] Structured logging:
https://issuetracker.google.com/issues/285950891
- [ ] Better networking policy (eg. use public postmark ranges and deny
all unwanted egress)
- [ ] OpenTelemetry collector for Google Stackdriver
- [ ] LoggerJSON.Plug integration

---------

Signed-off-by: Andrew Dryga <andrew@dryga.com>
Co-authored-by: Jamil <jamilbk@users.noreply.github.com>
2023-06-06 15:03:26 -06:00

74 lines
1.6 KiB
Elixir

defmodule API.MixProject do
use Mix.Project
def project do
[
app: :api,
version: version(),
build_path: "../../_build",
config_path: "../../config/config.exs",
deps_path: "../../deps",
lockfile: "../../mix.lock",
elixir: "~> 1.14",
elixirc_paths: elixirc_paths(Mix.env()),
start_permanent: Mix.env() == :prod,
test_coverage: [tool: ExCoveralls],
preferred_cli_env: [
coveralls: :test,
"coveralls.detail": :test,
"coveralls.post": :test,
"coveralls.html": :test
],
aliases: aliases(),
deps: deps()
]
end
def version do
System.get_env("APPLICATION_VERSION", "0.0.0+git.0.deadbeef")
end
def application do
[
mod: {API.Application, []},
extra_applications: [
:logger,
:runtime_tools
]
]
end
defp elixirc_paths(:test), do: ["lib", "test/support"]
defp elixirc_paths(_), do: ["lib"]
defp deps do
[
# Umbrella deps
{:domain, in_umbrella: true},
# Phoenix deps
{:phoenix, "~> 1.7.0"},
{:plug_cowboy, "~> 2.5"},
# Observability deps
{:telemetry_metrics, "~> 0.6"},
{:telemetry_poller, "~> 1.0"},
# Other deps
{:jason, "~> 1.2"},
{:remote_ip, "~> 1.1"}
# Test deps
]
end
defp aliases do
[
"ecto.seed": ["ecto.create", "ecto.migrate", "run ../domain/priv/repo/seeds.exs"],
"ecto.setup": ["ecto.create", "ecto.migrate"],
"ecto.reset": ["ecto.drop", "ecto.setup"],
test: ["ecto.create --quiet", "ecto.migrate", "test"]
]
end
end