Working features (4 July 2025)

The following features can be used today, either by booking repository space on the Game of Trees Hub or by self-hosting Game of Trees on OpenBSD.

  • Create repositories and user accounts via gotsys.conf.
  • Manage per-repository user access permissions in gotsys.conf.
  • Access private repositories via SSH.
  • Offer public anonymous access to repositories via SSH.
The following features can only be used on a self-hosted setup, for now.
  • Make public repositories browsable on the web via gotwebd.
  • Send gotd commit notifications via HMAC-signed HTTPS/JSON and email.
Features being worked on (July 2025)

The following features are currently being developed in the Game of Trees project.

  • Make private repositories browsable on the web via gotwebd with user authentication via SSH. Optionally require anonymous users to authenticate before browsing public repositories, in order to block excessive crawling by bots. (This crawling is one reason why gotwebd is currently restricted to self-hosted setups.)
Planned Features

The following features are planned for the future. Your contributions to Game of Trees Hub, either by booking repository space or by addings funds on our Open Collective page, will allow us to make progress on these features faster.

If any of these features are of particular interest to you, or if you have additional feature ideas, please contact us or the Game of Trees project.

  • Add support for gotd notifications to gotsysd, allowing commit notifications to be sent from the Game of Trees Hub.
  • Add Git protocol v2 support to gotd to make it possible to host repositories using SHA256 object hashes.
  • Make gotd keep track of available disk space and fail gracefully if limits are about to be exceeded, rather than having writes fail when the disk is full. We currently rely on disk space monitoring as a workaround.
  • Teach gotd to send changes to another repository to allow for real-time backups and easy mirroring of repositories to other Git hosting sites.
  • Add support for enforcing blob object size limits to gotd and gotsys.conf.
  • Add support for optionally rejecting merge commits to gotd and gotsys.conf.
  • Make gotwebd use prettier URLs without long lists of query parameters.
  • Teach gotwebd to display a static web page stored in a dedicated Git repository as the landing page, in preference over the default summary page.
  • Improve gotd performance by adding support for Git features such as the commit-graph and pack-file reachability bitmaps.
  • Add a web-based issue tracking component which stores data in a Git repository for easy replication and, ideally, offline editing.
  • Send gotd event notifications over SSH, allowing CI runners to keep a persistent connection open to receive events reliably and report CI status back to the server. Display CI status on a web page.
  • Implement a large-file storage service, ideally compatible with LSF.