38 Commits

Author SHA1 Message Date
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
f59a63320c
Allow to pass metadata with process config, non-cluster only 2023-06-01 21:24:33 +02:00
Ingo Oppermann
d652fd213b
Check for identical configs on process update 2023-06-01 16:43:17 +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
e9034aa171
Create identity and access packages for IAM 2023-05-25 16:16:29 +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
ead6e64442
Merge branch 'dev' into iam 2023-05-15 21:17:23 +02:00
Ingo Oppermann
6759ebc950
Fix keeping order on process update 2023-05-03 10:50:33 +02:00
Ingo Oppermann
1e35d29371
Fix tests 2023-04-26 16:12:41 +02:00
Ingo Oppermann
d59158de03
Allow hard and soft limiting a process
A hard limit will kill the process as soon as either CPU or memory
consumption are above a defined limit for a certain amount of time.

A soft limit will throttle the CPU usage if above a defined limit and
kill the process if memory consumption is above a defined limit. The
soft limit can be enabled/disabled on demand.

The default is hard limit.
2023-04-26 16:01:50 +02:00
Ingo Oppermann
a2dab2682f
Fix not propagating process limits 2023-04-26 09:49:28 +02:00
Ingo Oppermann
2f9a997a8d
Add test for process limits 2023-04-25 21:59:22 +02:00
Ingo Oppermann
3e7e5d5c9c
Merge branch 'dev' into vod 2023-04-24 16:14:32 +02:00
Ingo Oppermann
061542645c
Fix test 2023-04-24 12:28:42 +02:00
Ingo Oppermann
c1bbb4065c
Merge branch 'dev' into vod 2023-04-24 12:16:52 +02:00
Ingo Oppermann
317d6eb4d9
Add updated_at field in process infos 2023-04-24 12:05:01 +02:00
Ingo Oppermann
6ddd58a124
Preserve process log history when updating a process 2023-04-24 11:59:09 +02:00
Ingo Oppermann
2b1459c5e8
Fix test 2023-04-17 15:24:39 +02:00
Ingo Oppermann
78686c81f4
Fix keeping matches in the report history 2023-04-17 15:03:25 +02:00
Ingo Oppermann
4e7b84dd96
Fix tests 2023-03-28 14:31:43 +02:00
Ingo Oppermann
0a3117bbd0
Add log_patterns to process config
log_patterns allow to filter the FFmpeg log messages based on regular
expressions. Each entry of log_patterns is interpreted as regular
expression and matched against every non-progress log line emitted from
FFmpeg. All matching lines are returned in the matches array of the
report.
2023-03-27 15:50:25 +02:00
Ingo Oppermann
8755117e92
Add /api/v3/iam/user endpoints 2023-03-07 16:31:58 +01:00
Ingo Oppermann
81473e6adb
Fix placeholder parameter parsing 2023-03-03 17:26:59 +01:00
Ingo Oppermann
3cad139952
Create directories for output files to be written on disk 2023-03-01 11:08:20 +01:00
Ingo Oppermann
be718eac0a
Add support for date placeholder in process config
Because it doesn't make sense to replace the date placeholder at
process creation, it has to be replaced at every start of the process.

On process creation only the static placeholders (such as process ID)
are replaced. Dynamic placeholders (so far only "date") are not
replaced. On process start, a callback has been introduced that gives
the chance to change the command line. This is the point where
the restreamer replaces the date placeholders.
2023-02-28 17:46:08 +01:00
Ingo Oppermann
2df83c8032
Fix linter warnings 2023-02-17 10:37:22 +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
b2cd8f7133
Allow probe with individual timeout 2023-01-23 17:09:55 +01:00
Ingo Oppermann
505fbff03f
Add tests 2023-01-23 11:42:17 +01:00
Ingo Oppermann
3e7b1751d5
Add process id and reference glob pattern matching
For the API endpoint /v3/process two new query parameter are introduced
in order to list only processes that match a pattern for the id and the
reference: idpattern and refpattern. The pattern is a glob pattern. If
patterns for both are given, the results will be intersected. If you use
other query parameters such as id or reference, they will be applied
after the result of the pattern matching.
2022-08-17 07:55:44 +03:00
Ingo Oppermann
337e0040c2
Fix input and output validation with tee outputs 2022-07-07 15:45:24 +02:00
Ingo Oppermann
dfcecf737a
Fix validating a tee muxer address with only one output 2022-07-01 16:35:47 +02:00
Ingo Oppermann
1931782638
Fix output address validation for tee outputs 2022-06-30 21:07:53 +02:00
Ingo Oppermann
814e205ab5
Fix tests such that ffmpeg binary is not required 2022-06-24 19:47:12 +02:00
Jan Stabenow
eb1cc37456
Add GoSRT & improvements (repo-merge)
Commits (Ingo Oppermann):
- Add experimental SRT connection stats and logs
- Hide /config/reload endpoint in reade-only mode
- Add SRT server
- Create v16 in go.mod
- Fix data races, tests, lint, and update dependencies
- Add trailing slash for routed directories (datarhei/restreamer#340)
- Allow relative URLs in content in static routes

Co-Authored-By: Ingo Oppermann <57445+ioppermann@users.noreply.github.com>
2022-06-23 22:13:58 +02:00
Jan Stabenow
9c0b535199
Add v16.7.2 2022-05-13 19:26:45 +02:00