491 Commits

Author SHA1 Message Date
Ingo Oppermann
b8a975b7c7
Add logging HTTP requests as single session 2023-06-21 16:46:35 +02:00
Ingo Oppermann
6826a0b22d
Only accept log commands 2023-06-21 16:37:57 +02:00
Ingo Oppermann
69e264f22c
Don't expose Stop() on collector, allow to close a session explicitely 2023-06-21 13:21:25 +02:00
Ingo Oppermann
b35ac9ccc3
Allow proxied range requests, /cluster/process mimic /process 2023-06-21 13:14:27 +02:00
Ingo Oppermann
a9b92e7f9a
Fix re-emitting Content-Length header if file doesn't exceed the minimum length 2023-06-21 12:04:36 +02:00
Ingo Oppermann
1f55c7d07e
Set default IAM domain if none provided 2023-06-21 09:08:25 +02:00
Ingo Oppermann
f0957e2815
Clarify log message 2023-06-20 22:51:11 +02:00
Ingo Oppermann
435adfb6ea
Return error if iam wants to be modified in cluster mode via non-cluster API 2023-06-20 22:40:36 +02:00
Ingo Oppermann
8283815dec
List anonymous user in GET /v3/cluster/iam/user 2023-06-20 20:31:23 +02:00
Ingo Oppermann
7565427f9a
Add GET /v3/iam/user endpoint 2023-06-20 20:27:51 +02:00
Ingo Oppermann
ee45c85c29
Fix logging, add json tags, fix create directories before copy/rename a file 2023-06-20 16:14:24 +02:00
Ingo Oppermann
694f51d566
Update API docs 2023-06-20 15:36:40 +02:00
Ingo Oppermann
9fc0bb0a64
Fix env variable for session log path pattern 2023-06-20 15:26:08 +02:00
Ingo Oppermann
d3eed2a417
Allow to log each finished session to filesystem
By providing CORE_SESSIONS_SESSION_LOG_PATH_PATTERN (e.g. "/log/%Y-%m-%d.log") all
finished sessions will be logged to a file according to the provided strftime-pattern. The
actual value is calculated from when the session closed. CORE_SESSIONS_PERSIST must
be set. Default: not set.

Set CORE_SESSIONS_SESSION_LOG_BUFFER_SEC to the number of seconds the log should be
buffered in memory before persisted to disk. Default 15 seconds.
2023-06-20 15:19:25 +02:00
Ingo Oppermann
98e4dec13a
Upgrade dependencies 2023-06-19 13:02:22 +02:00
Ingo Oppermann
0a5661f7ab
Update dependencies 2023-06-16 13:30:56 +02:00
Ingo Oppermann
e366ff8626
Fix not deleting old file entries in proxy file list 2023-06-15 20:19:16 +02:00
Ingo Oppermann
a84b4f4599
Fix URL assembling 2023-06-15 14:22:47 +02:00
Ingo Oppermann
7fc547c304
Fix assembling SRT streamid, log output 2023-06-15 14:22:07 +02:00
Ingo Oppermann
83f2954820
Fix assembling and proxying a RTMP url 2023-06-15 14:21:17 +02:00
Ingo Oppermann
9635d0eccc
Remove limit in process config limits 2023-06-15 14:20:31 +02:00
Ingo Oppermann
e837aebe70
Listen to identity updates in order to reload the identities 2023-06-15 14:19:50 +02:00
Ingo Oppermann
3cc8626ae1
Fix RTMP and SRT URL generation in placeholder 2023-06-15 14:19:02 +02:00
Ingo Oppermann
22fd241b89
Update API docs 2023-06-14 22:37:33 +02:00
Ingo Oppermann
debcce192d
Add the process domain to the bas path in placeholders and cleanup rules 2023-06-14 22:30:00 +02:00
Ingo Oppermann
a728cc7839
Fix clusterNode/proxyNode 2023-06-14 22:05:59 +02:00
Ingo Oppermann
cfc5650e1a
Improve error messages 2023-06-14 13:57:13 +02:00
Ingo Oppermann
50e943a075
WIP: add session token, missing: writing sessions to log 2023-06-14 12:30:50 +02:00
Ingo Oppermann
98a307c174
Remove domain parameter from ResourceMatch function 2023-06-13 10:37:00 +02:00
Ingo Oppermann
ccf4bee56d
WIP: cluster node revamp, add version and config comparison 2023-06-13 10:25:08 +02:00
Ingo Oppermann
30857b6f59
Fix filenames in benchmark 2023-06-12 11:56:44 +02:00
Ingo Oppermann
129058e633
Improve FS.List and FS.RemoveList functions, improve CleanupFS
The FS.List and FS.RemoveList are up to 42x faster by precompiling the
globbing pattern.

The CleanupFS from restreamer/fs is up to 32x faster in the benchmarks
and cleanup is now only every 5 seconds instead of every second.
2023-06-12 11:36:07 +02:00
Ingo Oppermann
82ba3a8f82
WIP: introducing cluster versioning, degraded mode 2023-06-09 21:42:26 +02:00
Ingo Oppermann
108b9baaa4
Adjusting naming of functions 2023-06-08 14:48:28 +02:00
Ingo Oppermann
a03ce87ec7
Add tests 2023-06-08 13:21:14 +02:00
Ingo Oppermann
7e7d1caca7
Add EmergencyLeaderTimeout parameter, ignore throttling nodes, implement NodeRecoverTimeout, introduce processNodeMap in cluster DB 2023-06-07 22:08:07 +02:00
Ingo Oppermann
bd75a5ad0f
Add SyncInterval and NodeRecoverTimeout to cluster config 2023-06-07 10:18:23 +02:00
Ingo Oppermann
ae84fd1d21
Create module for cluster IAM adapters 2023-06-07 10:02:35 +02:00
Ingo Oppermann
08bdf752f1
Fix tests 2023-06-06 22:07:21 +02:00
Ingo Oppermann
ef6d90d8ce
Fix lasContact increasing on error 2023-06-06 21:54:57 +02:00
Ingo Oppermann
fc03bf73a2
Make resource manager a main module and expose more details 2023-06-06 21:28:08 +02:00
Ingo Oppermann
3ac7ead20d
Add the resource limits to the metrics 2023-06-06 15:20:59 +02:00
Ingo Oppermann
3adf5fd7d4
Add docs for internal cluster API at /v1/swagger/index.html 2023-06-06 13:00:16 +02:00
Ingo Oppermann
cefc03bcb2
If leave fails, shutdown cluster anyways 2023-06-06 11:25:02 +02:00
Ingo Oppermann
1f6f7c9f59
Add API endpoint to leave cluster gracefully, hard leave on exit 2023-06-06 11:22:53 +02:00
Ingo Oppermann
8829b8fff0
Respect domain in cluster DB, allow metadata in process config for cluster 2023-06-05 21:19:11 +02:00
Ingo Oppermann
1689f3f7db
Fix logging of api.Err
When a handler returns an api.Err the logging middleware logged a
200 OK, however the correct code and response has been sent to the
client.
2023-06-05 14:52:27 +02:00
Ingo Oppermann
747e443e25
Fix tests 2023-06-02 16:51:23 +02:00
Ingo Oppermann
e532531eeb
Allow to set process metadata in the cluster 2023-06-02 14:17:35 +02:00
Ingo Oppermann
e9ba394c2e
Fix process stored in DB 2023-06-02 14:16:12 +02:00