Commit Graph

46 Commits

Author SHA1 Message Date
Ingo Oppermann
e5f0b3a57f Add KV store in cluster DB 2023-06-22 16:20:09 +02:00
Ingo Oppermann
dc3e7afc52 Add locks on the cluster DB 2023-06-22 12:22:25 +02:00
Ingo Oppermann
a728cc7839 Fix clusterNode/proxyNode 2023-06-14 22:05:59 +02:00
Ingo Oppermann
ccf4bee56d WIP: cluster node revamp, add version and config comparison 2023-06-13 10:25:08 +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
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
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
8829b8fff0 Respect domain in cluster DB, allow metadata in process config for cluster 2023-06-05 21:19:11 +02:00
Ingo Oppermann
e532531eeb Allow to set process metadata in the cluster 2023-06-02 14:17:35 +02:00
Ingo Oppermann
d652fd213b Check for identical configs on process update 2023-06-01 16:43:17 +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
89cc42c4b9 Add cluster IAM, update dependencies 2023-05-30 21:24:12 +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
6a4c715f75 Fix update process, list process in raft store 2023-05-13 21:21:47 +02:00
Ingo Oppermann
29242b96ca Allow to update a process 2023-05-13 20:29:42 +02:00
Ingo Oppermann
e4ca661b25 Fix logging 2023-05-11 16:12:41 +02:00
Ingo Oppermann
f566dee9f2 Abstract raft into own package 2023-05-11 12:09:04 +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
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
95a1306a77 Remove api address from join request 2023-05-05 09:03:45 +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
4eb0258ba4 Add automatic bootstrap and recovery 2023-05-02 15:49:46 +02:00
Ingo Oppermann
75c11eb475 WIP: add recover option 2023-04-24 10:54:53 +02:00
Ingo Oppermann
386bdc0b6e WIP: add emergency leader, api circuit breaker 2023-04-21 17:19:21 +02:00
Ingo Oppermann
27f19f9188 WIP: internal API 2023-04-17 14:01:20 +02:00
Ingo Oppermann
7643959bf8 WIP: raft leadership 2023-04-13 21:44:24 +02:00
Ingo Oppermann
e6b64dbe97 WIP: raft 2023-04-13 09:42:19 +02:00
Ingo Oppermann
9ef4ae9b5e Fix cluster api responses 2022-09-28 21:49:25 +02:00
Ingo Oppermann
8312718f9c Prevent adding a node to itself 2022-08-16 18:04:22 +03:00
Ingo Oppermann
16ada6225b Fetch resources list in parallel 2022-08-16 16:09:46 +03:00
Ingo Oppermann
50164ea78e Get files from diskfs and memfs via API 2022-08-16 14:32:58 +03:00
Ingo Oppermann
fe2d4e247e Set cluster node ips on session block list 2022-08-15 13:52:38 +03:00
Ingo Oppermann
c04ab1e82f Add SRT proxying 2022-08-08 16:53:37 +02:00
Ingo Oppermann
f4acc0457f Add rtmp proxying 2022-08-05 16:34:08 +02:00
Ingo Oppermann
5af85c6a8b Add diskfs proxying 2022-08-05 12:30:25 +02:00
Ingo Oppermann
c31fd657be Add proxying memfs files 2022-08-04 16:43:19 +02:00
Ingo Oppermann
fe889aa4e2 Add basic node handling 2022-08-03 22:05:28 +02:00