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

[Incubation] OpenEBS Incubation Application #1537

Open
36 of 48 tasks
avishnu opened this issue Feb 14, 2025 · 1 comment
Open
36 of 48 tasks

[Incubation] OpenEBS Incubation Application #1537

avishnu opened this issue Feb 14, 2025 · 1 comment

Comments

@avishnu
Copy link
Contributor

avishnu commented Feb 14, 2025

Review Project Moving Level Evaluation

  • I have reviewed the TOC's moving level readiness triage guide, ensured the criteria for my project are met before opening this issue, and understand that unmet criteria will result in the project's application being closed.

OpenEBS Incubation Application

v1.6
This template provides the project with a framework to inform the TOC of their conformance to the Incubation Level Criteria.

Project Repo(s): https://github.com/openebs/openebs
Project Site: https://openebs.io
Sub-Projects: Local PV Hostpath, Local PV LVM, Local PV ZFS, Local PV Rawfile (Experimental), Mayastor
Communication: OpenEBS channel in Kubernetes Slack workspace

Project points of contacts:

Name GitHub ID
Abhinandan Purkait @Abhinandan-Purkait
Alexander Best @Alex130469
David Brace @orville-wright
Niladri Halder @niladrih
Tiago Castro @tiagolobocastro
Vishnu Attur @avishnu

OpenEBS email: [email protected]

Incubation Criteria Summary for OpenEBS

Application Level Assertion

  • This project is currently Sandbox, accepted on 20241017, and applying to Incubation.
  • This project is applying to join the CNCF at the Incubation level.

Adoption Assertion

The project has been adopted by the following organizations in a testing and integration or production capacity:

Application Process Principles

Suggested

N/A

Required

Vendor neutral communication:

  • OpenEBS offers equal representation to all vendors by listing on the website, the third-party companies offering commercial support, presented in alphabetical order without favoring any particular vendor.
  • OpenEBS website follows the CNCF website guidelines.
  • Social media handles (eg. YouTube, Twitter) do not endorse any specific vendor.
  • OpenEBS slack communication happens in a Kubernetes workspace channel.

Hosting:

  • OpenEBS source code is hosted in a CNCF enterprise GitHub account.
  • The continuous integration testing is done using GitHub actions.
  • Weekly maintainer meeting minutes are published in GitHub discussion threads.
  • Monthly contributors meetings are hosted using a free-tier Zoom account. The videos are recorded and uploaded to a public YouTube channel https://www.youtube.com/@openebscommunity6021.

Architectural decisions:

  • OpenEBS is an open-source project. The source code is freely available for anyone to use, modify, and contribute. This fosters a community-driven approach rather than vendor dominance.
  • OpenEBS supports multiple storage engines, allowing users to choose the most suitable solution for their use-cases. This flexibility ensures no reliance on a single vendor-specific technology.
  • OpenEBS is compatible with any Kubernetes variant, whether on-premises or cloud, and is not tied to a specific infrastructure provider.
  • The project maintainers curate the OpenEBS roadmap by prioritising inputs from GitHub issues, Slack queries and expected domain-specific features. The roadmap status is available at GitHub project board.

Governance:

  • As a CNCF Sandbox project, OpenEBS follows the foundation's commitment to open standards, interoperability, and vendor-neutrality.
  • OpenEBS operates under an open governance model where contributions are encouraged from a diverse community, including individuals and organizations.
  • OpenEBS governance documents a clear path for contributors to move up the ladder to become committers, reviewers and maintainers.

Governance and Maintainers

Note: this section may be augmented by the completion of a Governance Review from TAG Contributor Strategy.

Suggested

  • Clear and discoverable project governance documentation.

    The Governance Doc is located in the community repo and can be discovered from all OpenEBS repositories via signpost links.

  • Governance has continuously been iterated upon by the project as a result of their experience applying it, with the governance history demonstrating evolution of maturity alongside the project's maturity evolution.

    As OpenEBS has been maturing, the Maintainers have been iterating over the project governance as deemed appropriate. The changes to the governance can be tracked in the GOVERNANCE.md commit history.

  • Governance is up to date with actual project activities, including any meetings, elections, leadership, or approval processes.

  • Governance clearly documents vendor-neutrality of project direction.

  • Document how the project makes decisions on leadership, contribution acceptance, requests to the CNCF, and changes to governance or project goals.

  • Document how role, function-based members, or sub-teams are assigned, onboarded, and removed for specific teams (example: Security Response Committee).

  • Document a complete maintainer lifecycle process (including roles, onboarding, offboarding, and emeritus status).

  • Demonstrate usage of the maintainer lifecycle with outcomes, either through the addition or replacement of maintainers as project events have required.

  • If the project has subprojects: subproject leadership, contribution, maturity status documented, including add/remove process.

Required

  • Document complete list of current maintainers, including names, contact information, domain of responsibility, and affiliation.

    This information is present in the MAINTAINERS.md

  • A number of active maintainers which is appropriate to the size and scope of the project.

    OpenEBS currently has 5 Maintainers. We encourage contributors to climb up the ladder to become Maintainers.

  • Code and Doc ownership in Github and elsewhere matches documented governance roles.

    All the repositories have CODEOWNERS files.

  • Document adoption of the CNCF Code of Conduct

    https://github.com/openebs/community/blob/HEAD/CODE_OF_CONDUCT.md

  • CNCF Code of Conduct is cross-linked from other governance documents.

    Documented in our Code of Conduct.

  • All subprojects, if any, are listed.

    OpenEBS is a unified umbrella project that provides options for local and replicated PVs. Presently, there are 4 Local PV engines (Hostpath, ZFS, LVM, Rawfile) and 1 Replicated PV engine (Mayastor). Each engine can be considered as a sub-project, as listed below:

