Ingo Oppermann
82ba3a8f82
WIP: introducing cluster versioning, degraded mode
2023-06-09 21:42:26 +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
e532531eeb
Allow to set process metadata in the cluster
2023-06-02 14:17:35 +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
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
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
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
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
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
6a4c715f75
Fix update process, list process in raft store
2023-05-13 21:21:47 +02:00
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
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
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
0921384568
Fix double import of path package
2023-04-29 07:48:29 +02:00
Ingo Oppermann
1d7fd960d5
Merge branch 'dev' into vod
2023-04-28 18:10:24 +02:00
Ingo Oppermann
74110dae54
Fix possible infinite loop with HLS session rewriter
2023-04-28 17:38:36 +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