Commit Graph

138 Commits

Author SHA1 Message Date
Ingo Oppermann
48cc454314 Add expose 'mode' from avstream progress 2023-09-20 20:53:50 +02:00
Ingo Oppermann
a7cd4f4e50 Convert old resource format to types and resource 2023-09-18 21:12:04 +02:00
Ingo Oppermann
ad2a50df6f Separate resource type and resource for IAM policies 2023-09-18 17:11:09 +02:00
Ingo Oppermann
92f2f6de8c Add CreatedAt and UpdatedAt field to IAM user 2023-09-18 15:18:21 +02:00
Ingo Oppermann
8361e5fd3d Use more precise wording 2023-09-11 14:54:37 +02:00
Ingo Oppermann
022c5c1a6d Emit warnings 2023-09-11 14:42:46 +02:00
Ingo Oppermann
fde99733c6 Add term number to cluster leader synchronization and rebalance logs 2023-09-04 15:06:25 +02:00
Ingo Oppermann
ce362e76bb Fix occasional process rebalance if node resources are not reliable 2023-09-04 12:16:02 +02:00
Ingo Oppermann
d19010944d Add POST /cluster/process/probe endpoint 2023-08-09 14:10:16 +03:00
Ingo Oppermann
0b718b8b18 Add IAM identity alias to API 2023-08-03 17:28:02 +03:00
Ingo Oppermann
8be031a3d1 Use RLock instead of Lock 2023-07-26 11:34:29 +02:00
Ingo Oppermann
80feb0b565 Use RLock instead of Lock 2023-07-26 11:28:22 +02:00
Ingo Oppermann
d74165a90a Add node resource error, replace ping with about 2023-07-25 17:17:20 +02:00
Ingo Oppermann
bb5b580561 Don't use a map for the process list 2023-07-24 10:32:51 +02:00
Ingo Oppermann
bc76b4615d Fix redeploying process when locally deleted 2023-07-23 20:33:18 +02:00
Ingo Oppermann
6789dbb783 Fix potential nil dereference 2023-07-23 16:15:01 +02:00
Ingo Oppermann
2844d2d7a2 Split Lock type into its own file 2023-07-21 15:38:43 +02:00
Ingo Oppermann
ff2b7fe054 Add cache for file to node relation in cluster proxy 2023-07-20 20:51:20 +02:00
Ingo Oppermann
e6391b0b7b Replace polling with asking other nodes for files in proxy
Polling has the drawback, that it's usually delayed and can lead to
404 responses even though the files would be available on another
node. With asking, this problem doesn't exist but it may lead to
more internal requests and a bit higher latency.
2023-07-20 15:17:03 +02:00
Ingo Oppermann
910c727585 Fix updating reference affinity map 2023-07-20 11:35:16 +02:00
Ingo Oppermann
1f24ea1b00 Check for correct error 2023-07-19 17:18:58 +02:00
Ingo Oppermann
8123b09dcf Fix providing correct last_contact value for node 2023-07-17 20:55:29 +02:00
Ingo Oppermann
34db225eb0 Return map of nodes 2023-07-17 15:39:03 +02:00
Ingo Oppermann
bc04bb2df8 Simplify rebalancing 2023-07-17 15:10:47 +02:00
Ingo Oppermann
02079e30c5 Fix checking for nil-value 2023-07-17 12:48:17 +02:00
Ingo Oppermann
cefd35f7da Refactor cluster.About() data 2023-07-14 11:22:08 +02:00
Ingo Oppermann
fd7354286e Extract functions, draft strategy for starting a process 2023-07-12 21:02:46 +02:00
Ingo Oppermann
fe715adbce Split cluster handler into smaller files 2023-07-12 14:18:01 +02:00
Ingo Oppermann
c0c118340b Fix updating the process-node map 2023-07-12 12:22:37 +02:00
Ingo Oppermann
69ffec6b6a Fix writing empty error message 2023-07-11 22:37: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
d04254c891 Add /cluster/db/map/process endpoint 2023-07-11 10:57:56 +02:00
Ingo Oppermann
5aa0a880de Remove pressure from raft while acquiring a lock 2023-07-10 21:05:07 +02:00
Ingo Oppermann
be79a4c327 Add mutex for allowStale variable 2023-07-10 20:50:42 +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
71b613371a Add debug flag to cluster to disable FFmpeg check 2023-07-10 11:07:24 +02:00
Ingo Oppermann
ba9227dc96 Cleanup of cluster proxy and proxy node 2023-07-07 22:51:53 +02:00
Ingo Oppermann
97121f3ca5 Use clone of http.Transport defaults 2023-07-07 11:23:41 +02:00
Ingo Oppermann
9905ac70f0 Check for equal FFmpeg skills, remove /v1/version 2023-07-06 16:12:06 +02:00
Ingo Oppermann
71dbfe329e Add /api/v3/cluster/process/:id/probe endpoint 2023-07-05 11:03:45 +02:00
Ingo Oppermann
e49de44eb7 Deploy processes with order stop to nodes 2023-07-05 09:55:11 +02:00
Ingo Oppermann
9c88e88619 Rearrange code 2023-07-03 20:39:47 +02:00
Ingo Oppermann
adcbd98467 Add CORE_TLS_SECRET configuration
This secret will be used to encrypt automatically obtained secrets at
rest, i.e. in a storage. They will be decrypted on demand. If the
secret is wrong, stored certificates can't be decrypted. For changing
the secret, the stored certificated must be deleted first in order
to obtain new ones that will be encrypted with the new secret.
2023-07-03 16:02:39 +02:00
Ingo Oppermann
c4d9d8afcb Make emergency leadership only available in a cluster with two nodes 2023-06-30 16:59:11 +02:00
Ingo Oppermann
c3b604cda2 Fix nil pointer dereference 2023-06-30 11:41:47 +02:00
Ingo Oppermann
d66bd61746 Fix tests and lint errors 2023-06-29 21:58:30 +02:00
Ingo Oppermann
6e156d0f3a Allow to acquire certificates in multi-node cluster 2023-06-29 21:15:04 +02:00
Ingo Oppermann
2b58c11bb1 Fix cluster process update on metadata change 2023-06-28 16:26:36 +02:00
Ingo Oppermann
a6d454b03f Add CORE_TLS_STAGING
Set this value to true in order to use the Let's Encrypt staging CA,
otherwise the production CA will be used, which is the default.
2023-06-28 11:55:56 +02:00