---
# System prepended metadata

title: ferris.land

---

# ferris.land

I wanted to start with the git server but likely that will be delayed significantly
I'm not going to be home this weekend tho
if someone wants to work on those go ahead
I have some really basic frontend stuff and a git ssh server that doesn't work
we probably should decide how everything will work
we should probably just have cross-domain auth token cookies
I'm imagining ferrisland as a modular system where the chat service, the git service, the project hub and management services, the auth service etc. are all optional and separate 
like an instance can have the chat service and auth service, but no git or project management stuff
another one could have only a git service and not even an auth service (read-only repos)
federation is not a primary concern for me at this point tho 
I really like using JWT from an API user standpoint, but it's complicated af to implement well even with good libraries
so I suggest we use Tokenize
it's this thing 
basically stateless JWT
state makes JWT complicated
I also happen to be the maintainer of the rust tokenize crate
I also like using rocket and tera
so TL;DR: we have two things to do rn, the core auth service stuff and an ssh server library for the git service
we could also try implementing the git server stuff in gitoxide
idk if gitoxide can be used as a library tho
if yes then we probably should do that cuz I don't like shelling out to git
if no it doesn't really matter whether we shell out to git or gitoxide