Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[PROPOSAL] Updating New SOP on How to make GitHub Requests #236

Open
peterzhuamazon opened this issue Nov 19, 2024 · 10 comments
Open

[PROPOSAL] Updating New SOP on How to make GitHub Requests #236

peterzhuamazon opened this issue Nov 19, 2024 · 10 comments
Assignees
Labels
documentation Improvements or additions to documentation enhancement New feature or request github-request Roadmap:Releases/Project Health Project-wide roadmap label

Comments

@peterzhuamazon
Copy link
Member

peterzhuamazon commented Nov 19, 2024

Updating New SOP on How to make GitHub Requests

Background

As part of OpenSearch Software Foundation, the OpenSearch Engineering Effectiveness Team (EE) has started transferring the opensearch-project GitHub Org to the Linux Foundation (LF). Since the transfer has been completed on 2024/11/18, EE plans to update the existing SOPs regarding GitHub Requests with a new procedure. We want to ensure that these requests are properly reviewed, approved, and processed alongside LF in an easy and smooth way.

Status

Previously, GitHub related requests are handled by two teams:

  • EE Team with repo level admin access
  • Amazon OpenSource Program Office Team (OSPO) with org / enterprise level owner access

As part of the transition to foundation, LF now replaces OSPO as the new org / enterprise owner, thus we need to update the existing SOPs to reflect this change, work with the LF helpdesk system.

Scope

The updated SOP should apply to all contributors/community members of the opensearch-project GitHub organization who need:

  1. Repository creation or related configuration changes
  2. GitHub organization or repositories user permission updates
  3. Repository maintainer updates
  4. Secret updates, new bots, new apps
  5. GitHub runner configurations
  6. Other admin tasks requiring org owner/admin permission
  7. More ...

SOP Steps

Submit a Request

  1. Understand Request Types:
    1. Permission (ex: organization membership, repository permissions)
    2. Repository Management (ex: creation, deletion, settings updates)
    3. GitHub Actions (ex: higher spec runners, GPU-enabled runners, troubleshoot)
    4. Others
  2. Open an issue with the EE Team:
    1. Open an issue in the opensearch-project/github-request repository (pending creation)
    2. Provide the following details in your issue (based on templates):
      1. Request Type
      2. Action needed
      3. Reason for request
      4. More information for approval
      5. Priority / Date
    3. An oncall of the EE team will pick up the issue

EE Team Review

  1. Validate Issue:
    1. Ensure the request aligns with OpenSearch Project and Linux Foundation policies
    2. Confirm the requestor' s role, justification of the request, and more
    3. EE Team will request more information if needed
  2. EE Team Approval:
    1. If the action is within the range of EE Team Permissions, the oncall will fulfill the request with 2PR
    2. If the action requires org level permissions, escalate to LF through their HelpDesk

Linux Foundation Review

  1. EE Submit Ticket through LF HelpDesk:
    1. EE Team opens a ticket with the Linux Foundation HelpDesk (EE might open batch ticket of multiple requests in one take)
    2. Provide the necessary details listed above on behalf of the original requester
    3. EE Team tracks the ticket with LF until completion.
    4. Any updates or issues are communicated back to the original requestor
      1. (Optional) Add the original requester as part of the ticket through their github alias
  2. Ticket Completion:
    1. Once resolved, the EE Team will double-check with the original requester and close the ticket and issue

Questions

  • Who is responsible for the Business and IP review of new repository/code base?
  • Who is responsible for the initial source code review of a new repo?
  • What kind of secrets are allowed to be on GitHub
  • What is the level of permissions can be assigned to a user?
  • Who can make a request on GitHub?
  • What is the SLA and response time to the request?
  • More ......

Next Steps

  • Gather community feedbacks
  • Create opensearch-project/github-request repository
  • Gather list of members to be part of the github-request repository
  • Create issue templates
  • Communicate with LF on the matter
  • Slow transition to the automated tooling supported by LF in 2025

Thanks!


Older Description

This is a placeholder issue as I am currently completing the docs on creating/updating the existing SOPs for GitHub related requests publicly.

Sample Requests:

  1. Repository creation or related configuration changes
  2. GitHub organization or repositories user permission updates
  3. Repository maintainer updates
  4. Secret updates
  5. GitHub runner configurations
  6. Other admin tasks requiring org owner/admin permission
  7. More ...

As part of the transfer to Linux Foundation, we might need a new repository to handle all the GitHub request issues, to both the Infra Team as well as the Linux Foundation ticketing system.

Thanks.

