feat(nodeinfo): add NodeInfo 2.1 discovery and schema endpoints

Castopod only exposed NodeInfo2 (/.well-known/x-nodeinfo2), which most fediverse crawlers (FediDB, fediverse.observer, the-federation.info) do not read. Castopod instances were therefore never identified and software listings showed no servers.

  • add /.well-known/nodeinfo discovery document linking to the 2.1 schema
  • add /nodeinfo/2.1 with software name castopod (lowercase, as required by the spec), version, repository, homepage, services and usage stats
  • merge NodeInfo2Controller into NodeInfoController so usage stats are computed in a single place; /.well-known/x-nodeinfo2 output is unchanged
  • add feature tests for the three endpoints

Merge request reports

Loading