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