714 Commits

Author SHA1 Message Date
Ingo Oppermann
ccac2ffd5d
Various updates
- rebrand group to domain
- move IAM to the API (rest and graph) for enforcing "process:" rules
- add abstraction layer for restream store in order to decouple internal format from format on disk
- move playout handler into restreamHandler
- remove user from restream interface
- add TaskID type that includes the process id and its domain
2023-05-23 15:47:06 +02:00
Ingo Oppermann
6f831fd190
Reduce IAM API to only user and policies 2023-05-17 18:19:23 +02:00
Ingo Oppermann
f03e2ca5c5
Merge branch 'dev' into iam 2023-05-16 13:19:45 +02:00
Ingo Oppermann
8c3b570ecc
Fix log transfer 2023-05-15 21:31:58 +02:00
Ingo Oppermann
ead6e64442
Merge branch 'dev' into iam 2023-05-15 21:17:23 +02:00
Ingo Oppermann
6a4c715f75
Fix update process, list process in raft store 2023-05-13 21:21:47 +02:00
Ingo Oppermann
29242b96ca
Allow to update a process 2023-05-13 20:29:42 +02:00
Ingo Oppermann
958b1232db
Use official core API client 2023-05-12 17:56:49 +02:00
Ingo Oppermann
adf43eaf01
Merge branch 'dev' into cluster 2023-05-12 12:59:30 +02:00
Ingo Oppermann
7d2b7b4836
WIP: allow update processes in cluster 2023-05-12 12:59:01 +02:00
Ingo Oppermann
f3e410f4f5
Change resources to absolute values 2023-05-11 21:58:55 +02:00
Ingo Oppermann
e4ca661b25
Fix logging 2023-05-11 16:12:41 +02:00
Ingo Oppermann
f566dee9f2
Abstract raft into own package 2023-05-11 12:09:04 +02:00
Ingo Oppermann
d214607ff8
Move code into packages 2023-05-10 20:41:04 +02:00
Ingo Oppermann
862c36c9e6
Use reference affinity when distributing processes 2023-05-10 19:59:15 +02:00
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