Sharkey does not error or warn if it was started with 0 workers
this was a very fun (not) one for me to diagnose, but it's sorta a few (?) issues, so i'll split them up.
when Sharkey is started with 0 workers, there is no warning or error or anything indicating that this is suspicious. starting with 0 workers causes partial outbound/outgoing federation with any instances. HTTP listening will accept incoming connections, and even weirdly enough it will fetch remote profiles and images (is this being done on the main thread/worker then? maybe a problem?), but trying to do things like follow the user or send posts will not work and just hang infinitely.
the logs that cause this on startup will show as so:
--- girlboss.ceo (PID: 2452922) ---
INFO * [core boot] Welcome to Sharkey!
INFO * [core boot] Sharkey v2024.5.1
INFO * [core boot env] NODE_ENV: production
INFO * [core boot nodejs] Version v20.15.1 detected.
DONE * [core boot config] Loaded
DONE * [core boot] Sharkey initialized
INFO * [core nest] NestFactory: Starting Nest application...
INFO * [core nest] InstanceLoader: MainModule dependencies initialized
INFO * [core nest] InstanceLoader: QueueModule dependencies initialized
INFO * [core nest] InstanceLoader: GlobalModule dependencies initialized
INFO * [core nest] InstanceLoader: RepositoryModule dependencies initialized
INFO * [core nest] InstanceLoader: DaemonModule dependencies initialized
INFO * [core nest] InstanceLoader: ServerModule dependencies initialized
INFO * [core nest] InstanceLoader: EndpointsModule dependencies initialized
INFO * [core nest] InstanceLoader: CoreModule dependencies initialized
INFO * [core boot] Starting 0 workers...
this specific line:
INFO * [core boot] Starting 0 workers...
the lack of any error or warning has made me go in circles on what the issue is with partially working federation. tried messing with my firewall, caddy reverse proxy settings, my WAF, UNIX socket vs TCP listening for HTTP/redis/postgresql, postgresql query caching, redis eviction policy, and then i gave up. until next day i messed with the systemd unit hardening. this was the ultimate issue, but the lack of any error or warning here is a problem.
my kind request here is a warning or error or something is logged if an instance was started with 0 workers:
WARN * [core boot] 0 workers were started, federation will not work!
or smthin like that