RFC: Nest Teams
- Dominant language
- TypeScript
- Stars
- 102
- Forks
- 22
- PR merge metrics
- No merged PRs in 30d
Description
While Nest was originally made and designed for personal use, it is also very useful for organizational use, especially in things like Hack Clubs that might want to host a website or backend for the whole club to manage. Therefore, I propose a feature on Nest that allows for the creation of teams: shared accounts meant to be accessed by different people.
Nest teams would be stored in a new table in the Nest Bot database, and would consist of a username, description, and list of members. At least for the MVP, there will be no permissions, so each member would be able to modify the team. The Authentik password would be DM'ed to the team creator upon approval.
Nest teams would be setup in the same way as normal user accounts on Nest, except that they would use a special `AuthorizedKeysCommand` for SSH which will output the combination of all members' `authorized_keys` files.
There will be no limit as to how many teams a user can create or be a part of, but like user accounts, all teams will have to be approved by the Nest admin team to ensure that teams are not being abused to bypass resource limits on personal projects. They may also be subject to additional auditing for the same purpose.
Contributor guide
Research direction
The proposal names no files, tests, or entry points; begin by mapping the Nest Bot database and current user-account setup, then inspect the SSH AuthorizedKeysCommand configuration. Done would require an agreed MVP design and implementation for team storage, approval, authentication, and member-key access, but the issue does not define acceptance tests.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- typescript
- Domain
- authentication, backend, databases
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100