71 Commits

Author SHA1 Message Date
Ingo Oppermann
30be82c9fb
Merge branch 'dev' into vod 2023-04-03 10:29:01 +02:00
Ingo Oppermann
6eefa5ca2b
Fix purging default file from HTTP cache 2023-04-03 10:27:04 +02:00
Ingo Oppermann
75332ade0a
Merge branch 'dev' into vod 2023-04-03 10:25:06 +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
814975dfee
Fix duplicate ID in swagger annotations 2023-03-27 14:35:50 +02:00
Ingo Oppermann
7188a7dcdd
Potentially fix panic on event subscriber disconnect 2023-03-23 21:07:21 +01:00
Ingo Oppermann
094e666926
Fix swagger documentation for /api/v3/events 2023-03-23 19:46:24 +01:00
Ingo Oppermann
99c571d623
Add event filter support 2023-03-23 14:50:59 +01:00
Ingo Oppermann
48678fb4c6
Fix purging default file from HTTP cache 2023-03-23 11:17:13 +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
a692f88b69
Add DELETE /api/v3/fs/:storage endpoint
Works similar to the GET endpoint. It has the same query parameter (without
"sort" and "order"). A glob pattern has to be provided. To select all
files, use the glob pattern "/**".
2023-03-17 17:05:56 +01:00
Ingo Oppermann
ecfbbe3857
Allow to list files by ranges of size and/or lastmod
The listing options are implemented by the query parameters size_min,
size_max, lastmod_start, and lastmod_end, or by the new ListOptions
type. size_min and size_max expect a number of bytes, lastmod_start
and lastmod_end expect a unix timestamp. All values are inclusive.
2023-03-17 15:15:20 +01:00
Ingo Oppermann
2e8f8fb1a7
Fix swagger tags 2023-03-17 13:58:40 +01:00
Ingo Oppermann
ffaa3d9324
Merge branch 'dev' into vod 2023-03-17 13:56:07 +01:00
Ingo Oppermann
562b7aed92
Use better naming for storage endpoint documentation 2023-03-17 13:55:19 +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
5b2b2243bb
Fix report history tests 2023-03-14 15:24:05 +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
b76e6a9b2c
Add Range support for HTTP GET requests on a mounted filesystem 2023-03-08 11:50:59 +01:00
Ingo Oppermann
175cfc2324
Fix using prefix syntax for filesystem operations 2023-03-03 16:18:46 +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
857f5b8182
Allow to select a specific log history entry by its create date 2023-03-01 16:48:48 +01:00
Ingo Oppermann
86b3c053f1
Add exit state and last progress data to process report history 2023-03-01 15:28:28 +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
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
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