449 Commits

Author SHA1 Message Date
Ingo Oppermann
7a2d0a7ad9
Use reference affinity while rebalancing processes 2023-05-10 15:45:08 +02:00
Ingo Oppermann
5af5c686ee
Add basic rebalancing of processes 2023-05-10 14:01:40 +02:00
Ingo Oppermann
ae04dc50c7
Add process synchronization in leader role 2023-05-09 20:48:30 +02:00
Ingo Oppermann
6046bc34c9
Merge branch 'main' into dev v16.13.0 2023-05-08 12:52:45 +02:00
Ingo Oppermann
e0fdc37e8d
Bump version to 16.13.0 2023-05-08 12:52:14 +02:00
Jan Stabenow
8f85b7665b
Mod updates workflows 2023-05-08 12:24:16 +02:00
Ingo Oppermann
ec7d47734b
Remove double import 2023-05-08 11:47:40 +02:00
Ingo Oppermann
ab86b8fd5d
Allow to add self to nodes 2023-05-08 11:39:43 +02:00
Ingo Oppermann
b8b2990e61
Add process storage in raft 2023-05-05 17:31:57 +02:00
Ingo Oppermann
f4015f5cbd
Merge branch 'dev' into cluster 2023-05-05 15:56:26 +02:00
Ingo Oppermann
4c3c8d3bd4
Merge branch 'dev' into vod 2023-05-05 12:09:54 +02:00
Ingo Oppermann
ca261a56ee
Add looping_runtime to avstream status 2023-05-05 12:03:48 +02:00
Ingo Oppermann
cd58cf3df7
Fix panics if cluster is not enabled 2023-05-05 11:56:39 +02:00
Ingo Oppermann
e613a7423f
Update changelog 2023-05-05 10:47:32 +02:00
Ingo Oppermann
e76d140541
Update changelog 2023-05-05 10:44:25 +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
95a1306a77
Remove api address from join request 2023-05-05 09:03:45 +02:00
Ingo Oppermann
7f59c188cf
Remove node storage, use raft configuration instead; re-establish file and stream proxying 2023-05-04 19:49:53 +02:00
Ingo Oppermann
d201921a33
Allow to provide complete cluster configuration
Replace CORE_CLUSTER_JOIN_ADDRESS with CORE_CLUSTER_PEERS. This is
a comma separated list of cluster members with their IDs of the form
ID@host:port

On startup the node tries to connect to all the peers. In case of
sudden deaths of a node this will allow to find back into the
cluster. The list in CLUSTER_PEERS is a starting point of known
peers. Other node that are not in that list can still join the
cluster.

File and stream proxy has been moved to the Proxy type.
2023-05-03 16:13:05 +02:00
Ingo Oppermann
c0a5325f05
Merge branch 'dev' into cluster 2023-05-03 11:17:54 +02:00
Ingo Oppermann
6759ebc950
Fix keeping order on process update 2023-05-03 10:50:33 +02:00
Ingo Oppermann
d97a2709d8
Merge branch 'dev' into vod 2023-05-03 10:34:37 +02:00
Ingo Oppermann
8e2874a456
Fix exposing build system paths in logs 2023-05-03 10:34:07 +02:00
Ingo Oppermann
4d5a1f9617
Fix too early history transfer to new parser during process update 2023-05-02 22:39:34 +02:00
Ingo Oppermann
9545525e46
Extend process reconnect test 2023-05-02 20:53:49 +02:00
Ingo Oppermann
67cde54b90
Add test for progress data in history 2023-05-02 20:52:40 +02:00
Ingo Oppermann
da557271cb
Fix missing mutex for log history 2023-05-02 19:13:16 +02:00
Ingo Oppermann
4eb0258ba4
Add automatic bootstrap and recovery 2023-05-02 15:49:46 +02:00
Ingo Oppermann
06d7c6d0d4
Isolate order lock, call onExit later 2023-05-02 11:01:31 +02:00
Ingo Oppermann
3ee362a5fe
Fix race condition 2023-05-02 10:59:57 +02:00
Ingo Oppermann
7cca02f2b5
Add tests 2023-05-01 21:42:01 +02:00
Ingo Oppermann
c23722416b
Fix test 2023-05-01 16:39:47 +02:00
Ingo Oppermann
ef138fb90f
Limit CPU and memory independently, release CPU throttling incremently 2023-05-01 16:29:18 +02:00
Ingo Oppermann
2376e43f96
Fix process restart to restart immediately regardless if reconnect is defined 2023-04-29 08:27:40 +02:00
Ingo Oppermann
b7e0afc7a7
Fix tests 2023-04-29 08:26:22 +02:00
Ingo Oppermann
f0a7564c55
Transfer report history when a process is reloaded 2023-04-29 08:12:45 +02:00
Ingo Oppermann
024b5710b5
Allow whitespaces in front of key/value pairs in process placeholders 2023-04-29 08:06:01 +02:00
Ingo Oppermann
748bccc3d5
WIP: gradually decrease limiting resources 2023-04-29 07:49:37 +02:00
Ingo Oppermann
0921384568
Fix double import of path package 2023-04-29 07:48:29 +02:00
Ingo Oppermann
1d7fd960d5
Merge branch 'dev' into vod 2023-04-28 18:10:24 +02:00
Ingo Oppermann
74110dae54
Fix possible infinite loop with HLS session rewriter 2023-04-28 17:38:36 +02:00
Ingo Oppermann
f6d1cbbec2
WIP: release CPU throttling stepwise 2023-04-28 16:46:59 +02:00
Ingo Oppermann
74f98e8c7e
Define system CPU resources in percent 0-100, acquiring resources check with available system resources 2023-04-28 10:27:33 +02:00
Ingo Oppermann
7527f7833b
Add resource manager 2023-04-27 17:02:20 +02:00
Ingo Oppermann
b723f4e5fd
Propagate number of logical CPUs in resource usage 2023-04-27 10:58:41 +02:00
Ingo Oppermann
c9bdaae7f7
Call onExit if cmd.Start() fails 2023-04-26 22:17:08 +02:00
Ingo Oppermann
5e2060f785
WIP: add resource manager 2023-04-26 22:05:46 +02:00
Ingo Oppermann
1e35d29371
Fix tests 2023-04-26 16:12:41 +02:00