-
Notifications
You must be signed in to change notification settings - Fork 637
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
[Graduation] cert-manager Graduation Application #1306
Comments
On 23/04, cert-manager maintainers and I had the kick-off meeting for the graduation process. Here are the suggested action items:
|
@kgamanji I've updated the description of this issue to reflect the status today. I think we've now ticked off everything we needed to, and I think everything in your follow-up comment is addressed as well! I think we're ready for the next step now! |
Thank you @SgtCoDFish and the cert-manager team for your presentation to TAG Security. The project's growth and evolution impressive, and we'd like to provide some feedback:
Overall, TAG Security is supportive of cert-manager's progression to graduated status in the CNCF. The project demonstrates maturity and a strong commitment to security practices. We look forward to seeing the continued evolution and success of cert-manager. Keep up the excellent work! |
Sharing latest questions + answers from Katie here at her request. Quoted sections are from Katie, unquoted are our responses.
We haven't raised an issue for joint tag security assessment yet - we're aiming for that in the future but didn't have the bandwidth just yet! (As far as we're aware right now that's not a requirement for graduation, just a thing we'd like to do in the future)
We did! The detail is tracked in here: cert-manager/community#14 I've also added a link to that issue in the original post of this issue. @maelvls can expand further if needed!
I shared the audit results in the presentation I made to tag security, we'd already addressed everything from it that we were going to as far as I remember
🚀
Now that 1.15 is released it would be nice to schedule something in for 1.16 from the roadmap. No plans today but we're in planning mode so we should be able to get something in. A few of the roadmap things are mainly going up involve subprojects so won't necc. be tied to a cert-manager release.
Confirmed that the list in this issue is up-to-date.
This is super exciting - great to be getting closer to being complete with this. |
As I am putting together the Graduation PR, I am going through all the responses filled in the Graduation issue. Here are a few follow up points:
Other updates:
|
Thanks Katie! Responding to the above:
I'm not sure I've got anything great to point at - I'll have a think - but non-maintainers have certainly contributed to decision making in our meetings. Erik is a good example - he's contributed with a lot of discussion and decision making in our daily standups, e.g. helping decide which approach to take for solving a problem. (I'm talking about Erik's past contributions here, before he applied to be a maintainer!)
Ah that's actually out of date because this issue was raised a while back, sorry! I was actually talking about Adam at the time I wrote that (cert-manager/community#23) who's now been a maintainer for a while. Adam is at Venafi, but he was onboarded as a maintainer entirely through the public process which is the same one that Erik (who is not affiliated with Venafi) has just cleared in the PR you linked. We've also offboarded Irbe as a maintainer since then (at her own request because she didn't have the time). The people on the path to becoming a maintainer at the time I wrote that would've been people who were on the path through the governance process. There's not really a great list for that since it's a bit decentralised, but it would have included:
I'll update that section to reflect the situation today!
This was updated today and is already resolved. As I've written elsewhere, we've been using the CNCF CoC in practice for a long while now (it's what we mention at the start of the biweekly meeting) - this was just an oversight.
Yeah we have a design proposal which will help to address this: cert-manager/cert-manager#7132 (I'll add a link to the issue description) The plan here is to evolve away from depending on the chart repo, since most people are moving to OCI registries anyway for charts. We'll keep pushing to the existing repository so we don't break anyone but we envision the primary way of consuming project charts to be pulling from OCI registries (which any maintainer should be able to access!) EDIT 19:58 UTC+1: I've updated the issue description with some of the details I wrote in this comment 👍 |
The due diligence process for cert-manager is complete. The overall assessment and evaluation can be found here: #1416 The project now is in the internal TOC review phase, which is expected to last no more than 1 week if no new concerns are raised. Thereafter, the project will be moved to the public comment period. |
I opened the public comment period that will close on the 20th of September: https://lists.cncf.io/g/cncf-toc/message/8708 |
Awesome, thanks for the update! EDIT: I'll share the link too! |
@kgamanji should this be closed now that we're finished with graduation? Is there anything else needed here? |
Yes, this is all done https://landscape.cncf.io/?item=provisioning--security-compliance--cert-manager |
cert-manager Graduation Application
@kgamanji suggested we raise this issue to replace the PR we raised initially (#1212), as the process for graduation has changed since we raised that PR.
Project Repo(s): https://github.com/cert-manager/cert-manager (and others under https://github.com/cert-manager)
Project Site: https://cert-manager.io/
Sub-Projects: trust-manager, approver-policy, csi-driver, csi-driver-spiffe, istio-csr
Communication: Kubernetes slack (#cert-manager-dev), regular meetings, mailing list ([email protected])
Project points of contact:
#cert-manager-dev
channel on Kubernetes SlackGraduation Criteria Summary for cert-manager
Adoption Assertion
The project has been adopted by the following organizations in a testing and integration or production capacity:
Criteria
Application Process Principles
Suggested
N/A
Required
Give a presentation and engage with the domain specific TAG(s) to increase awareness
TAG provides insight/recommendation of the project in the context of the landscape
TAG-security suggested that a joint assessment would be helpful following our self assessment, to broaden the docs we have around security. We'll engage in that process as the self-assessment completes.
All questions we received during the TAG security meeting were answered and nobody on the call had any red flags about cert-manager.
The self assessment can be viewed in the tag-security repo.
All project metadata and resources are vendor-neutral.
Review and acknowledgement of expectations for graduated projects and requirements for moving forward through the CNCF Maturity levels.
Completion of this due diligence document, resolution of concerns raised, and presented for public comment satisifies the Due Diligence Review criteria.
Governance and Maintainers
Note: this section may be augmented by the completion of a Governance Review from TAG Contributor Strategy.
Suggested
We've looked to expand our governance and we're looking to continue expanding it
Required
https://github.com/cert-manager/community/blob/main/GOVERNANCE.md
This was a WIP item for us, but our current governance docs are up to date. We might iterate more on spefically the steering committee stuff, but we've now had a steering committee meeting and iterated on our roadmap from that.
Most of our decisions today are made by maintainers who're actively involved in the project, and we've set out a clear path for people to become maintainers. We have maintainers spread across several companies and we'd gladly accept more.
Our roadmap is based on (and links to) this document which has vendor neutrality at its core.
This is included in our governance docs and in our docs for contributors. See for example our feature policy.
Document how role, function-based members, or sub-teams are assigned, onboarded, and removed for specific teams (example: Security Response Committee).
Document complete list of current maintainers, including names, contact information, domain of responsibility, and affiliation.
All maintainers share all domains of responsbility currently. List here.
Our maintainer list currently lists 8 maintainers, with the expectation that at least one more will be onboarded soon.
Documented in GOVERNANCE.md.
April 2024: We've moved a couple of maintainers to emeritus status as they've drifted away from the project. We're hoping to onboard at least one a new maintainer soon to test our documented processes, and we have at least three people on the path to becoming maintainers.
Update July 2024:
We onboarded a new maintainer - Adam (cert-manager/community#23) - which was a good test of the process.
We've also offboarded a maintainer - Irbe (cert-manager/community#31) - at her request since she didn't have the time to contribute.
As of the time of writing, a new maintainer - Erik (cert-manager/community#32) - from a new organisation has passed the vote to become a maintainer. As he's currently on holiday, we'll complete the onboarding when he returns.
We have a few other community members at differing stages along the maintainership path, including Houssem who's an approver for istio-csr and Peter who helps a tonne with testing, validation and admin tasks such as announcements or taking notes in meetings.
As of April 2024: Venafi, Diagrid, Tailscale and G-Research.
As of July 2024: Venafi, Diagrid, G-Research
This is documented in the governance process too. Maintainers get roles in GCP for managing test / release infra, and maintainers get elevated privileges in the GitHub org.
We've operated under the CNCF CoC for years.
It's one of the first requirements we have to become a contributor: https://github.com/cert-manager/community/blob/4d35a69437d21b76322157e6284be4cd64e6d2b7/GOVERNANCE.md#contributor
We list them in the website, usually mentioning them when they're appropriate too.
Mentioned at the beginning of our governance docs:
Contributors and Community
Note: this section may be augmented by the completion of a Governance Review from TAG Contributor Strategy.
Suggested
Clearly defined in governance docs: https://github.com/cert-manager/community/blob/4d35a69437d21b76322157e6284be4cd64e6d2b7/GOVERNANCE.md#cert-manager-governance
Required
GitHub issues / PRs. We have a policy so people know what to expect when they want to propose a bigger change.
We have several, listed at the top of this issue.
All listed here.
We have an up-to-date meeting schedule on our website. As a result of raising this issue, I've reached out to the CNCF to look to include our events on the public CNCF calendar.
UPDATE 2024-05-02: We have now integrated with the CNCF calendar for our biweekly meeting, thanks to @maelvls!
Details here and in other places on the website.
We regularly onboard new contributors, and each minor cert-manager release contains a thank-you list of who was involved. For example, the alpha release of the next minor release already lists 10 contributors and that will continue to grow: https://github.com/cert-manager/cert-manager/releases/tag/v1.15.0-alpha.0
Engineering Principles
The first line of every cert-manager release re-states the ambition we have:
We've become essentially the standard for managing certificates in a cloud-native (kubernetes-native) way.
Extensive documentation on https://cert-manager.io/docs/
We've iterated on the old roadmap along with the steering committee and moved it into the community repo: https://github.com/cert-manager/community/blob/fb1a2477406f4ce563b7ec5044049d29dc79e1d6/ROADMAP.md
This is going through review currently by community members and members of the steering committee: cert-manager/community#28
Also available in project docs
Document the project's release process and guidelines publicly in a RELEASES.md or equivalent file that defines:
Our release process is documented on the website and our support schedule is documented on a different page.
The release process has been updated to reflect recent changes which mean that any maintainer can do a release, and that it's no longer a requirement to be a Venafi employee.
It's worth pointing out that there is still one thing which requires approval of a Venafi employee: publishing Helm charts to charts.jetstack.io. This is difficult to change wholesale to an entirely vendor neutral location since that repo is so widely used.
We intend to provide an alternative install mechanism in the near future (see cert-manager/cert-manager#7132) which is entirely vendor neutral, but to continue publishing to charts.jetstack.io to avoid any kind of break for users.
Our supported releases page lists our extensive release history for cert-manager.
Security
Note: this section may be augemented by a joint-assessment performed by TAG Security.
Suggested
We'll look into this down the road but it's not an immediate priority for us.
Required
SECURITY.md file in all relevant repos, with a mailing list we watch for reports.
2FA required for GitHub org members.
This applies to all maintainers and our org security policy is quite detailed.
Document here. This has been worked on alongside TAG security. We intend to complete this and merge it to the TAG security repo.
Third Party Security Review.
Completed, see announcement
https://www.bestpractices.dev/en/projects/8079 - badge linked in cert-manager/cert-manager
Ecosystem
Suggested
N/A
Required
Quite out of date but we have one: https://github.com/cert-manager/community/blob/main/USERS.md
We're looking to expand this as part of the graduation process
Used by a few orders of magnitude more adopters than 3!
The project provided the TOC with a list of adopters for verification of use of the project at the level expected, i.e. production use for graduation, dev/test for incubation.
We've added 6 users to the internal graduation google doc who've all agreed to be interviewed.
Refer to the Adoption portion of this document.
Our docs are clear around Kubernetes integrations (since that's our primary integration). We also document integrations with Hashicorp Vault, Let's Encrypt, tens of other issuers, SPIFFE (via csi-driver-spiffe) and a huge variety of cloud DNS providers.
Adoption
Adopter 1 - $COMPANY/$INDUSTRY
If the Adopting organization needs to remain anonymous, stating the industry vertical is sufficient.
MONTH YEAR
Adopter 2 - $COMPANY/$INDUSTRY
If the Adopting organization needs to remain anonymous, stating the industry vertical is sufficient.
MONTH YEAR
Adopter 3 - $COMPANY/$INDUSTRY
If the Adopting organization needs to remain anonymous, stating the industry vertical is sufficient.
MONTH YEAR
The text was updated successfully, but these errors were encountered: