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

Repo maintenance #3

Merged
merged 2 commits into from
Feb 19, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions .github/CODEOWNERS
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
# This should match the owning team set up in https://github.com/orgs/opensearch-project/teams
* @Rajrahane @navneet1v @yigithub @vamshin @jed326 @rchitale7 @owenhalpert @neetikasinghal
24 changes: 24 additions & 0 deletions .github/ISSUE_TEMPLATE/BUG_TEMPLATE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
---
name: 🐛 Bug Report
about: Create a report to help us improve
title: '[BUG]'
labels: 'bug, untriaged'
assignees: ''
---
### What is the bug?
_A clear and concise description of the bug._

### How can one reproduce the bug?
_Steps to reproduce the behavior._

### What is the expected behavior?
_A clear and concise description of what you expected to happen._

### What is your host/environment?
_Operating system, version._

### Do you have any screenshots?
_If applicable, add screenshots to help explain your problem._

### Do you have any additional context?
_Add any other context about the problem._
18 changes: 18 additions & 0 deletions .github/ISSUE_TEMPLATE/FEATURE_REQUEST_TEMPLATE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
---
name: 🎆 Feature Request
about: Request a feature in this project
title: '[FEATURE]'
labels: 'enhancement, untriaged'
assignees: ''
---
### Is your feature request related to a problem?
_A clear and concise description of what the problem is, e.g. I'm always frustrated when [...]._

### What solution would you like?
_A clear and concise description of what you want to happen._

### What alternatives have you considered?
_A clear and concise description of any alternative solutions or features you've considered._

### Do you have any additional context?
_Add any other context or screenshots about the feature request here._
51 changes: 51 additions & 0 deletions .github/ISSUE_TEMPLATE/GITHUB_REQUEST_TEMPLATE.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
---
name: '⚙️ GitHub Request'
description: 'Request an update to permissions/management/settings on the opensearch-project GitHub organization or its repositories.'
title: '[GitHub Request]'
labels: ['github-request']
body:
- type: markdown
attributes:
value: |
Thanks for taking the time to submit this GitHub Request! Please note that the estimated time for the request to be resolved is 7-10 days from the time of the request.
- type: dropdown
attributes:
description: 'Provide request type.'
label: 'What is the type of request?'
multiple: false
options:
- # Empty first option to force selection.
- User Permission
- Organization Membership
- Repository Management
- Settings Update
- Secret Update
- GitHub Action
- Other
validations:
required: true
- type: textarea
attributes:
description: 'Describe the actions you are requesting (e.g., GitHub Actions in the <repository> take too long to allocate runners). If this is about a repository, please contact the corresponding maintainers before raising the issue.'
label: 'Details of the request'
validations:
required: true
- type: textarea
attributes:
description: 'Provide reasons for your request. For example, if you request to add a new maintainer to a repository, confirm that you have followed the steps in the [Becoming a Maintainer](https://github.com/opensearch-project/.github/blob/main/RESPONSIBILITIES.md#becoming-a-maintainer) guide, and provide the required materials and votes.'
label: 'Additional information to support your request'
validations:
required: true
- type: textarea
attributes:
description: 'Provide the timeline of your request. Requests typically require 7-10 business days to process. Specify your request timeline and whether or not it is an urgent request.'
label: 'When does this request need to be completed?'
validations:
required: true
- type: textarea
attributes:
label: 'Notes'
value: |
Track the progress of your request here: https://github.com/orgs/opensearch-project/projects/208/views/33.
Member of @opensearch-project/admin will take a look at the request soon.
Thanks!
40 changes: 40 additions & 0 deletions .github/ISSUE_TEMPLATE/PROPOSAL_TEMPLATE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
---
name: 💭 Proposal
about: Suggest an idea for a specific feature you wish to propose to the community for comment
title: '[PROPOSAL]'
labels: proposal
assignees: ''
---
## What/Why
### What are you proposing?
_In a few sentences, describe the feature and its core capabilities._

### What users have asked for this feature?
_Highlight any research, proposals, requests or anecdotes that signal this is the right thing to build. Include links to GitHub Issues, Forums, Stack Overflow, Twitter, etc._

### What problems are you trying to solve?
_Summarize the core use cases and user problems and needs you are trying to solve. Describe the most important user needs, pain points and jobs as expressed by the user asks above. Template: When \<a situation arises> , a \<type of user> wants to \<do something>, so they can \<expected outcome> (e.g. When **searching by postal code**, **a buyer** wants to **be required to enter a valid code** so they **don’t waste time searching for a clearly invalid postal code.**)._

### What is the developer experience going to be?
_Does this have a REST API? If so, please describe the API and any impact it may have to existing APIs. In a brief summary (not a spec), highlight what new REST APIs or changes to REST APIs are planned. as well as any other API, CLI or Configuration changes that are planned as part of this feature._

#### Are there any security considerations?
_Describe whether the feature has any security considerations or impact. What is the security model of the new APIs? Features should be integrated into the OpenSearch security suite and so if they are not, we should highlight the reasons here._

