507 Commits

Author SHA1 Message Date
Ingo Oppermann
a4b0c4fc36
Add experimental LE certificate retrieval for cluster 2023-06-26 20:38:16 +02:00
Ingo Oppermann
ddb18a8c3c
Return error on reload on encountering an invalid identity 2023-06-26 14:05:22 +02:00
Ingo Oppermann
abfe4918b4
Loosen restrictions for IAM user names
The only restriction for an IAM username is that it cannot start with
a '$'. An username that contains a ':' must escape it with another ':'
for use in a token for RTMP or SRT.
2023-06-26 13:49:53 +02:00
Ingo Oppermann
6f47f96f6e
Get peer config via cluster API 2023-06-26 10:35:00 +02:00
Ingo Oppermann
7bb4103c00
Fix double close file in GetFile handler 2023-06-23 21:49:02 +02:00
Ingo Oppermann
37cac48223
Adjust returned API errors 2023-06-23 21:42:01 +02:00
Ingo Oppermann
f37896a1e3
Implement certmagic.Storage on cluster 2023-06-23 21:00:45 +02:00
Ingo Oppermann
fc49c97a9f
Fix tests 2023-06-22 22:02:59 +02:00
Ingo Oppermann
944d487730
Allow to send command to process on the cluster 2023-06-22 21:43:51 +02:00
Ingo Oppermann
f965d106d3
Add /v1/core/config endpoint to cluster API client 2023-06-22 20:30:35 +02:00
Ingo Oppermann
cbe6754b2f
Add /v1/core/config endpoint to cluster API 2023-06-22 16:33:06 +02:00
Ingo Oppermann
faf0aab53a
Update cluster API documentation 2023-06-22 16:21:13 +02:00
Ingo Oppermann
e5f0b3a57f
Add KV store in cluster DB 2023-06-22 16:20:09 +02:00
Ingo Oppermann
db00144cab
Clear locks only if not in emergency mode 2023-06-22 15:12:44 +02:00
Ingo Oppermann
a4d59a04b5
Add leader task to clear the expired locks 2023-06-22 14:12:02 +02:00
Ingo Oppermann
dc3e7afc52
Add locks on the cluster DB 2023-06-22 12:22:25 +02:00
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