Commit Graph

73 Commits

Author SHA1 Message Date
Ingo Oppermann
2364aa9d41 Fix deadlock in node, list processes per node 2023-05-31 09:36:53 +02:00
Ingo Oppermann
89cc42c4b9 Add cluster IAM, update dependencies 2023-05-30 21:24:12 +02:00
Ingo Oppermann
1974442814 Allow to add and remove identites 2023-05-26 20:06:34 +02:00
Ingo Oppermann
56e03308c2 Add call chain to add a new user 2023-05-26 12:25:05 +02:00
Ingo Oppermann
e9034aa171 Create identity and access packages for IAM 2023-05-25 16:16:29 +02:00
Ingo Oppermann
710d5c595f Merge branch 'iam' into clusteriam 2023-05-25 11:05:26 +02:00
Ingo Oppermann
930b84b557 Add Enforcer interface 2023-05-25 10:29:55 +02:00
Ingo Oppermann
7a1eb1251b Remove IAM group semantics 2023-05-23 16:05:04 +02:00
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
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
7d2b7b4836 WIP: allow update processes in cluster 2023-05-12 12:59:01 +02:00
Ingo Oppermann
d214607ff8 Move code into packages 2023-05-10 20:41:04 +02:00
Ingo Oppermann
ae04dc50c7 Add process synchronization in leader role 2023-05-09 20:48:30 +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
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
317d6eb4d9 Add updated_at field in process infos 2023-04-24 12:05:01 +02:00
Ingo Oppermann
386bdc0b6e WIP: add emergency leader, api circuit breaker 2023-04-21 17:19:21 +02:00
Ingo Oppermann
ffdf6d3323 Merge branch 'dev' into cluster 2023-04-12 15:27:38 +02:00
Ingo Oppermann
84817f137a Merge branch 'dev' into iam 2023-04-03 15:44:16 +02:00
Ingo Oppermann
562b7aed92 Use better naming for storage endpoint documentation 2023-03-17 13:55:19 +01:00
Ingo Oppermann
a0ef3ab5ee WIP: add /api/v3/iam/group/* endpoints 2023-03-09 19:03:58 +01:00
Ingo Oppermann
d101a76e9e Change anon user to localhost user only if DisableLocalhost is set 2023-03-08 15:21:55 +01:00
Ingo Oppermann
41eab6f40a Use own type as context key 2023-03-08 14:24:53 +01:00
Ingo Oppermann
c60327c61d WIP: group API 2023-03-08 09:19:48 +01:00
Ingo Oppermann
8755117e92 Add /api/v3/iam/user endpoints 2023-03-07 16:31:58 +01:00
Ingo Oppermann
f3de5a338b Merge branch 'dev' into iam 2023-02-22 11:57:56 +01:00
Ingo Oppermann
1c04961fc1 Fix tests 2023-02-21 12:57:33 +01:00
Ingo Oppermann
8215c20ae6 Fix basic auth, disable localhost, replace template func 2023-02-17 17:27:39 +01:00
Ingo Oppermann
acc4d7ec5a WIP: verify policies for processes, rtmp, and srt. rewriter for local urls 2023-02-15 21:43:37 +01:00
Ingo Oppermann
a9459bda7c WIP enforcing policies on process level 2023-02-14 15:23:50 +01:00
Ingo Oppermann
312f65d110 WIP: add verfiers, fix bugs, implement middleware, support rtmp 2023-02-09 21:33:45 +01:00
Ingo Oppermann
2a3288ffd0 Use abstract filesystem for stores 2023-02-01 16:09:20 +01:00
Ingo Oppermann
f519acfd71 Add S3 storage support 2023-01-31 14:45:58 +01:00
Ingo Oppermann
e374f83377 Fix config timestamps
created_at represents the time when the configuration has been persisted to disk.
loaded_at represents the time when the configuration has actually been used.

If created_at is larger than loaded_at, then the Core needs a reload in order
to apply the latest configuration.

if created_at is lower than laoded_at, then the Core applied the latest
configuration.

The value of updated_at is irrelevant and shouldn't be used.
2023-01-19 16:13:53 +01:00
Ingo Oppermann
311defb27c Fix /config/reload return type 2023-01-19 11:46:45 +01:00
Ingo Oppermann
59aa6af767 Allow partial process config updates 2023-01-02 07:20:39 +01:00
Ingo Oppermann
c44fb30a84 Fix check for at least one process input and output 2023-01-02 06:57:02 +01:00
Ingo Oppermann
f746e581ae Add version annotation to API methods 2022-10-13 20:54:52 +02:00
Ingo Oppermann
6ef334331b Fix accumulating total sessions 2022-10-10 18:40:45 +02:00
Ingo Oppermann
8314f71402 Fix widget session data 2022-10-10 16:55:43 +02:00
Ingo Oppermann
4d4e70571e Fix proper version handling for uploading a new config 2022-10-10 16:19:45 +02:00
Ingo Oppermann
963353e6a2 Merge branch 'dev' into cluster 2022-09-29 14:40:00 +02:00
Ingo Oppermann
9ef4ae9b5e Fix cluster api responses 2022-09-28 21:49:25 +02:00
Ingo Oppermann
f1d71c202b Fix HLS streaming and cleanup on diskfs 2022-09-08 15:00:09 +02:00
Ingo Oppermann
285ef79716 Add /v3/metrics (get) endpoint to list all known metrics 2022-09-08 13:50:53 +02:00