Commit Graph

41 Commits

Author SHA1 Message Date
Ingo Oppermann
0e38648b70 Add force=restart parameter for process updates 2025-07-18 15:47:49 +02:00
Ingo Oppermann
bfb54ca177 Add GPU usage in cluster about API endpoint 2024-10-31 14:32:18 +01:00
Ingo Oppermann
2dbe5b5685 Add GPU support 2024-10-24 15:08:26 +02:00
Ingo Oppermann
d391e274d7 Fix wrong memory limit, add total memory, add cpu and memory consumed by core itself to node resources 2024-07-25 21:13:49 +02:00
Ingo Oppermann
879819f10f Retrieve current process from leader, clone metadata, introduce new state 'deploying' 2024-07-22 16:58:57 +02:00
Ingo Oppermann
480dbb7f53 Refactor cluster node code 2024-07-09 12:26:02 +02:00
Ingo Oppermann
c032cdf5c7 Add API for setting node status, respect it in leader tasks 2024-06-24 16:50:15 +02:00
Ingo Oppermann
a9d6b1ec49 Add API endpoints for relocating processes 2024-06-19 15:28:30 +02:00
Ingo Oppermann
03da97217b Use faster JSON and gzip packages 2024-04-24 15:42:11 +02:00
Ingo Oppermann
3b11c84545 Remove /v1/about cluster API endpoint 2024-04-09 15:56:40 +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
b5976f37f0 Start cluster after core API has been started
The core API will be started before the cluster is started in order to
access the cluster endpoints during a cluster upgrade. If TLS is enabled,
possibly stale certificates are loaded into the cache. Otherwise the
leader has to be contacted via the cluster API which might have changed.
2023-07-10 16:24:08 +02:00
Ingo Oppermann
9905ac70f0 Check for equal FFmpeg skills, remove /v1/version 2023-07-06 16:12:06 +02:00
Ingo Oppermann
6e156d0f3a Allow to acquire certificates in multi-node cluster 2023-06-29 21:15:04 +02:00
Ingo Oppermann
89379b2acd Add /v3/cluster/snapshot endpoint 2023-06-27 15:11:31 +02:00
Ingo Oppermann
a4b0c4fc36 Add experimental LE certificate retrieval for cluster 2023-06-26 20:38:16 +02:00
Ingo Oppermann
f37896a1e3 Implement certmagic.Storage on cluster 2023-06-23 21:00:45 +02:00
Ingo Oppermann
944d487730 Allow to send command to process on the cluster 2023-06-22 21:43:51 +02:00
Ingo Oppermann
cbe6754b2f Add /v1/core/config endpoint to cluster API 2023-06-22 16:33:06 +02:00
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
82ba3a8f82 WIP: introducing cluster versioning, degraded mode 2023-06-09 21:42:26 +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
401156e4d2 Enforce policies 2023-05-31 16:39:43 +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
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
d214607ff8 Move code into packages 2023-05-10 20:41:04 +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
386bdc0b6e WIP: add emergency leader, api circuit breaker 2023-04-21 17:19:21 +02:00