Contributors and Community

Note: this section may be augmented by the completion of a Governance Review from TAG Contributor Strategy.

Suggested

  • Contributor ladder with multiple roles for contributors.

    Our GOVERNANCE.md lists down the roles and responsibilities for the various types of contributors. It also explains the journey of a contributor to become a maintainer.

Required

  • Clearly defined and discoverable process to submit issues or changes.

    The CONTRIBUTING.md details how to report product, documentation or security issues, and how to contribute to code, documentation or support.

  • Project must have, and document, at least one public communications channel for users and/or contributors.

  • List and document all project communication channels, including subprojects (mail list/slack/etc.). List any non-public communications channels and what their special purpose is.

OpenEBS Slack Channels:

  • #openebs under Kubernetes Slack for all public communication.
  • #openebs-dev under Kubernetes Slack for developers and contributors.

Maintainer’s group: [email protected]


  • Demonstrate contributor activity and recruitment.

    Contributor growth rate and activity can be seen through LFX Insights

Engineering Principles

Suggested

Required

  • Document project goals and objectives that illustrate the project’s differentiation in the Cloud Native landscape as well as outlines how this project fulfills an outstanding need and/or solves a problem differently. This can also be satisfied by completing a General Technical Review.

    The OpenEBS vision documents the goals and objectives of OpenEBS, and attempts to illustrate the project’s differentiation in the Cloud Native landscape.

  • Document what the project does, and why it does it - including viable cloud native use cases. This can also be satisfied by completing a General Technical Review.

    The OpenEBS vision attempts to establish the purpose of OpenEBS as a solution for enterprises to efficiently manage their stateful workloads in a cloud native ecosystem. The document also lists the key features of OpenEBS and the viable cloud native use-cases.

  • Document and maintain a public roadmap or other forward looking planning document or tracking mechanism.

    The public ROADMAP.md lists the near-term and long-term roadmap for the project, with potential timelines for features and enhancements.
    The public GitHub Roadmap Project is used to plan and track with focus on the execution of the roadmap items, issues and bugs, mapped against the releases.

  • Document overview of project architecture and software design that demonstrates viable cloud native use cases, as part of the project's documentation. This can also be satisfied by completing a General Technical Review and capturing the output in the project's documentation.

    Overview of project architecture for the project and sub-projects:

    Location for the design documents: https://github.com/openebs/openebs/tree/HEAD/designs

  • Document the project's release process.

    The release processes for the project and sub-projects:

Security

Note: this section may be augmented by a joint-assessment performed by TAG Security.

Suggested

N/A

Required

  • Clearly defined and discoverable process to report security issues.

    The process is documented at SECURITY.md.

  • Enforcing Access Control Rules to secure the code base against attacks (Example: two factor authentication enforcement, and/or use of ACL tools.)

    OpenEBS code is hosted in GitHub and uses GitHub teams for controlling access to the various repositories. Maintainers have enabled 2FA at the org level, which enforces Two Factor Authentication for all the org members. The org membership is periodically reviewed and kept up-to-date by the maintainers.

  • Document assignment of security response roles and how reports are handled.

    This is documented in the SECURITY.md.

  • Document Security Self-Assessment.

    Please find the security self-assessment document here.

  • Achieve the Open Source Security Foundation (OpenSSF) Best Practices passing badge.

    OpenEBS and each of the sub-projects have achieved OpenSSF Best Practices Passing Badge and it is displayed on the project and sub-projects README, as listed below:

Project/Sub-Project OpenSSF Badge
OpenEBS OpenSSF Best Practices
Local PV Hostpath OpenSSF Best Practices
Local PV ZFS OpenSSF Best Practices
Local PV LVM OpenSSF Best Practices
Mayastor OpenSSF Best Practices

Ecosystem

Suggested

N/A

Required

  • Publicly documented list of adopters, which may indicate their adoption level (dev/trialing, prod, etc.)

    The ADOPTERS.md contains an alphabetical list of OpenEBS adopters, both organizations and individuals. For each adopter, a success story link details the use-case, applications and the nature of deployment (dev/trialing/production), provided by the adopters themselves.

  • Used in appropriate capacity by at least 3 independent + indirect/direct adopters, (these are not required to be in the publicly documented list of adopters)

    The project has received confirmation from THREE adopters, waiting for responses from others. Will soon be providing the TOC with a list of adopters for verification.
    02/25/2025: Have submitted Adopter Interview Form with details of 3 adopters. Awaiting confirmation from more.

  • TOC verification of adopters.

Refer to the Adoption portion of this document.

Additional Information

  • An OpenEBS presentation to TAG storage has been scheduled for 12th Mar 2025.
@avishnu
Copy link
Contributor Author

avishnu commented Mar 13, 2025

Edit [03/13/2025]: Project presentation to TAG Storage has been completed on 12th Mar 2025.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Status: New
Development

No branches or pull requests

1 participant