Commit Graph

550 Commits

Author SHA1 Message Date
Ingo Oppermann
9462ccfd48 Move IAM dependency to rewriter module 2023-07-10 13:20:24 +02:00
Ingo Oppermann
34404a76d2 Update dependencies 2023-07-10 11:11:47 +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
4aec1d9817 Upgrade dependencies 2023-07-07 16:50:15 +02:00
Ingo Oppermann
97121f3ca5 Use clone of http.Transport defaults 2023-07-07 11:23:41 +02:00
Ingo Oppermann
ccecbe3c8e Improve FFmpeg skills testing 2023-07-06 21:41:10 +02:00
Ingo Oppermann
9905ac70f0 Check for equal FFmpeg skills, remove /v1/version 2023-07-06 16:12:06 +02:00
Ingo Oppermann
6c2e8b0ec3 Make ffmpeg skills compareable 2023-07-06 10:27:56 +02:00
Ingo Oppermann
604893f8bb Make process probe endpoint not available in read-only mode 2023-07-05 11:14:30 +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
2d7affdec8 Bump version provisorially to 16.14.0 2023-07-04 14:51:58 +02:00
Ingo Oppermann
a8965cdec7 Change core shutdown sequence
Now the cluster, restreamer (processes), and the servers (HTTP, HTTP, RTMP, SRT)
are shutdown first, then any other services. Before, e.g. the session collector
was closed very early before the servers. This would have lead to loss of a few
sessions.
2023-07-04 12:35:08 +02:00
Ingo Oppermann
3e1c934f2c Use cleanup function 2023-07-04 12:31:17 +02:00
Ingo Oppermann
352289f759 Fix register session after close 2023-07-04 12:30:43 +02:00
Ingo Oppermann
3ff5251eba Fix test 2023-07-04 12:29:45 +02:00
Ingo Oppermann
e71a352521 Update dependencies 2023-07-03 21:31:46 +02:00
Ingo Oppermann
c5d52dbeb3 Add gops agent
The gops agent can be enabled by providing an address to
CORE_DEBUG_AGENT_ADDRESS where it will listen to requests
from the gops utility.
2023-07-03 21:27:44 +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
d6a88cb0c5 Add /v3/cluster/healthy endpoint 2023-06-29 22:08: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
72a0566bc6 Add CORE_CLUSTER_STARTUP_TIMEOUT_SEC configuration value 2023-06-28 11:41:24 +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
fff7f986a0 Merge HTTP and HLS middleware into session middleware 2023-06-28 10:41:29 +02:00
Ingo Oppermann
6c6fa33903 Add experimental unified session middleware 2023-06-27 22:17:58 +02:00
Ingo Oppermann
b6f7dae2f5 Show order for processes in the cluster DB 2023-06-27 21:17:56 +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
4560b1a6ca Add referrer check with glob pattern and . (dot) as separator 2023-06-27 11:03:21 +02:00
Ingo Oppermann
20b3f2af5e Add test for encodec username in basic auth 2023-06-27 11:02:14 +02:00
Ingo Oppermann
ad53f3ab68 Fix missing unescape of basic auth username 2023-06-27 10:15:49 +02:00
Ingo Oppermann
9202f93bc2 Fix IAM user update when changing username 2023-06-27 10:14:22 +02:00
Ingo Oppermann
b78a2368b3 Add experimental challenge forwarder 2023-06-26 22:16:32 +02:00
Ingo Oppermann
7fc58454e4 Allow to cancel core startup 2023-06-26 21:02:31 +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
7bb4103c00 Fix double close file in GetFile handler 2023-06-23 21:49:02 +02:00
Ingo Oppermann
37cac48223 Adjust returned API errors 2023-06-23 21:42:01 +02:00
Ingo Oppermann
f37896a1e3 Implement certmagic.Storage on cluster 2023-06-23 21:00:45 +02:00