Allow user to have multiple keypairs
- Dominant language
- Python
- Stars
- 670
- Forks
- 183
- Avg merge
- 14h 15m
- Merged PRs (30d)
- 335
Description
### Main idea
Our current user authentication architecture allows user to have only one keypair at once. Let's extend this architecture so that we can let users create multiple keypairs for a single account.
We can split this issue to smaller chunks, like:
- [x] manager: let main keypair (the one generated when creating user) as a "default keypair" to user, and use it as a login credential when logging in to Backend.AI WebUI with session mode
- [x] manager: add API to support arbitrary keypair creation/removal\* ~limit additional keypairs not to have resource limits bigger than default keypair~
- #1761 now enforces user-wide resource constraints via the main keypair's resource policy
- [ ] Migrate and merge the keypair resource policy into the user resource policy
- [ ] manager: search for usages of keypair in manager code, and if the structure isn't suitable for multiple keypair situation, update it
- [ ] webui: create corresponding UI for keypair creation/removal
### Side-effects of keypair-based resource policy
- What users wanted\* lablup/giftbox#191
- lablup/giftbox#10
- Bulk-updating project-wise user (=keypair) resource policies with a filtered view of projects that the keypair's owner is a member of.
- We implemented #1022 to add the "projects" column to the view of "keypairs" in the control panel.
- Side-effects that happened\* #1625
- 23.09: Polish the current multiple keypair scheme
{code:[tasklist]}
### Tasks
- [ ] #1360
- [ ] #1761
- [ ] #1785
- [ ] #1775
{code}
- 24.03: Ultimately we need to deprecate per-keypair resource policy and keep per-user resource policy only.\* #1779
- #1783
JIRA Issue: BA-228
Contributor guide
Assessment
This issue has not been assessed yet.