Craft your forge, Build your project, Grow your community freely
1---
2id: "7890"
3priority: 96
4assignee: null
5status: triage
6---
7 8# User story
910Technically speaking, today, a user is a public ssh key in gitroot.
1112We need to represent a user in apex to show who has pushed a commit. In ladybug for assignee, maybe in silo, grafter too.
1314What is a user?
1516At least I want to show a pseudo and an avatar. But Gitroot don't need this infos. Only plugins need them.
1718I want a user can link to an external page (external to repo and to instance). But how to check that the public keys of external user is good key? A bad user can add all public keys they want... Need to be signed with private key!
1920## Possibilities
2122A user is:
2324- a link to a file
25- an array of ssh-keys
2627The file linked can be:
2829- local repo
30- local instance
31- distant
3233The file should contain:
3435- pub keys and signature (proff their have private key)
36- free attributs like pseudo, avatar, bio...
37- plugins can use file linked or information in git
3839The distant file should be syncrhonised with local data... or not!?
4041A plugin can refresh them but when and how?
4243---
4445A user could be:
4647- @pseudo@server/project
48- @manland@gitroot.dev/gitroot
49- @manland@gitroot.dev <-meansrootproject50- @manland <-meansthisserverandrootorthisproject5152Thengitrootdownloadallinfosfortheprojecttheuserwanttointeractto. Thanaschedulerefreshinformationseveryxtimes.
5354Specialcasefor`@manland@github.com`todownloadsshpubkeys.
5556Howtodownloadinfosofuserfromgitroot? Apluginmakejson, butifadminforgedon'tinstallthisplugin? Parsefrom`.gitroot/users.yml`isbestbutwhatifdifferentversions?