oxidecomputer / oxidecomputer/omicron

want way to define initial silo policy

Open
#4,635 7 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

enhancement
Dominant language
Rust
Stars
572
Forks
97
Avg merge
2d 12h
Merged PRs (30d)
96

Description

Currently when initializing a silo, a user can define the admin_group_name property for a group coming from an associated IdP. A user in that group then needs to authenticate against the new silo and perform the remaining policy mappings. When these are separate users, this can be a good separation of responsibilities.

When this separation is not needed, we end up introducing additional friction for silo creation. Having a way to provide a generalized mapping of group names to silo roles would allow for both of these steps to be collapsed into a single call. Something along the lines of:

"group_roles": {
  "idp-admin": "admin",
  "idp-writer1": "collaborator",
  "idp-writer2": "collaborator",
  "idp-viewer": "viewer",
}

Happy to submit or discuss this in RFD form as well.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reviewing the silo initialization API and the existing admin_group_name handling described in the issue. Determine how a generalized group_roles mapping should be represented and applied during creation; done means one initialization call can assign the listed IdP groups to silo roles without a second user's policy-mapping step.

Written by the indexing model from the issue text.

Assessment

Tech stack
rust
Domain
api, authorization
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.