59 Commits

Author SHA1 Message Date
Ingo Oppermann
50e943a075
WIP: add session token, missing: writing sessions to log 2023-06-14 12:30:50 +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
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
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
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
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
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
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
958b1232db
Use official core API client 2023-05-12 17:56:49 +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
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
862c36c9e6
Use reference affinity when distributing processes 2023-05-10 19:59:15 +02:00
Ingo Oppermann
7a2d0a7ad9
Use reference affinity while rebalancing processes 2023-05-10 15:45:08 +02:00
Ingo Oppermann
5af5c686ee
Add basic rebalancing of processes 2023-05-10 14:01:40 +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
ffdf6d3323
Merge branch 'dev' into cluster 2023-04-12 15:27:38 +02:00
Ingo Oppermann
9ef4ae9b5e
Fix cluster api responses 2022-09-28 21:49:25 +02:00