#### Are there any breaking changes to the API
_If this feature will require breaking changes to any APIs, outline what those will be and why they are needed. What is the path to minimizing impact? (e.g. add new API and deprecate the old one)._

### What is the user experience going to be?
_Describe the feature requirements and or user stories. You may include low-fidelity sketches, wireframes, APIs stubs, or other examples of how a user would use the feature via CLI, OpenSearch Dashboards, REST API, etc. Using a bulleted list or simple diagrams to outline features is okay. If this is net new functionality, call this out as well._

#### Are there breaking changes to the User Experience?
_Will this change the existing user experience? Will this be a breaking change from a user flow or user experience perspective?_

### Why should it be built? Any reason not to?
_Describe the value that this feature will bring to the OpenSearch community, as well as what impact it has if it isn't built, or new risks if it is. Highlight opportunities for additional research._

### What will it take to execute?
_Describe what it will take to build this feature. Are there any assumptions you may be making that could limit scope or add limitations? Are there performance, cost, or technical constraints that may impact the user experience? Does this feature depend on other feature work? What additional risks are there?_

### Any remaining open questions?
_What are known enhancements to this feature? Any enhancements that may be out of scope but that we will want to track long term? List any other open questions that may need to be answered before proceeding with an implementation._
10 changes: 10 additions & 0 deletions .github/ISSUE_TEMPLATE/config.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
contact_links:
- name: 💬 OpenSearch Community Slack Workspace
url: https://opensearch.org/slack.html
about: Chat with community members and maintainers here.
- name: 🤷 OpenSearch Community Forum
url: https://forum.opensearch.org/
about: Ask and answer OpenSearch usage questions here.
- name: 🔐 Report a Security Issue
url: https://github.com/opensearch-project/.github/blob/main/SECURITY.md
about: Please e-mail [email protected]. Do not create a public GitHub issue.
8 changes: 8 additions & 0 deletions .github/PULL_REQUEST_TEMPLATE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
### Description
_Describe what this change achieves._

