67 Commits

Author SHA1 Message Date
Ingo Oppermann
1f6f7c9f59
Add API endpoint to leave cluster gracefully, hard leave on exit 2023-06-06 11:22:53 +02:00
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
a79cfa0c77
Merge branch 'clusteriam' into vod 2023-06-01 15:16:54 +02:00
Ingo Oppermann
401156e4d2
Enforce policies 2023-05-31 16:39:43 +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
10df8d51b1
Simplify IAM user config, only create users and policies if not previously run 2023-05-24 22:28:24 +02:00
Ingo Oppermann
3c89cbb831
Create identities for basic auth access to mount points 2023-05-24 14:29:14 +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
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
ab86b8fd5d
Allow to add self to nodes 2023-05-08 11:39:43 +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
7f59c188cf
Remove node storage, use raft configuration instead; re-establish file and stream proxying 2023-05-04 19:49:53 +02:00
Ingo Oppermann
c0a5325f05
Merge branch 'dev' into cluster 2023-05-03 11:17:54 +02:00
Ingo Oppermann
b723f4e5fd
Propagate number of logical CPUs in resource usage 2023-04-27 10:58:41 +02:00
Ingo Oppermann
b70382c40b
Expose resource usage in process state 2023-04-25 16:20:59 +02:00
Ingo Oppermann
3a1825cf61
Expose resource usage in report history 2023-04-25 15:55:32 +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
78686c81f4
Fix keeping matches in the report history 2023-04-17 15:03:25 +02:00
Ingo Oppermann
b6a9fa7965
Merge branch 'dev' into cluster 2023-04-13 16:25:53 +02:00
Ingo Oppermann
5d9db55032
Merge branch 'dev' into vod 2023-04-13 15:23:09 +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
507b4f4b9a
Merge branch 'dev' into vod 2023-04-11 08:29:39 +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
029bf208e7
Add bandwidth limit to filesystem operations, rename fields 2023-03-30 09:51:29 +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
99c571d623
Add event filter support 2023-03-23 14:50:59 +01:00
Ingo Oppermann
b84fdddd81
Add /api/v3/events endpoint 2023-03-23 11:11:47 +01:00
Ingo Oppermann
b21aba5f9d
Remove /process/:id/report/:at endpoint, extend /process/:id/report endpoint 2023-03-22 12:31:41 +01:00
Ingo Oppermann
c92f2fd1df
Fix JSON name of process timeout 2023-03-21 14:54:33 +01:00
Ingo Oppermann
b63b23527b
Add scheduler and timeout to processes
The scheduler allows to define when a process should run. It can be either
a timestamp in RFC3339 format or a crontab expression. If a scheduler is
given, reconnect and the reconnect delay will only apply to processes that
exited as failed.

The timeout allows to define when a process should be gracefully stopped.
It is measured from the actual start of that process including all reconnects
due to failures. If the process finished regularly, the timeout will be
reset.
2023-03-21 14:51:43 +01:00
Ingo Oppermann
4ce8a0eaa3
Add config value for how many minimal process report should be kept in the history
A minimal history is a history entry without log and prelude.

The corresponding config entry is ffmpeg.log.max_minimal_history. This value is
added on top of the ffmpeg.log.max_history value. I.e. the latest max_history
entries contain the log and prelude, and the remaining entries don't have the
log and prelude. In total there are max_minimal_history+max_history history
entries.

If you want no history, set both values to 0.
If you want only full history, set max_minimal_history to 0.
If you want only minimal history, set max_history to 0.
2023-03-16 12:25:06 +01:00
Ingo Oppermann
1d298038dd
Add date of when a process exited in report history 2023-03-14 15:10:06 +01:00
Ingo Oppermann
a0ef3ab5ee
WIP: add /api/v3/iam/group/* endpoints 2023-03-09 19:03:58 +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
a3ff16ef30
Add PUT /api/v3/fs endpoint for file operations 2023-03-03 14:26:17 +01:00
Ingo Oppermann
eb3f396793
Remove debug printf, add tests 2023-03-02 21:04:37 +01:00
Ingo Oppermann
0dedcddece
Add process report API 2023-03-02 11:15:57 +01:00
Ingo Oppermann
86b3c053f1
Add exit state and last progress data to process report history 2023-03-01 15:28:28 +01:00