move more configs to runtime

This commit is contained in:
shibao 2022-02-07 19:28:40 -05:00
parent da3a8c15dd
commit be8d3be4b3
4 changed files with 29 additions and 33 deletions

View File

@ -2,9 +2,6 @@ import Config
# Configure your database
config :cannery, Cannery.Repo,
url:
System.get_env("DATABASE_URL") ||
"ecto://postgres:postgres@localhost/cannery_dev",
show_sensitive_data_on_connection_error: true,
pool_size: 10

View File

@ -11,10 +11,6 @@ import Config
# before starting your production server.
config :cannery, CanneryWeb.Endpoint, cache_static_manifest: "priv/static/cache_manifest.json"
config :cannery, Cannery.Repo,
url: "ecto://postgres:postgres@localhost/cannery",
pool_size: 10
config :cannery, Cannery.Application, automigrate: true
# Do not print debug messages in production

View File

@ -12,12 +12,16 @@ if System.get_env("PHX_SERVER") && System.get_env("RELEASE_NAME") do
config :cannery, CanneryWeb.Endpoint, server: true
end
if config_env() == :prod do
maybe_ipv6 = if System.get_env("ECTO_IPV6"), do: [:inet6], else: []
database_url =
if config_env() == :test do
System.get_env("TEST_DATABASE_URL") ||
"ecto://postgres:postgres@localhost/cannery_test#{System.get_env("MIX_TEST_PARTITION")}"
else
System.get_env("DATABASE_URL") ||
"ecto://postgres:postgres@cannery-db/cannery"
maybe_ipv6 = if System.get_env("ECTO_IPV6"), do: [:inet6], else: []
end
config :cannery, Cannery.Repo,
# ssl: true,
@ -25,18 +29,6 @@ if config_env() == :prod do
pool_size: String.to_integer(System.get_env("POOL_SIZE") || "10"),
socket_options: maybe_ipv6
# The secret key base is used to sign/encrypt cookies and other secrets.
# A default value is used in config/dev.exs and config/test.exs but you
# want to use a different value for prod and you most likely don't want
# to check this value into version control, so we use an environment
# variable instead.
secret_key_base =
System.get_env("SECRET_KEY_BASE") ||
raise """
environment variable SECRET_KEY_BASE is missing.
You can generate one by calling: mix phx.gen.secret
"""
host = System.get_env("HOST") || "localhost"
config :cannery, CanneryWeb.Endpoint,
@ -49,10 +41,24 @@ if config_env() == :prod do
ip: {0, 0, 0, 0, 0, 0, 0, 0},
port: String.to_integer(System.get_env("PORT") || "4000")
],
secret_key_base: secret_key_base,
server: true,
registration: System.get_env("REGISTRATION") || "invite"
if config_env() == :prod do
# The secret key base is used to sign/encrypt cookies and other secrets.
# A default value is used in config/dev.exs and config/test.exs but you
# want to use a different value for prod and you most likely don't want
# to check this value into version control, so we use an environment
# variable instead.
secret_key_base =
System.get_env("SECRET_KEY_BASE") ||
raise """
environment variable SECRET_KEY_BASE is missing.
You can generate one by calling: mix phx.gen.secret
"""
config :cannery, CanneryWeb.Endpoint, secret_key_base: secret_key_base
# ## Using releases
#
# If you are doing OTP releases, you need to instruct Phoenix

View File

@ -9,9 +9,6 @@ config :bcrypt_elixir, :log_rounds, 1
# to provide built-in test partitioning in CI environment.
# Run `mix help test` for more information.
config :cannery, Cannery.Repo,
url:
System.get_env("TEST_DATABASE_URL") ||
"ecto://postgres:postgres@localhost/cannery_test#{System.get_env("MIX_TEST_PARTITION")}",
pool: Ecto.Adapters.SQL.Sandbox,
pool_size: 10