-
Notifications
You must be signed in to change notification settings - Fork 182
Proposal To Add A SERVICES.md or similar documentation to OpenJS Projects #1425
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
Comments
possibly related: expressjs/discussions#324 |
In terms of adoption it would be good to add some doc on the benefits to the project by doing this. Does it result in better support from Foundation, have other projects found it helpfull to their day to day work etc. |
Projects should consider whether a doc like this should be exposed publicly. Meaning, it is perhaps better to live in a private repo for security reasons, though should be a low risk, as the doc should not contain any especially sensitive information. |
It would be good to loosen the suggestions a bit around "should have" and where the content lives. For example, for single repo projects, it might not be desirable to have it live in the root of the repo because then it clutters the code while also maybe needing to be added to npmignore's and stuff like that. But generally on Express we were hoping to do this for our own benefit as maintainers to keep track of things, especially as new maintainers come into the project. |
I'd be against drawing people a clear map of a projects infrastructure, in principle it shouldn't matter if people know which DNS provider, or hosting provider power certain pieces of project infrastructure but I'd rather not make it deliberately easier for folks to know what to go after 🤷 Electron already has an internal service registry for stuff we run ourselves, including CI, hosting, apps/bots etc. And I'm not sure there's a super compelling reason to share that publicly, but sharing our existing doc with the foundation seems reasonable (from my perspective, not speaking unilaterally for electron) |
Notes from this week's CPC call:
|
@ruddermann we discussed this item in today's CPC call and felt it was a good topic for the security working group, can we add this to the agenda for next week? |
CPC update: Was on agenda for previous sec working group, Ben discuss with that group and come back with a recommendation prior to next CPC call. |
I'm +1. |
Waiting on written recommendation from @ruddermann |
Howdy yall, apologies for the delay here. I've drafted up an initial policy below. Here is a gDoc version in case folks would prefer to comment on items that way. One of the challenges of this initial version was the flexibility that the Security Collab Space suggested that each project be given to maximize for adoption of the policy. To achieve this, the consensus of the Collab Space is that the policy should NOT be prescriptive regarding if the file is stored in a public or private repo and give each project the choice. Since we're giving projects this flexibility, one of the things I was left wondering is flexible Robin/Ben/others would be to how they are notified about changes to the See the draft policy below: OpenJS Third Party Services Documentation PolicySummaryThis policy establishes communications and documentation guidelines that allow the OpenJS Foundation to maintain visibility of the third party services OpenJS hosted projects are currently using or planning to in the future. The Foundation wishes to leverage this information to:
This policy is intended to be structured in a way that enables the Foundation to understand and foster partnerships while respecting project autonomy and security considerations. Policy: Notify the Foundation when considering changing existing or adding new service providersBefore engaging with a significant third-party SaaS or infrastructure provider, projects are asked to contact the OpenJS Foundation (Robin Ginn or Ben Sternthal). The Foundation may have existing arrangements or facilitate new partnerships in collaboration in with projects. Choose one of the following approaches to engage with the Foundation: Open for discussion: Option 1: In your own GitHub Issue or Discussion Policy: Maintain documentation of current and future services1. Services.md file contents and formatEach OpenJS project must maintain a This information should be maintained in a simple Markdown list. The below example is illustrative and not intended to necessarily be comprehensive as each project may have additional items unique to them. # Third-Party Services Used
This project relies on the following third-party services:
## Hosting & Infrastructure
- **Cloud Provider:** AWS (EC2, S3)
- **CDN:** Cloudflare
- **DNS Provider:** Namecheap
## Development & CI/CD
- **Code Repository:** GitHub
- **CI/CD:** GitHub Actions, Travis CI
- **Artifact Storage:** Docker Hub, NPM
## Monitoring & Security
- **Logging:** Datadog
- **Error Tracking:** Sentry
- **Dependency Management:** Dependabot
- **Security Scanning:** CodeQL
## Communication & Support
- **Email Provider:** SendGrid
- **Issue Tracking:** GitHub Issues Important Keep entries high-level. Do not include sensitive information such as vendor contacts, contract or license information, or specific data about the infrastructure itself. 2. Services.md storage locationThe
Projects may choose, at their own discretion, to place this file in either a public or private repository. The level of detail expected of the 3. Services.md Maintenance & Notifications
To enable Foundation monitoring of service usage across projects, choose one of the following approaches: Option 1: Repository-level watching
Option 2: Manual notification
Questions and SupportFor questions about this policy or assistance with implementation, please contact the OpenJS Foundation by [Contacting Ben? Opening a CPC issue? Going to the Collab Space?]. |
I've updated the gDoc version to incorporate feedback from @bensternthal. I didn't see an agenda issue for the CPC meeting tomorrow, but this issue should still be tagged correctly to put it on the agenda. |
Notes from this week's CPC call:
|
Proposal: Shifting Service Inventory Responsibility to Projects
As part of the STF work in 2024, the IT team conducted audits to catalog all the services that OpenJS projects rely on. However, this was documented in Google Sheets in a way that is difficult to maintain. The current approach presents several challenges:
• Lack of project ownership: Projects cannot easily update or maintain their own service lists.
• Not version controlled: The inventory is disconnected from the project repositories and their development workflows.
• Rapidly outdated: The information is already obsolete, making it unreliable.
Maintaining an accurate, up-to-date list at the foundation level (IMHO) is a losing battle. Instead, we should shift this responsibility to individual projects to ensure accuracy and timely updates
Proposal (This is a straw person and is intended to be something folks can react to)
Below is an example of what I am thinking.
The text was updated successfully, but these errors were encountered: