460 Commits

Author SHA1 Message Date
Ingo Oppermann
129058e633
Improve FS.List and FS.RemoveList functions, improve CleanupFS
The FS.List and FS.RemoveList are up to 42x faster by precompiling the
globbing pattern.

The CleanupFS from restreamer/fs is up to 32x faster in the benchmarks
and cleanup is now only every 5 seconds instead of every second.
2023-06-12 11:36:07 +02:00
Ingo Oppermann
82ba3a8f82
WIP: introducing cluster versioning, degraded mode 2023-06-09 21:42:26 +02:00
Ingo Oppermann
108b9baaa4
Adjusting naming of functions 2023-06-08 14:48:28 +02:00
Ingo Oppermann
a03ce87ec7
Add tests 2023-06-08 13:21:14 +02:00
Ingo Oppermann
7e7d1caca7
Add EmergencyLeaderTimeout parameter, ignore throttling nodes, implement NodeRecoverTimeout, introduce processNodeMap in cluster DB 2023-06-07 22:08:07 +02:00
Ingo Oppermann
bd75a5ad0f
Add SyncInterval and NodeRecoverTimeout to cluster config 2023-06-07 10:18:23 +02:00
Ingo Oppermann
ae84fd1d21
Create module for cluster IAM adapters 2023-06-07 10:02:35 +02:00
Ingo Oppermann
08bdf752f1
Fix tests 2023-06-06 22:07:21 +02:00
Ingo Oppermann
ef6d90d8ce
Fix lasContact increasing on error 2023-06-06 21:54:57 +02:00
Ingo Oppermann
fc03bf73a2
Make resource manager a main module and expose more details 2023-06-06 21:28:08 +02:00
Ingo Oppermann
3ac7ead20d
Add the resource limits to the metrics 2023-06-06 15:20:59 +02:00
Ingo Oppermann
3adf5fd7d4
Add docs for internal cluster API at /v1/swagger/index.html 2023-06-06 13:00:16 +02:00
Ingo Oppermann
cefc03bcb2
If leave fails, shutdown cluster anyways 2023-06-06 11:25:02 +02:00
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
1689f3f7db
Fix logging of api.Err
When a handler returns an api.Err the logging middleware logged a
200 OK, however the correct code and response has been sent to the
client.
2023-06-05 14:52:27 +02:00
Ingo Oppermann
747e443e25
Fix tests 2023-06-02 16:51:23 +02:00
Ingo Oppermann
e532531eeb
Allow to set process metadata in the cluster 2023-06-02 14:17:35 +02:00
Ingo Oppermann
e9ba394c2e
Fix process stored in DB 2023-06-02 14:16:12 +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
f21ca2055e
Use IAM for placeholders, simplify proxy nodes 2023-05-31 21:49:25 +02:00
Ingo Oppermann
401156e4d2
Enforce policies 2023-05-31 16:39:43 +02:00
Ingo Oppermann
3a6bb02bfd
Fix reloading policies, add API endpoints for observing internal cluster state 2023-05-31 11:23:54 +02:00
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
5e164d8268
Merge branch 'dev' into vod 2023-05-26 21:25:06 +02:00
Ingo Oppermann
496722c88a
Fix 509 return code if non-existing stream is requested 2023-05-26 21:24:42 +02:00
Ingo Oppermann
65e01112a1
Send circuit breaker in the header 2023-05-26 20:24:13 +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
cb22c2bb2e
Fix forward call for updating a process 2023-05-25 16:31:44 +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
966273a521
Merge branch 'dev' into cluster 2023-05-25 10:32:57 +02:00
Ingo Oppermann
930b84b557
Add Enforcer interface 2023-05-25 10:29:55 +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
9f1071bf1a
Merge branch 'dev' into iam 2023-05-24 20:33:17 +02:00
Ingo Oppermann
fa5ae1d17b
Fix tests 2023-05-24 16:39:10 +02:00
Ingo Oppermann
4a4d33e529
Merge branch 'dev' into vod 2023-05-24 16:33:29 +02:00
Ingo Oppermann
4b2b6a57a1
Fix calling Wait after process has been read 2023-05-24 16:27:55 +02:00
Ingo Oppermann
1f1a124bb4
Check and lof resource specification 2023-05-24 14:53:33 +02:00
Ingo Oppermann
26d556d8b8
Merge branch 'dev' into vod 2023-05-24 14:42:41 +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
f03e2ca5c5
Merge branch 'dev' into iam 2023-05-16 13:19:45 +02:00
Ingo Oppermann
8c3b570ecc
Fix log transfer 2023-05-15 21:31:58 +02:00