Ingo Oppermann
407e402601
Add TODO
2025-01-06 15:43:05 +01:00
Ingo Oppermann
f55a3e7fce
Allow to provide mime type mapping directly in config
2024-11-22 16:11:22 +01:00
Ingo Oppermann
ed5357cde3
Add GPU metrics
2024-10-30 15:07:05 +01:00
Ingo Oppermann
2ee7fa7e41
Make resources the only direct user of psutil
2024-10-29 12:25:39 +01:00
Ingo Oppermann
fbf62bf7e5
Remove Start() function, rename Stop() to Cancel()
2024-10-28 17:12:31 +01:00
Ingo Oppermann
412fbedea3
Make psutil a submodule of resources, remove default psutil
2024-10-28 16:13:13 +01:00
Ingo Oppermann
2dbe5b5685
Add GPU support
2024-10-24 15:08:26 +02:00
Ingo Oppermann
7a58c52a17
Collect statistics about buffer pool, export as metrics
2024-10-14 14:55:29 +02:00
Ingo Oppermann
519f0cfb2b
Fix buffer re-use, use swiss-map backend
2024-10-14 14:26:15 +02:00
Ingo Oppermann
f97943b275
Move content encoding in the beginning of the middleware chain, update dependencies
2024-10-09 14:25:42 +02:00
Ingo Oppermann
68607ed932
Add basic resource information in about response
2024-08-20 11:55:08 +02:00
Ingo Oppermann
46950372be
WIP: Optimize copy from io.Reader, allow to suggest file size
2024-07-24 15:40:28 +02:00
Ingo Oppermann
54b1fe8e86
Dump casbin, replace with own policy enforcer
2024-07-23 15:54:09 +02:00
Ingo Oppermann
96f7d8030c
Disable locally persisting DB in cluster mode
2024-07-16 14:01:31 +02:00
Ingo Oppermann
480dbb7f53
Refactor cluster node code
2024-07-09 12:26:02 +02:00
Ingo Oppermann
1a64fddbb1
Allow cluster leave endpoint to remove any node in the cluster
2024-06-07 11:28:54 +02:00
Ingo Oppermann
03da97217b
Use faster JSON and gzip packages
2024-04-24 15:42:11 +02:00
Ingo Oppermann
487529c598
Expose general infos in cluster about, bump cluster API version to 2.0.0
2024-04-08 21:55:07 +02:00
Ingo Oppermann
3af049785c
Reorder shutdown sequence
2023-12-12 21:26:59 +01:00
Ingo Oppermann
5b81e6e23f
Add metrics collector for HTTP status codes
2023-09-29 17:18:59 +02:00
Ingo Oppermann
2167895bb5
Add storage.memory.backup.dir and storage.memory.backup.patterns
...
It is now possible to create a backup of the contents of memfs before
the core is shutdown. Provide the path where to write the files and
a list of glob patterns for files to be written to disk. Use the
pattern "**" for all files. During start of the core the backuped
files will be written back to memfs.
2023-09-20 17:57:51 +02:00
Ingo Oppermann
ad2a50df6f
Separate resource type and resource for IAM policies
2023-09-18 17:11:09 +02:00
Ingo Oppermann
3d7230444f
Return *url.Userinfo from identity.GetServiceBasicAuth()
2023-08-08 17:19:57 +03:00
Ingo Oppermann
2c2d460a19
Allow an alias for an identity name
2023-08-03 17:22:16 +03:00
Ingo Oppermann
165db9dc96
Add info log for mounted filesystems
2023-07-19 10:34:59 +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
9462ccfd48
Move IAM dependency to rewriter module
2023-07-10 13:20:24 +02:00
Ingo Oppermann
71b613371a
Add debug flag to cluster to disable FFmpeg check
2023-07-10 11:07:24 +02:00
Ingo Oppermann
9905ac70f0
Check for equal FFmpeg skills, remove /v1/version
2023-07-06 16:12:06 +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
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
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
6e156d0f3a
Allow to acquire certificates in multi-node cluster
2023-06-29 21:15:04 +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
dd128ac99b
Fix gathering of hostnames, add /v3/cluster/db/kv endpoint
2023-06-27 14:52: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
f37896a1e3
Implement certmagic.Storage on cluster
2023-06-23 21:00:45 +02:00
Ingo Oppermann
d3eed2a417
Allow to log each finished session to filesystem
...
By providing CORE_SESSIONS_SESSION_LOG_PATH_PATTERN (e.g. "/log/%Y-%m-%d.log") all
finished sessions will be logged to a file according to the provided strftime-pattern. The
actual value is calculated from when the session closed. CORE_SESSIONS_PERSIST must
be set. Default: not set.
Set CORE_SESSIONS_SESSION_LOG_BUFFER_SEC to the number of seconds the log should be
buffered in memory before persisted to disk. Default 15 seconds.
2023-06-20 15:19:25 +02:00
Ingo Oppermann
3cc8626ae1
Fix RTMP and SRT URL generation in placeholder
2023-06-15 14:19:02 +02:00
Ingo Oppermann
debcce192d
Add the process domain to the bas path in placeholders and cleanup rules
2023-06-14 22:30:00 +02:00
Ingo Oppermann
a728cc7839
Fix clusterNode/proxyNode
2023-06-14 22:05:59 +02:00
Ingo Oppermann
ccf4bee56d
WIP: cluster node revamp, add version and config comparison
2023-06-13 10:25:08 +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
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
Ingo Oppermann
1f6f7c9f59
Add API endpoint to leave cluster gracefully, hard leave on exit
2023-06-06 11:22:53 +02:00
Ingo Oppermann
a79cfa0c77
Merge branch 'clusteriam' into vod
2023-06-01 15:16:54 +02:00