98 Commits

Author SHA1 Message Date
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
Ingo Oppermann
64112ca2b0
Print log message if cluster is degraded 2023-06-28 11:32:13 +02:00
Ingo Oppermann
a86dc5c920
Fix make autocert manager available to followers 2023-06-28 10:47:07 +02:00
Ingo Oppermann
57c1e50d60
Don't collect sessions coming from other nodes in the cluster 2023-06-27 21:11:29 +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
b78a2368b3
Add experimental challenge forwarder 2023-06-26 22:16:32 +02:00
Ingo Oppermann
a4b0c4fc36
Add experimental LE certificate retrieval for cluster 2023-06-26 20:38:16 +02:00
Ingo Oppermann
ddb18a8c3c
Return error on reload on encountering an invalid identity 2023-06-26 14:05: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
6f47f96f6e
Get peer config via cluster API 2023-06-26 10:35:00 +02:00
Ingo Oppermann
f37896a1e3
Implement certmagic.Storage on cluster 2023-06-23 21:00:45 +02:00
Ingo Oppermann
fc49c97a9f
Fix tests 2023-06-22 22:02:59 +02:00
Ingo Oppermann
944d487730
Allow to send command to process on the cluster 2023-06-22 21:43:51 +02:00
Ingo Oppermann
f965d106d3
Add /v1/core/config endpoint to cluster API client 2023-06-22 20:30:35 +02:00
Ingo Oppermann
cbe6754b2f
Add /v1/core/config endpoint to cluster API 2023-06-22 16:33:06 +02:00
Ingo Oppermann
faf0aab53a
Update cluster API documentation 2023-06-22 16:21:13 +02:00
Ingo Oppermann
e5f0b3a57f
Add KV store in cluster DB 2023-06-22 16:20:09 +02:00
Ingo Oppermann
db00144cab
Clear locks only if not in emergency mode 2023-06-22 15:12:44 +02:00
Ingo Oppermann
a4d59a04b5
Add leader task to clear the expired locks 2023-06-22 14:12:02 +02:00
Ingo Oppermann
dc3e7afc52
Add locks on the cluster DB 2023-06-22 12:22:25 +02:00
Ingo Oppermann
6826a0b22d
Only accept log commands 2023-06-21 16:37:57 +02:00
Ingo Oppermann
b35ac9ccc3
Allow proxied range requests, /cluster/process mimic /process 2023-06-21 13:14:27 +02:00
Ingo Oppermann
1f55c7d07e
Set default IAM domain if none provided 2023-06-21 09:08:25 +02:00
Ingo Oppermann
f0957e2815
Clarify log message 2023-06-20 22:51:11 +02:00
Ingo Oppermann
435adfb6ea
Return error if iam wants to be modified in cluster mode via non-cluster API 2023-06-20 22:40:36 +02:00
Ingo Oppermann
e366ff8626
Fix not deleting old file entries in proxy file list 2023-06-15 20:19:16 +02:00
Ingo Oppermann
a84b4f4599
Fix URL assembling 2023-06-15 14:22:47 +02:00
Ingo Oppermann
e837aebe70
Listen to identity updates in order to reload the identities 2023-06-15 14:19:50 +02:00
Ingo Oppermann
a728cc7839
Fix clusterNode/proxyNode 2023-06-14 22:05:59 +02:00
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