79 Commits

Author SHA1 Message Date
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
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
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
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
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
74110dae54
Fix possible infinite loop with HLS session rewriter 2023-04-28 17:38:36 +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
b6a9fa7965
Merge branch 'dev' into cluster 2023-04-13 16:25:53 +02:00
Ingo Oppermann
d807becc8a
Add support for input framerate data from jsonstats patch 2023-04-13 15:22:33 +02:00
Ingo Oppermann
ffdf6d3323
Merge branch 'dev' into cluster 2023-04-12 15:27:38 +02:00
Ingo Oppermann
7e9e6fce8d
Add number of keyframes and extradata size to process progress data 2023-04-04 20:44:57 +02:00
Ingo Oppermann
6eefa5ca2b
Fix purging default file from HTTP cache 2023-04-03 10:27:04 +02:00
Ingo Oppermann
48678fb4c6
Fix purging default file from HTTP cache 2023-03-23 11:17:13 +01:00
Ingo Oppermann
562b7aed92
Use better naming for storage endpoint documentation 2023-03-17 13:55:19 +01:00
Ingo Oppermann
1c04961fc1
Fix tests 2023-02-21 12:57:33 +01:00
Ingo Oppermann
05a176370a
Fix missing filesystem metadata and middlewares 2023-02-14 16:16:35 +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
ea79b87236
Add format annotation for integer types for swagger documentation 2023-01-11 21:05:40 +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
4cc82dd333
Update dependencies 2022-10-28 17:24:57 +02:00
Ingo Oppermann
4334105f95
Fix wrong status code (#6) 2022-10-28 11:10:16 +02:00
Ingo Oppermann
07e2898857
Expose more SRT connection statistics 2022-10-24 15:25:14 +02: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
6288b620df
Use pool for buffer 2022-09-28 14:53:58 +02:00
Ingo Oppermann
1ebf1f7f29
Write header only if a valid return code is available 2022-09-15 13:43:48 +02:00
Ingo Oppermann
3b0a19e18a
Allow to only compress responses that have a minimum length 2022-09-08 19:16:44 +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
Ingo Oppermann
2d754b4212
Log HTTP request and response body sizes 2022-09-07 13:53:26 +02:00
Ingo Oppermann
6ee565b3c9
Fix correct output of purge_on_delete value 2022-08-26 07:56:29 +03:00
Ingo Oppermann
5cdef36750
Merge branch 'dev' into cluster 2022-08-19 11:54:12 +03:00