Quentin Gliech
c548417752
Refactor listeners building
2022-10-17 11:39:45 +02:00
Quentin Gliech
014a8366ed
Export Prometheus metrics on regular listeners
2022-10-17 11:39:45 +02:00
Quentin Gliech
84ac87f551
WIP: better listeners
...
- listen on UNIX domain sockets
- handle TLS stuff
- allow mounting only some resources
2022-10-17 11:39:45 +02:00
Quentin Gliech
7fbfb74a5e
WIP: better HTTP listeners
2022-10-17 11:39:45 +02:00
Quentin Gliech
93ce5c797c
Mount the static assets on /assets
2022-10-17 11:39:45 +02:00
Quentin Gliech
eeae943208
Drop the config schema generation subcommand & include it in the docs
2022-10-17 10:43:07 +02:00
Quentin Gliech
f5e3aa0404
Migrate to clap v4
2022-09-29 14:33:40 +02:00
Quentin Gliech
9e3b3567b2
Gate the prometheus exporter behind a feature
...
Also fixes the Docker image building and the CI builds
2022-09-28 11:13:53 +02:00
Quentin Gliech
56fdb64a84
HTTP metrics & other stuff
2022-09-28 11:13:53 +02:00
Quentin Gliech
3901829ccd
Prometheus exporter & other stuff
2022-09-28 11:13:53 +02:00
Quentin Gliech
7dd84a6584
WIP: bump OTEL
2022-09-28 11:13:53 +02:00
Quentin Gliech
7b819ffa8b
Simplify the HTTP client building
...
Also supports loading the WebPKI roots instead of the native ones for
TLS
2022-09-27 19:05:25 +02:00
Quentin Gliech
fa47f6e150
Upgrade axum to 0.6.0-rc.1
2022-09-06 13:11:54 +02:00
Quentin Gliech
cc6c6e8bdb
Remove the config dependency from the email, templates & handlers crates
2022-09-02 16:01:11 +02:00
Quentin Gliech
d7c9ca4796
Add a debug CLI command to check the compiled policies
2022-08-22 16:36:31 +02:00
Quentin Gliech
398379e21b
Better Tower layers
2022-08-19 10:51:24 +02:00
Quentin Gliech
c1ed726dc8
Enable the clippy::str_to_string lint
2022-08-08 10:06:20 +02:00
Quentin Gliech
ba6a382f2c
Authorization grant policy ( #288 )
...
Co-authored-by: Hugh Nimmo-Smith <hughns@matrix.org >
2022-07-21 16:18:59 +00:00
Quentin Gliech
eb22c33a7d
Remove the login policy (since it is not implemented yet)
2022-06-03 13:37:20 +02:00
Quentin Gliech
071055ad18
Embed the default policy in the binary
2022-06-03 13:37:20 +02:00
Quentin Gliech
aab1f49374
Support for applying OPA policies during client registration
2022-06-03 13:37:20 +02:00
Quentin Gliech
1aff98bdb3
Working legacy login endpoint
2022-05-19 10:17:49 +02:00
Quentin Gliech
185562c866
Form error state overhaul
...
This adds a new FormState structure here to hold the state of an errored
from, including retaining field value and better error codes.
It also adds error recovery for the registration form, and properly
loads the post_login_action context in case of errors.
2022-05-12 13:35:58 +02:00
Quentin Gliech
f4353b660e
Have a unified URL builder/router
2022-05-10 09:52:48 +02:00
Quentin Gliech
8a256596d7
Serve static files live from disk in dev mode
2022-04-28 16:08:50 +02:00
Quentin Gliech
a3f1a880aa
Remove some unnecessary dependencies
2022-04-08 09:10:33 +02:00
Quentin Gliech
bc24e30867
Add CORS headers to API-like routes
2022-04-07 16:25:42 +02:00
Quentin Gliech
b43817e66c
Attach remote and local address to HTTP server/client spans
2022-04-07 11:52:43 +02:00
Quentin Gliech
4e31fc6c84
Get rid of warp
2022-04-06 17:35:29 +02:00
Quentin Gliech
9b5ecd5bc4
Make the ServerLayer work properly with axum
2022-04-06 17:35:29 +02:00
Quentin Gliech
7c8f8722cd
Axum migration: signed cookies, errors, CSRF tokens, sessions
2022-04-06 17:35:29 +02:00
Quentin Gliech
797257cce7
Start migrating to Axum
...
Now with the homepage and the static files
2022-04-06 17:35:29 +02:00
Quentin Gliech
785101564a
Load multiple config files specified in the MAS_CONFIG env variable
2022-03-14 17:46:18 +01:00
Quentin Gliech
c9f16ae781
Load the config file from a environment variable
2022-03-11 17:03:28 +01:00
Quentin Gliech
62f633a716
Move clients to the database
2022-03-08 19:07:46 +01:00
Quentin Gliech
b81f4caace
Better OpenTelemetry tracer
2022-02-24 16:03:37 +01:00
Quentin Gliech
c5858e6ed5
Many improvements to the mas-http crate
...
- make `mas_http::client` implement Service directly instead of being
an async function
- a Get layer that makes a Service<Uri>
- better error sources in the JSON layer
- make the client have a proper error type
2022-02-15 08:28:25 +01:00
Quentin Gliech
497a3e006e
Implement a JSON tower layer
...
This will help requesting JSON APIs
2022-02-11 14:15:31 +01:00
Quentin Gliech
8c36e51176
Proper HTTP client
2022-02-10 16:38:17 +01:00
Quentin Gliech
2df40762a2
Dedicated HTTP server/client crate
...
Also have better names for the HTTP routes
2022-02-10 16:38:16 +01:00
Quentin Gliech
26a340d5dc
Bump dependencies
2022-02-04 10:18:01 +01:00
Quentin Gliech
c3ddc088ab
Reorganise CLI crate
2022-02-01 18:49:55 +01:00
Quentin Gliech
a45381828c
Loads of docs & enabling more clippy lints
2022-02-01 12:02:32 +01:00
Quentin Gliech
7e24cd0948
Move secrets and oauth2 clients config
2022-02-01 09:34:55 +01:00
Quentin Gliech
05f0756c13
Improve the configuration schema
2022-01-28 11:51:14 +01:00
Quentin Gliech
79d7561d93
Allow loading private keys from files
2022-01-26 18:29:11 +01:00
Quentin Gliech
c7a243a3a1
Minor logging improvements
...
- only have colors if the output terminal is a tty
- log in a non-blocking fashion
2022-01-26 17:21:54 +01:00
Quentin Gliech
46caf284cf
Fix traces not being created for requests
2022-01-25 11:46:14 +01:00
Quentin Gliech
1355be8fb8
Add AWS SES backend to send email
2022-01-24 16:31:53 +01:00
Quentin Gliech
93cbad34f5
Actually send emails
2022-01-19 18:00:45 +01:00