Ingo Oppermann
fe715adbce
Split cluster handler into smaller files
2023-07-12 14:18:01 +02:00
Ingo Oppermann
62fdf8e370
List undeployed processes
2023-07-11 22:38:33 +02:00
Ingo Oppermann
3883696034
Write deploy errors to cluster DB
2023-07-11 15:55:46 +02:00
Ingo Oppermann
0f06b8b5a0
Add /cluster/transfer/:id endpoint to transfer leadership to another node
2023-07-11 14:26:54 +02:00
Ingo Oppermann
d04254c891
Add /cluster/db/map/process endpoint
2023-07-11 10:57:56 +02:00
Ingo Oppermann
ba9227dc96
Cleanup of cluster proxy and proxy node
2023-07-07 22:51:53 +02:00
Ingo Oppermann
71dbfe329e
Add /api/v3/cluster/process/:id/probe endpoint
2023-07-05 11:03:45 +02:00
Ingo Oppermann
d6a88cb0c5
Add /v3/cluster/healthy endpoint
2023-06-29 22:08:47 +02:00
Ingo Oppermann
2b58c11bb1
Fix cluster process update on metadata change
2023-06-28 16:26:36 +02:00
Ingo Oppermann
b6f7dae2f5
Show order for processes in the cluster DB
2023-06-27 21:17:56 +02:00
Ingo Oppermann
89379b2acd
Add /v3/cluster/snapshot endpoint
2023-06-27 15:11:31 +02:00
Ingo Oppermann
dd128ac99b
Fix gathering of hostnames, add /v3/cluster/db/kv endpoint
2023-06-27 14:52:32 +02:00
Ingo Oppermann
9202f93bc2
Fix IAM user update when changing username
2023-06-27 10:14:22 +02:00
Ingo Oppermann
abfe4918b4
Loosen restrictions for IAM user names
...
The only restriction for an IAM username is that it cannot start with
a '$'. An username that contains a ':' must escape it with another ':'
for use in a token for RTMP or SRT.
2023-06-26 13:49:53 +02:00
Ingo Oppermann
37cac48223
Adjust returned API errors
2023-06-23 21:42:01 +02:00
Ingo Oppermann
944d487730
Allow to send command to process on the cluster
2023-06-22 21:43:51 +02:00
Ingo Oppermann
dc3e7afc52
Add locks on the cluster DB
2023-06-22 12:22:25 +02:00
Ingo Oppermann
b35ac9ccc3
Allow proxied range requests, /cluster/process mimic /process
2023-06-21 13:14:27 +02:00
Ingo Oppermann
8283815dec
List anonymous user in GET /v3/cluster/iam/user
2023-06-20 20:31:23 +02:00
Ingo Oppermann
7565427f9a
Add GET /v3/iam/user endpoint
2023-06-20 20:27:51 +02:00
Ingo Oppermann
a728cc7839
Fix clusterNode/proxyNode
2023-06-14 22:05:59 +02:00
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
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
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
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
7d2b7b4836
WIP: allow update processes in cluster
2023-05-12 12:59:01 +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
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
386bdc0b6e
WIP: add emergency leader, api circuit breaker
2023-04-21 17:19:21 +02:00
Ingo Oppermann
9ef4ae9b5e
Fix cluster api responses
2022-09-28 21:49:25 +02:00
Ingo Oppermann
16ada6225b
Fetch resources list in parallel
2022-08-16 16:09:46 +03:00
Ingo Oppermann
96d8d51a7d
Add cluster endpoint for listing the nodes
2022-08-15 16:03:08 +03: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