75 Commits

Author SHA1 Message Date
Ingo Oppermann
480dbb7f53
Refactor cluster node code 2024-07-09 12:26:02 +02:00
Ingo Oppermann
371c62fa8d
Update dependencies 2024-06-05 10:46:35 +02:00
Ingo Oppermann
32ccfc24ee
Upgrade dependencies 2024-05-28 14:32:25 +02:00
Ingo Oppermann
72ba297a75
Update core client 2024-04-29 17:05:13 +02:00
Ingo Oppermann
24cc87ae7e
Update dependencies 2024-04-29 16:37:17 +02:00
Ingo Oppermann
ac2a20094f
Add brotli and zstd content-encoding 2024-04-25 12:50:17 +02:00
Ingo Oppermann
718bd3eb07
Add zstd middleware 2024-04-25 10:00:10 +02:00
Ingo Oppermann
03da97217b
Use faster JSON and gzip packages 2024-04-24 15:42:11 +02:00
Ingo Oppermann
3a31ce6f0e
Upgrade core client 2024-04-15 14:59:31 +02:00
Ingo Oppermann
91d07c6013
Replace memfs storage backend with a faster one 2024-03-15 14:48:32 +01:00
Ingo Oppermann
a416beea08
Add stream mapping to process state, adjust addresses and indexes for HLS outputs 2023-09-26 14:52:54 +02:00
Ingo Oppermann
9ece518525
Update core client 2023-09-21 00:18:40 +02:00
Ingo Oppermann
17ffa2b700
Upgrade github.com/golang-jwt/jwt to v5 2023-09-04 17:45:01 +02:00
Ingo Oppermann
722d3a4cab
Update dependencies 2023-09-04 16:46:37 +02:00
Ingo Oppermann
157b35b396
Update dependencies 2023-08-31 14:06:17 +02:00
Ingo Oppermann
d19010944d
Add POST /cluster/process/probe endpoint 2023-08-09 14:10:16 +03:00
Ingo Oppermann
76b3713b2e
Upgrade dependencies 2023-08-08 13:06:59 +03:00
Ingo Oppermann
dc9727bfef
Update dependencies 2023-07-25 17:13:10 +02:00
Ingo Oppermann
3a13bbf88b
Update core client package 2023-07-21 11:50:16 +02:00
Ingo Oppermann
a193e93b94
Update core client package 2023-07-21 10:31:33 +02:00
Ingo Oppermann
9358ab79ed
Update dependencies 2023-07-17 21:52:15 +02:00
Ingo Oppermann
cd31893286
Update dependencies 2023-07-17 17:00:42 +02:00
Ingo Oppermann
34404a76d2
Update dependencies 2023-07-10 11:11:47 +02:00
Ingo Oppermann
4aec1d9817
Upgrade dependencies 2023-07-07 16:50:15 +02:00
Ingo Oppermann
9905ac70f0
Check for equal FFmpeg skills, remove /v1/version 2023-07-06 16:12:06 +02:00
Ingo Oppermann
e71a352521
Update dependencies 2023-07-03 21:31:46 +02:00
Ingo Oppermann
c5d52dbeb3
Add gops agent
The gops agent can be enabled by providing an address to
CORE_DEBUG_AGENT_ADDRESS where it will listen to requests
from the gops utility.
2023-07-03 21:27:44 +02:00
Ingo Oppermann
dd128ac99b
Fix gathering of hostnames, add /v3/cluster/db/kv endpoint 2023-06-27 14:52:32 +02:00
Ingo Oppermann
b35ac9ccc3
Allow proxied range requests, /cluster/process mimic /process 2023-06-21 13:14:27 +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
a728cc7839
Fix clusterNode/proxyNode 2023-06-14 22:05:59 +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
e532531eeb
Allow to set process metadata in the cluster 2023-06-02 14:17:35 +02:00
Ingo Oppermann
a79cfa0c77
Merge branch 'clusteriam' into vod 2023-06-01 15:16:54 +02:00
Ingo Oppermann
89cc42c4b9
Add cluster IAM, update dependencies 2023-05-30 21:24:12 +02:00
Ingo Oppermann
710d5c595f
Merge branch 'iam' into clusteriam 2023-05-25 11:05:26 +02:00
Ingo Oppermann
ead6e64442
Merge branch 'dev' into iam 2023-05-15 21:17:23 +02:00
Ingo Oppermann
958b1232db
Use official core API client 2023-05-12 17:56:49 +02:00
Ingo Oppermann
bd46d13bcf
Merge branch 'dev' into cluster 2023-05-05 10:25:09 +02:00
Ingo Oppermann
64f7068293
Merge branch 'dev' into vod 2023-05-05 10:22:54 +02:00
Ingo Oppermann
d41469cdbf
Upgrade rtmp library dependency
This fixes a bug in the rtmp library where an error has been left
unchecked caused by a malformed app or playPath. This led to a nil
value for the URL of the publish or play request. However, this
URL should never be nil and accessing this URL caused a panic and
finally shutting the core down, resulting in a DoS.

Thanks to Johannes Frank
2023-05-05 10:04:18 +02:00
Ingo Oppermann
e6b64dbe97
WIP: raft 2023-04-13 09:42:19 +02:00
Ingo Oppermann
8326160b28
Add option to set GOMAXPROCS automatically
Use the debug.auto_max_procs config value or the CORE_DEBUG_AUTO_MAX_PROCS
environment variable. Set it to "true" to enable this feature.
2023-04-11 17:12:01 +02:00
Ingo Oppermann
8c3fd4dc17
Merge branch 'dev' into vod 2023-04-11 16:39:30 +02:00
Ingo Oppermann
aef1b7c9a2
Fix #10 2023-04-11 15:04:31 +02:00
Ingo Oppermann
d2e5720fa2
Fix limiting part sizes for S3 upload 2023-04-06 12:06:50 +02:00
Ingo Oppermann
029bf208e7
Add bandwidth limit to filesystem operations, rename fields 2023-03-30 09:51:29 +02:00
Ingo Oppermann
b63b23527b
Add scheduler and timeout to processes
The scheduler allows to define when a process should run. It can be either
a timestamp in RFC3339 format or a crontab expression. If a scheduler is
given, reconnect and the reconnect delay will only apply to processes that
exited as failed.

The timeout allows to define when a process should be gracefully stopped.
It is measured from the actual start of that process including all reconnects
due to failures. If the process finished regularly, the timeout will be
reset.
2023-03-21 14:51:43 +01:00