diff options
author | Logan Hunt <loganhunt@simponic.xyz> | 2023-01-19 14:04:10 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-01-19 14:04:10 -0700 |
commit | 4666d7871a9e064a3b3033c7c1daa9c3c4972d98 (patch) | |
tree | 340ee6ae1dc6410f73bb7862a89c01b7039807de /config | |
parent | bdf99b4ee989df1813745e1dfd2983689b09ca85 (diff) | |
download | chessh-4666d7871a9e064a3b3033c7c1daa9c3c4972d98.tar.gz chessh-4666d7871a9e064a3b3033c7c1daa9c3c4972d98.zip |
Web Client (#11)
* Github Oauth
* A simple frontend
* Add middleware proxy on dev
* Forward proxy and rewrite path, add oauth to frontend, increase jwt expiry time to 12 hours
* Some simple style changes
* Add keys as user
* Checkpoint - auth is broken
* Fix auth and use player model, unrelated to this pr: flip board if dark
* Close player session when password or key deleted or put
* Add build script - this branch is quickly becoming cringe
* Docker v2 - add migration and scripts, fix local storage and index that caused build issues
* Ignore keys, proxy api correctly nginx
* Finally nginx is resolved jesus christ
* Remove max screen dimension limits cuz cringe
* Cursor highlight
* Add password form, some minor frontend changes as well
* Remove cringe on home page
* Move to 127.0.0.1 loopback in env
* Add github id in player structs for tests
Diffstat (limited to 'config')
-rw-r--r-- | config/config.exs | 11 | ||||
-rw-r--r-- | config/runtime.exs | 31 |
2 files changed, 40 insertions, 2 deletions
diff --git a/config/config.exs b/config/config.exs index ad54ebf..ef3c828 100644 --- a/config/config.exs +++ b/config/config.exs @@ -7,7 +7,6 @@ config :hammer, config :chessh, ecto_repos: [Chessh.Repo], key_dir: Path.join(Path.dirname(__DIR__), "priv/keys"), - port: 42_069, max_sessions: 255, ascii_chars_json_file: Path.join(Path.dirname(__DIR__), "priv/ascii_chars.json") @@ -16,6 +15,14 @@ config :chessh, RateLimits, jail_attempt_threshold: 15, max_concurrent_user_sessions: 5, player_session_message_burst_ms: 500, - player_session_message_burst_rate: 8 + player_session_message_burst_rate: 8, + player_public_keys: 15 + +config :chessh, Web, + port: 8080, + github_oauth_login_url: "https://github.com/login/oauth/access_token", + github_user_api_url: "https://api.github.com/user" + +config :joken, default_signer: "secret" import_config "#{config_env()}.exs" diff --git a/config/runtime.exs b/config/runtime.exs new file mode 100644 index 0000000..5c741ff --- /dev/null +++ b/config/runtime.exs @@ -0,0 +1,31 @@ +import Config + +config :chessh, + port: String.to_integer(System.get_env("SSH_PORT", "42069")) + +config :chessh, Web, + github_client_id: System.get_env("GITHUB_CLIENT_ID"), + github_client_secret: System.get_env("GITHUB_CLIENT_SECRET"), + github_user_agent: System.get_env("GITHUB_USER_AGENT"), + client_redirect_after_successful_sign_in: + System.get_env("CLIENT_REDIRECT_AFTER_OAUTH", "http://localhost:3000") + +config :joken, + default_signer: System.get_env("JWT_SECRET") + +if config_env() == :prod do + database_url = + System.get_env("DATABASE_URL") || + raise """ + environment variable DATABASE_URL is missing. + For example: ecto://USER:PASS@HOST/DATABASE + """ + + maybe_ipv6 = if System.get_env("ECTO_IPV6"), do: [:inet6], else: [] + + config :chessh, Chessh.Repo, + # ssl: true, + url: database_url, + pool_size: String.to_integer(System.get_env("POOL_SIZE") || "10"), + socket_options: maybe_ipv6 +end |