Skip to content

Commit c6bafb4

Browse files
Katie GamanjiKatie Gamanji
authored andcommitted
Due dilligence for application process, contribuitors and security
Signed-off-by: Katie Gamanji <[email protected]>
1 parent 42ac9c4 commit c6bafb4

File tree

1 file changed

+120
-34
lines changed

1 file changed

+120
-34
lines changed

projects/fluid/fluid-incubation-proposal.md

Lines changed: 120 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,40 @@
11
# Fluid Incubation Due Diligence
22

3-
- Link to [Incubation application issue]()
3+
- [Fluid Incubation application issue](https://github.com/cncf/toc/issues/1317)
44

55
<!-- This template provides the TOC with the outline for completing due diligence of a project to move levels. This universal template is designed to capture all criteria so the TOC may ensure prior level criteria do not regress. As part of completing the due diligence, the TOC member should update the template to convey the level the project applied for the criteria by bolding the level indicated where the criteria is relevant. -->
66

77
## Incubation Evaluation Summary for Fluid
88

99
### Criteria Evaluation
1010

11-
_$TOCMEMBER conducted the due diligence of Fluid who applied for $LEVEL. The project [has/has not] completed the criteria that show its maturity at $LEVEL. The following criteria implementations are noteworthy to call out... $NOTABLES. The following actions were provided to the project that were considered blocking but since resolved... $BLOCKERS. The following recommendations were provided to the project that are non-blocking in the TOC's assessment but should be completed by the project to ensure continued viability of the project... $RECOMMENDATIONS._
11+
Katie Gamanji (@kgamanji) and Alex Chircop (@chira001) conducted the due diligence of Fluid who applied for Incubation. The project has completed the criteria that show its maturity at Incubation. The following criteria implementations are noteworthy to call out:
12+
- TODO ... $NOTABLES.
13+
14+
The following actions were provided to the project that were considered blocking but since resolved:
15+
- the project presented to TAG Storage over 1y ago. Considering the ongoing TAG Reboot initiative, maintainers were advised to complete the General Technical Review for the project
16+
- the security contact page was returning a 404 error in [Reporting a Vulnerability](https://github.com/fluid-cloudnative/fluid/blob/master/SECURITY.md#private-disclosure-processes) and should be fixed
17+
- provide a community meeting calendar to simplify the path for contributors and adopters to join future calls. It is specified that the calls are on a bi-weekly cadence, but the date of the next meeting date is unknown
18+
- fix the inconsistency in community meeting times. The agenda to propose topics specifies a Zoom link as opposed to DingTalk Group where the calls are actually taking place. Consolidation and removal of references to unused resources is required.
19+
- the link to CoC in Join Our [Community as a Member](https://github.com/fluid-cloudnative/fluid/blob/a6c6343a0ee448f1498aafcdfecada55d5fa283b/CONTRIBUTING.md#join-our-community-as-a-member) returns a 404 error and should be fixed.
20+
21+
The following recommendations were provided to the project that are non-blocking in the TOC's assessment but should be completed by the project to ensure continued viability of the project:
22+
23+
- Consider renaming the development branch from master -> main e.g. [Kubernetes Default Branch Migration](https://www.kubernetes.dev/resources/rename/). Also, note that renaming the branch would require an update for the contributor and release process guidelines
24+
- Community meetings are taking place regularly and are held in Mandarin. No blockers here, however, would suggest working with CNCF staff to use an automated transcript tool if possible.
25+
- take action on the outstanding items that lower the [OpenSSF scorecard score](https://scorecard.dev/viewer/?uri=github.com/fluid-cloudnative/fluid)
26+
- for the listed [Fluid Adopters](https://github.com/fluid-cloudnative/fluid/blob/master/ADOPTERS.md) all GitHub handles for "contact" are 404ing and pointing to email addresses of adopters. Email addresses could represent a privacy risk, and we would recommend pointing to GitHub handlers instead.
1227

1328
### Adoption Evaluation
1429

15-
_The adopter interviews reflect a project [in use/too early] for the level which the project applied. They show ... $INTERVIEWSUMMARY._
30+
The adopter interviews reflect the project use for the Incubation level to which the project has applied.
31+
32+
TODO
1633

1734
### Final Assessment
1835

19-
_[The TOC has found the project to have satisfied the criteria for $LEVEL/ The TOC's evaluation of the project shows a needed focus to complete the outstanding blockers and reapply when the following conditions are met ... $CONDITIONS]._
36+
The TOC has found the project to have satisfied the criteria for Incubation.
37+
2038

2139
## Application Process Principles
2240

@@ -26,32 +44,47 @@ N/A
2644

2745
### Required
2846

29-
- [ ] **Give a presentation and engage with the domain specific TAG(s) to increase awareness**
30-
- This was completed and occurred on DD-MMM-YYYY, and can be discovered at $LINK.
47+
- [x] **Give a presentation and engage with the domain specific TAG(s) to increase awareness**
48+
- The project presented to TAG Storage on 10-07-2024, and can be discovered at [here](https://www.youtube.com/watch?v=kBZNRbP4nOU).
3149

3250
<!-- (TOC Evaluation goes here) -->
3351

34-
- [ ] **TAG provides insight/recommendation of the project in the context of the landscape**
52+
- [x] **TAG provides insight/recommendation of the project in the context of the landscape**
3553

3654
<!-- (TOC Evaluation goes here) -->
3755

38-
- [ ] **All project metadata and resources are [vendor-neutral](https://contribute.cncf.io/maintainers/community/vendor-neutrality/).**
56+
The feedback from the TAG was positive, however it was conducted more than 1 year ago at the time of the project assessment for Incubation. The project maintainers were asked to complete the General Technical Review for Fluid, which can be found [here](https://github.com/fluid-cloudnative/community/blob/1215ac22dc7b757cc9b63eee8660c3e15210ba8f/docs/general-technical-review-cncf-incubating.md).
57+
58+
- [x] **All project metadata and resources are [vendor-neutral](https://contribute.cncf.io/maintainers/community/vendor-neutrality/).**
3959

4060
<!-- (TOC Evaluation goes here) -->
4161

42-
- [ ] **Review and acknowledgement of expectations for [Sandbox](sandbox.cncf.io) projects and requirements for moving forward through the CNCF Maturity levels.**
43-
- Met during Project's application on DD-MMM-YYYY.
62+
The project fulfills the vendor-neutral criteria. The main communication channel is on DingTalk and WeChat groups. Also the project uses [Slack](https://cloud-native.slack.com/archives/C02ADG209SP), on the CNCF workspace via `#fluid` channel.
63+
[Community meetings](https://github.com/fluid-cloudnative/community/wiki/Meeting-Schedule) are held on DingTalk with a bi-weekly cadence. Users are also capable of finding the meeting notes on [Fluid GitHub Community Repository](https://github.com/fluid-cloudnative/community/wiki/Meeting-Schedule) and to follow up on the latest topics of discussion.
64+
65+
66+
- [x] **Review and acknowledgement of expectations for [Sandbox](sandbox.cncf.io) projects and requirements for moving forward through the CNCF Maturity levels.**
67+
- Met during Project's application on 27-Apr-2021.
4468

4569
<!-- (TOC Evaluation goes here) -->
4670

47-
- [ ] **Due Diligence Review.**
71+
Fluid Sandbox application can be found [here](https://github.com/cncf/sandbox/issues/245).
72+
73+
The project maintainers have understood the expectations for Sandbox projects and requirements for moving forward through the CNCF incubation level.
74+
75+
- [x] **Due Diligence Review.**
4876

4977
Completion of this due diligence document, resolution of concerns raised, and presented for public comment satisfies the Due Diligence Review criteria.
5078

51-
- [ ] **Additional documentation as appropriate for project type, e.g.: installation documentation, end user documentation, reference implementation and/or code samples.**
79+
- [x] **Additional documentation as appropriate for project type, e.g.: installation documentation, end user documentation, reference implementation and/or code samples.**
5280

5381
<!-- (TOC Evaluation goes here) -->
5482

83+
The project maintainers have added the following additional documentation as follows.
84+
- [Installation documentation](https://fluid-cloudnative.github.io/docs/next/get-started/installation)
85+
- [User documentation](https://fluid-cloudnative.github.io/docs/next)
86+
- [Architecture documentation](https://fluid-cloudnative.github.io/docs/next/core-concepts/architecture-and-concepts)
87+
5588
## Governance and Maintainers
5689

5790
Note: this section may be augmented by the completion of a Governance Review from TAG Contributor Strategy.
@@ -122,39 +155,73 @@ Note: this section may be augmented by the completion of a Governance Review fro
122155

123156
## Contributors and Community
124157

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

127159
### Suggested
128160

129-
- [ ] **Contributor ladder with multiple roles for contributors.**
161+
- [x] **Contributor ladder with multiple roles for contributors.**
130162

131163
<!-- (TOC Evaluation goes here) -->
164+
The project provides [3 levels of engagement routes](https://github.com/fluid-cloudnative/fluid/blob/3c08916896125990963b34d0b7fb6caae2c78bda/GOVERNANCE.md) for community members, each one building on the previous responsibilities:
165+
- Contributors - base level interaction on the project through comments on issues or pull request
166+
- Committers - community members who have shown that they are committed to the continued development of the project through ongoing engagement
167+
- Maintainers - lead the development of the project, through contributions to increasingly complicated PRs/designs and review PRs/designs, under the guidance of the existing maintainers
132168

133169
### Required
134170

135-
- [ ] **Clearly defined and discoverable process to submit issues or changes.**
171+
- [x] **Clearly defined and discoverable process to submit issues or changes.**
136172

137173
<!-- (TOC Evaluation goes here) -->
174+
Fluid makes use of GitHub issues and PRs. The following guidelines are available:
175+
- [Filling an issue](https://github.com/fluid-cloudnative/fluid/blob/3c08916896125990963b34d0b7fb6caae2c78bda/CONTRIBUTING.md#filing-issues), including templates for:
176+
- [Report a bug](https://github.com/fluid-cloudnative/fluid/blob/3c08916896125990963b34d0b7fb6caae2c78bda/.github/ISSUE_TEMPLATE/bug-report.md)
177+
- [Document improvements](https://github.com/fluid-cloudnative/fluid/blob/3c08916896125990963b34d0b7fb6caae2c78bda/.github/ISSUE_TEMPLATE/docs-defect.md)
178+
- [Feature Request](https://github.com/fluid-cloudnative/fluid/blob/master/.github/ISSUE_TEMPLATE/feature-request.md)
179+
- with a list of examples for [code contributions](https://github.com/fluid-cloudnative/fluid/blob/3c08916896125990963b34d0b7fb6caae2c78bda/CONTRIBUTING.md#code-contributions)
180+
181+
The project also provides a guide on how to set up a [development workspace
182+
](https://github.com/fluid-cloudnative/fluid/blob/3c08916896125990963b34d0b7fb6caae2c78bda/CONTRIBUTING.md#setting-up-development-workspace) and submit a PR through available [template](https://github.com/fluid-cloudnative/fluid/blob/3c08916896125990963b34d0b7fb6caae2c78bda/.github/PULL_REQUEST_TEMPLATE.md).
183+
138184

139-
- [ ] **Project must have, and document, at least one public communications channel for users and/or contributors.**
185+
- [x] **Project must have, and document, at least one public communications channel for users and/or contributors.**
140186

141187
<!-- (TOC Evaluation goes here) -->
142188

143-
- [ ] **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.**
189+
Public communication channels for Fluid are listed [here](https://github.com/fluid-cloudnative/fluid?tab=readme-ov-file#community), including a DingTalk and WeChat groups, and Slack.
190+
191+
- [x] **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.**
144192

145193
<!-- (TOC Evaluation goes here) -->
194+
The main channel of communication are listed below:
195+
- CNCF Slack channel: [#fluid](https://cloud-native.slack.com/archives/C02ADG209SP)
196+
- WeChat Group: Fluid Open Source Group
197+
- DingTalk Group: Fluid Open Source Group
198+
199+
[Community meetings](https://github.com/fluid-cloudnative/community/wiki/Meeting-Schedule) are held on [DingTalk Group](https://qr.dingtalk.com/action/joingroup) with a bi-weekly cadence.
146200

147-
- [ ] **Up-to-date public meeting schedulers and/or integration with CNCF calendar.**
201+
- [x] **Up-to-date public meeting schedulers and/or integration with CNCF calendar.**
148202

149203
<!-- (TOC Evaluation goes here) -->
204+
Community members are able to join community meetings on a bi-weekly basis. The meeting notes can be found on [Fluid GitHub Community Repository](https://github.com/fluid-cloudnative/community/wiki/Meeting-Schedule) and to follow up on the latest topics of discussion.
205+
206+
Community meetings are held in Mandarin, and are a great way to engage with the maintainers and get involved in project development.
150207

151-
- [ ] **Documentation of how to contribute, with increasing detail as the project matures.**
208+
TODO: calendar for meetings
209+
210+
211+
- [x] **Documentation of how to contribute, with increasing detail as the project matures.**
152212

153213
<!-- (TOC Evaluation goes here) -->
154214

155-
- [ ] **Demonstrate contributor activity and recruitment.**
215+
Details on how to contribute and engage with the project are listed on the [Contributing Guidelines](https://github.com/fluid-cloudnative/fluid/blob/3c08916896125990963b34d0b7fb6caae2c78bda/CONTRIBUTING.md), including a path to [join the community as a member](https://github.com/fluid-cloudnative/fluid/blob/3c08916896125990963b34d0b7fb6caae2c78bda/CONTRIBUTING.md#join-our-community-as-a-member). The contributing members are also encouraged to follow the [Code of Conduct](https://github.com/fluid-cloudnative/fluid/blob/3c08916896125990963b34d0b7fb6caae2c78bda/CODE_OF_CONDUCT.md) as part of getting involved.
216+
217+
218+
- [x] **Demonstrate contributor activity and recruitment.**
156219

157220
<!-- (TOC Evaluation goes here) -->
221+
The project has a good history of adding new contributors e.g. [listing 10 new contributors](https://github.com/fluid-cloudnative/fluid/commit/37ddcf63e88303578fee99e3970465fbddc404e3) in addition to existing maintainers. Also, there is a good distribution of involved organizations, ensuring the continuity of the vendor-neutral development of Fluid.
222+
223+
Also, over the last 2 years the project has a consistent ratio of contribution vs involved contributors, that can observed in the [DevStats contribution distribution](https://fluid.devstats.cncf.io/d/74/contributions-chart?orgId=1&var-period=m&var-metric=contributions&var-repogroup_name=All&var-country_name=All&var-company_name=All&var-company=all&from=now-2y&to=now).
224+
158225

159226
## Engineering Principles
160227

@@ -200,25 +267,53 @@ N/A
200267

201268
### Required
202269

203-
- [ ] **Clearly defined and discoverable process to report security issues.**
270+
- [x] **Clearly defined and discoverable process to report security issues.**
204271

205272
<!-- (TOC Evaluation goes here) -->
273+
The [SECURITY.md](https://github.com/fluid-cloudnative/fluid/blob/3c08916896125990963b34d0b7fb6caae2c78bda/SECURITY.md#reporting-a-vulnerability) file outlines the vulnerability reporting process, including a mailing list ([email protected]) monitored by the maintainers that can be used for private disclosures.
274+
275+
Community members have the option to reach out to [security contacts](https://github.com/fluid-cloudnative/fluid/blob/3c08916896125990963b34d0b7fb6caae2c78bda/SECURITY_CONTACTS) to kickstart any private or public disclosure processes.
276+
277+
Successful examples of fixed reported security issues, can be found below:
278+
- [On a compromised node, the fluid-csi service account can be used to modify node specs](https://github.com/fluid-cloudnative/fluid/security/advisories/GHSA-93xx-cvmc-9w3v)
279+
- [OS Command Injection for Fluid Users with JuicefsRuntime](https://github.com/fluid-cloudnative/fluid/security/advisories/GHSA-wx8q-4gm9-rj2g)
206280

207-
- [ ] **Enforcing Access Control Rules to secure the code base against attacks (Example: two factor authentication enforcement, and/or use of ACL tools.)**
281+
282+
- [x] **Enforcing Access Control Rules to secure the code base against attacks (Example: two factor authentication enforcement, and/or use of ACL tools.)**
208283

209284
<!-- (TOC Evaluation goes here) -->
210285

211-
- [ ] **Document assignment of security response roles and how reports are handled.**
286+
2FA required for org members; branch protections enabled.
287+
288+
To be added as a GitHub member within the Fluid organization, each member should enable two-factor authentication (2FA). Also, the repository has branch protection rules enabled, which enforce certain workflows or requirements before a collaborator can push changes to a branch in the repository.
289+
290+
- [x] **Document assignment of security response roles and how reports are handled.**
212291

213292
<!-- (TOC Evaluation goes here) -->
293+
One of the core responsibility for maintainers is to respond to time-sensitive security release processes. Although this should be a rare occurrence, if a serious vulnerability is found the maintainers are expected to dedicate time to the fix, which is a process that might take up to several full days of work to implement.
214294

215-
- [ ] **Document Security Self-Assessment.**
295+
[GitHub Security Advisor](https://github.com/fluid-cloudnative/fluid/security/advisories) is used as the communication channel during the process of identifying, fixing & shipping the mitigation of the reported vulnerability.
296+
297+
The advisory will only be made public when the patched version is released to inform the community of the breach and its potential security impact.
298+
299+
Additionally, security scanning is enabled for the Fluid project and the[security contacts](https://github.com/fluid-cloudnative/fluid/blob/3c08916896125990963b34d0b7fb6caae2c78bda/SECURITY_CONTACTS) are responsible for assessing and providing a fix for the reported vulnerability.
300+
301+
302+
- [x] **Document Security Self-Assessment.**
216303

217304
<!-- (TOC Evaluation goes here) -->
218305

219-
- [ ] **Achieve the Open Source Security Foundation (OpenSSF) Best Practices passing badge.**
306+
The completed security self-assessment can be found [here](https://github.com/fluid-cloudnative/fluid/blob/3c08916896125990963b34d0b7fb6caae2c78bda/security/self-assessment.md).
307+
308+
309+
- [x] **Achieve the Open Source Security Foundation (OpenSSF) Best Practices passing badge.**
220310

221311
<!-- (TOC Evaluation goes here) -->
312+
The project has a passing [OpenSSF Best Practices](https://www.bestpractices.dev/en/projects/4886) badge, with a 100% completion level, which is linked in [Fluid](https://github.com/fluid-cloudnative/fluid/tree/master) repository.
313+
314+
In addition, Fluid has [OpenSSF Scorecard report](https://scorecard.dev/viewer/?uri=github.com/fluid-cloudnative/fluid) via a score of 9.1 at the time of due diligence assessment.
315+
316+
222317

223318
## Ecosystem
224319

@@ -250,15 +345,6 @@ Refer to the Adoption portion of this document.
250345

251346
#### Adoption
252347

253-
##### Adopter 1 - $COMPANY/$INDUSTRY
254-
255-
_If the Adopting organization needs to remain anonymous, stating the industry vertical is sufficient._
256-
MONTH YEAR
257-
258-
##### Adopter 2 - $COMPANY/$INDUSTRY
259-
260-
_If the Adopting organization needs to remain anonymous, stating the industry vertical is sufficient._
261-
MONTH YEAR
262348

263349
##### Adopter 3 - $COMPANY/$INDUSTRY
264350

0 commit comments

Comments
 (0)