### Issues Resolved
_List any issues this PR will resolve, e.g. Closes [...]._

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check [here](https://github.com/opensearch-project/OpenSearch/blob/main/CONTRIBUTING.md#developer-certificate-of-origin).
19 changes: 19 additions & 0 deletions .github/workflows/add-untriaged.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
name: Apply 'untriaged' label during issue lifecycle

on:
issues:
types: [opened, reopened, transferred]

jobs:
apply-label:
runs-on: ubuntu-latest
steps:
- uses: actions/github-script@v6
with:
script: |
github.rest.issues.addLabels({
issue_number: context.issue.number,
owner: context.repo.owner,
repo: context.repo.repo,
labels: ['untriaged']
})
17 changes: 17 additions & 0 deletions .github/workflows/link-checker.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
name: Link Checker
on: [push, pull_request]

jobs:
linkchecker:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Lychee Link Checker
id: lychee
uses: lycheeverse/lychee-action@master
with:
args: --accept=200,403,429 "./**/*.md" "./**/*.txt"
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Fail on Error
run: exit ${{ steps.lychee.outputs.exit_code }}
1 change: 1 addition & 0 deletions .lycheeignore
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
https://playground.opensearch.org/*
61 changes: 61 additions & 0 deletions ADMINS.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
- [Overview](#overview)
- [Current Admins](#current-admins)
- [Admin Permissions](#admin-permissions)
- [Prioritize Security](#prioritize-security)
- [Enforce Code of Conduct](#enforce-code-of-conduct)
- [Add/Remove Maintainers](#addremove-maintainers)
- [Adopt Organizational Practices](#adopt-organizational-practices)
- [New Repos](#new-repos)

## Overview

This document explains who the admins are (see below), what they do in opensearch-project, and how they should be doing it. These individuals are members of an "admin" GitHub team that is given Admin-level permissions to every repository in opensearch-project organization. These are individuals that worked on creating the OpenSearch fork, and those that currently support the organization-wide infrastructure, such as the public [CI/CD](https://build.ci.opensearch.org/).

If you're interested in becoming a maintainer, see [MAINTAINERS](MAINTAINERS.md). If you're interested in contributing, see [CONTRIBUTING](CONTRIBUTING.md).

## Current Admins

| Admin | GitHub ID | Affiliation |
| ------------------------ | --------------------------------------------------------- | ----------- |
| Navneet Verma | [navneet1v](https://github.com/navneet1v ) | Amazon |
| Rajvaibhav Rahane | [Rajrahane](https://github.com/Rajrahane) | Amazon |
| Vamshi Vijay Nakkirtha | [vamshin](https://github.com/vamshin) | Amazon |
| Yigit Kiran | [yigithub](https://github.com/yigithub) | Amazon |
| Jay Deng | [jed326](https://github.com/jed326) | Amazon |
| Rohan Chitale | [rchitale7](https://github.com/rchitale7) | Amazon |
| Owen Halpert | [owenhalpert](https://github.com/owenhalpert) | Amazon |
| Neetika Singhal | [neetikasinghal](https://github.com/neetikasinghal) | Amazon |

## Admin Permissions

Admins have [admin-level permissions on a repository](https://docs.github.com/en/organizations/managing-access-to-your-organizations-repositories/repository-permission-levels-for-an-organization). Use those privileges to serve the community and protect the repository as follows.

### Prioritize Security

Security is your number one priority. Manage security keys and safeguard access to the repository.

Note that this repository is monitored and supported 24/7 by Amazon Security, see [Reporting a Vulnerability](SECURITY.md) for details.

### Enforce Code of Conduct

Act on [CODE_OF_CONDUCT](CODE_OF_CONDUCT.md) violations by revoking access, and blocking malicious actors.

### Add/Remove Maintainers

Perform administrative tasks, such as [adding](RESPONSIBILITIES.md#adding-a-new-maintainer) and [removing maintainers](RESPONSIBILITIES.md#removing-a-maintainer).

Please note that maintainers typically do not have admin-level permissions in their repos in this organization. Admin-level permissions allow for sensitive and destructive actions, such as managing security, or deleting a repository. Therefore, admin access in opensearch-project was designed to be deliberately centralized in ways that requires that two people to make any one sensitive change. If you need to perform an admin function, such as adding or removing a maintainer, please [follow the maintainer nomination process](RESPONSIBILITIES.md#becoming-a-maintainer), then ask to effect permissions by tagging `@admin` in your pull request, or the [#maintainers channel on the public Slack](https://opensearch.slack.com/archives/C05L60S4UBT). One of the above-mentioned admins will make this change for you.

### Adopt Organizational Practices

Adopt organizational practices documented in this repo, work in the open, and collaborate with other admins by opening issues before making process changes. Prefer consistency, and avoid diverging from practices in the opensearch-project organization.

## New Repos

There are currently two ways new repositories may appear in the opensearch-project organization: creating a new repo and adopting, or moving a repo from outside of the organization into it. The process is the same.

The AWS Open Source Program Office (OSPO) currently owns and manages the opensearch-project organization, and has permissions to create a new repo. This will change shortly following the [formation of the OpenSearch Software Foundation](https://foundation.opensearch.org/). While the admins above have admin-level permissions, they do not have permissions to create new repositories or move repositories into the organization.

All new repositories inside opensearch-project follow the [security response process](SECURITY.md), and therefore require an Amazon team to be engaged when necessary. If you wish to create a repository in this organization, or move a repository into opensearch-project, please contact one of the above-mentioned admins via the [#maintainers channel on the public Slack](https://opensearch.slack.com/archives/C05L60S4UBT).

While the opensearch-project organization has adopted [opensearch-plugin-template-java](https://github.com/opensearch-project/opensearch-plugin-template-java), or [opensearch-project/opensearch-learning-to-rank-base](https://github.com/opensearch-project/opensearch-learning-to-rank-base) in the past, we generally encourage you to start and run with your open-source project outside of the organization, and only consider making it part of it when you wish to include your already very popular component or tool in the "official" distribution. To request moving a repo into this organization, please open a proposal in your repo, have repo maintainers confirm they wish to move, and engage admins via the [#admin-requests channel on the public Slack](https://opensearch.slack.com/archives/C051CKVFB2A).
24 changes: 24 additions & 0 deletions CODE_OF_CONDUCT.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@

This code of conduct applies to all spaces provided by the OpenSource project including in code, documentation, issue trackers, mailing lists, chat channels, wikis, blogs, social media, events, conferences, meetings, and any other communication channels used by the project.

**Our open source communities endeavor to:**

* Be Inclusive: We are committed to being a community where everyone can join and contribute. This means using inclusive and welcoming language.
* Be Welcoming: We are committed to maintaining a safe space for everyone to be able to contribute.
* Be Respectful: We are committed to encouraging differing viewpoints, accepting constructive criticism and work collaboratively towards decisions that help the project grow. Disrespectful and unacceptable behavior will not be tolerated.
* Be Collaborative: We are committed to supporting what is best for our community and users. When we build anything for the benefit of the project, we should document the work we do and communicate to others on how this affects their work.

**Our Responsibility. As contributors, members, or bystanders we each individually have the responsibility to behave professionally and respectfully at all times. Disrespectful and unacceptable behaviors include, but are not limited to:**

* The use of violent threats, abusive, discriminatory, or derogatory language;
* Offensive comments related to gender, gender identity and expression, sexual orientation, disability, mental illness, race, political or religious affiliation;
* Posting of sexually explicit or violent content;
* The use of sexualized language and unwelcome sexual attention or advances;
* Public or private harassment of any kind;
* Publishing private information, such as physical or electronic address, without permission;
* Other conduct which could reasonably be considered inappropriate in a professional setting;
* Advocating for or encouraging any of the above behaviors.

**Enforcement and Reporting Code of Conduct Issues:**

Instances of abusive, harassing, or otherwise unacceptable behavior may be reported. [Contact us](mailto:[email protected]). All complaints will be reviewed and investigated and will result in a response that is deemed necessary and appropriate to the circumstances.
Loading