@dblock dblock added documentation Improvements or additions to documentation enhancement New feature or request and removed untriaged labels Nov 19, 2024
@peterzhuamazon peterzhuamazon changed the title [PROPOSAL] Updating New SOPs and Docs on How to make GitHub Requests [PROPOSAL] Updating New SOP on How to make GitHub Requests Nov 26, 2024
@peterzhuamazon peterzhuamazon self-assigned this Nov 26, 2024
@peterzhuamazon peterzhuamazon moved this from Backlog to In Progress in OpenSearch Engineering Effectiveness Nov 26, 2024
@peterzhuamazon peterzhuamazon moved this from 🆕 New to 🏗 In progress in Engineering Effectiveness Board Nov 26, 2024
@peterzhuamazon
Copy link
Member Author

Hi @anastead @Pallavi-AWS @dblock @getsaurabh02 @rishabh6788 @prudhvigodithi @gaiksaya @reta @tykeal,

Please take a look and let me know what you think. We can proceed with this proposal next week until LF have their automated tools ready by early 2025.

Thanks.

@dblock
Copy link
Member

dblock commented Nov 26, 2024

At a high level this looks good. Any reason not to use this repo and create a new github-request? We are used to fielding requests such as new repos here and the instructions should probably also live here as modified versions of ADMIN.md.

@peterzhuamazon
Copy link
Member Author

At a high level this looks good. Any reason not to use this repo and create a new github-request? We are used to fielding requests such as new repos here and the instructions should probably also live here as modified versions of ADMIN.md.

We definitely can use this repo and create a new template just for github request.
I was not sure if it is cleaner to have requests goes to its own repo.

Thanks.

@prudhvigodithi
Copy link
Member

Thanks @peterzhuamazon. I'm inclined to use this repo (not against having a new one) as with GitHub we can always sort or filter by label where can have a unique label added based on the request type.

Once we adopt this approach and gain a better understanding of the LF helpdesk, we can work on automating the creation of requests with the LF helpdesk. This will streamline management of the Github requests for the EE team.

Thank you

@peterzhuamazon
Copy link
Member Author

Thanks @peterzhuamazon. I'm inclined to use this repo (not against having a new one) as with GitHub we can always sort or filter by label where can have a unique label added based on the request type.

Once we adopt this approach and gain a better understanding of the LF helpdesk, we can work on automating the creation of requests with the LF helpdesk. This will streamline management of the Github requests for the EE team.

Thank you

Yeah, we can definitely have a new label github-request link to corresponding issue template.
As for automation LF is currently developing automated tools ETA 2025.

Thanks.

@gaiksaya
Copy link
Member

Agree with @dblock and @prudhvigodithi It makes more sense to use this repo for request with the right template to keep everything in one place. (Includes information, procedure and requests)
Wondering if LF helpDesk is a public portal? (works if it is view-only). Trying to see if we can remove teams/user being the mediator for any requests.

@peterzhuamazon
Copy link
Member Author

peterzhuamazon commented Nov 26, 2024

Agree with @dblock and @prudhvigodithi It makes more sense to use this repo for request with the right template to keep everything in one place. (Includes information, procedure and requests) Wondering if LF helpDesk is a public portal? (works if it is view-only). Trying to see if we can remove teams/user being the mediator for any requests.

It is a public portal to send tickets, but it is not to view tickets AFAIK.
You needs to be included as part of a team within their jira to see ticket.
That is why we would need them to create a team with a list we provide so we can view the status of the request.

@reta
Copy link

reta commented Nov 27, 2024

+1 to @dblock and @prudhvigodithi (and @gaiksaya ), as an example looking into this repository [1] (OTEL is under CNCF, it has pretty large ecosystem of repos like we do), all requests are funnelled through this repo.

[1] https://github.com/open-telemetry/community/issues

@peterzhuamazon
Copy link
Member Author

+1 to @dblock and @prudhvigodithi (and @gaiksaya ), as an example looking into this repository [1] (OTEL is under CNCF, it has pretty large ecosystem of repos like we do), all requests are funnelled through this repo.

[1] https://github.com/open-telemetry/community/issues

Sounds good Reta.

I will go ahead and create the template for github request next week in this repo.

Thanks.

@peterzhuamazon
Copy link
Member Author

Hi All,

GitHub Request Template PR is ready to review:

cc: @anastead @Pallavi-AWS @dblock @getsaurabh02 @rishabh6788 @prudhvigodithi @gaiksaya @reta @tykeal

Please let me know if you have any questions.

Thanks!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
documentation Improvements or additions to documentation enhancement New feature or request github-request Roadmap:Releases/Project Health Project-wide roadmap label
Projects
Status: 🏗 In progress
Status: In Progress
Status: In Progress
Development

No branches or pull requests

5 participants