toc
toc copied to clipboard
[PROJECT ONBOARDING] Kubeflow
Welcome to CNCF Project Onboarding! This is an issue created to help onboard your project into the CNCF after the TOC has voted to accept your project. We would like to complete onboarding within one month of acceptance.
From the project side, please ensure that you:
- [x] Understand the project proposal process and reqs: https://github.com/cncf/toc/blob/main/process/project_proposals.md#introduction
- [x] Understand the services available for your project at CNCF https://www.cncf.io/services-for-projects/
- [x] Ensure your project meets the CNCF IP Policy: https://github.com/cncf/foundation/blob/master/charter.md#11-ip-policy
- [x] Review the online programs guidelines: https://github.com/cncf/foundation/blob/master/online-programs-guidelines.md
- [x] Understand the trademark guidelines: https://www.linuxfoundation.org/legal/trademark-usage
- [x] Understand the license allowlist: https://github.com/cncf/foundation/blob/master/allowed-third-party-license-policy.md#approved-licenses-for-allowlist
- [x] Is your project working on written, open governance? see https://contribute.cncf.io/maintainers/governance/
- [x] Slack: Are your slack channels migrated to the Kubernetes or CNCF Slack? (see https://slack.com/help/articles/217872578-Import-data-from-one-Slack-workspace-to-another for more details)
- [x] Is your project in its own separate neutral github organization?
- [x] Submitted a Pull request to add your project as a sandbox project to https://landscape.cncf.io
- [x] Create maintainer list + add to aggregated https://maintainers.cncf.io list by submitting a PR to it
- [x] Artwork: Submit a pull request to https://github.com/cncf/artwork with your artwork
- [ ] Domain: transfer domain to the CNCF - https://jira.linuxfoundation.org/plugins/servlet/theme/portal/2/create/63
Things that CNCF will need from the project:
- [x] Provide emails for the maintainers added to https://maintainers.cncf.io in order to get access to the maintainers mailing list and ServiceDesk - [email protected] is the best email to send those to
- [x] Trademarks: transfer any trademark and logo mark assets over to the LF - https://github.com/cncf/foundation/tree/master/agreements has agreements
- [x] GitHub: ensure 'thelinuxfoundation' and 'caniszczyk' are added as initial org owners, this helps us make sure we have continuity of GH ownership that we will onboard to our GitHub Enterprise instance: https://github.com/enterprises/cncf
- [x] GitHub: ensure DCO or CLA are enabled for all GitHub repositories of the project
- [x] GitHub: ensure that that the CNCF Code of Conduct (or your adopted version of it) are explicitly referenced at the project's README on GitHub
- [x] Website: ensure LF footer is there and website guidelines followed (if your project doesn't have a dedicated website, please adopt those guidelines to the README file of your project on GitHub).
- [x] Website: Analytics transferred to [email protected]
- [x] OpenSSF Best Practices Badge: Start on an OpenSSF Best Practices Badge https://bestpractices.coreinfrastructure.org/en
Things that the CNCF will do or help the project to do:
- [x] Devstats: add to devstats https://devstats.cncf.io/
- [x] Insights: add to LFX Insights https://insights.v3.lfx.linuxfoundation.org/
- [x] Marketing: update relevant intro + slide decks
- [x] Events: update CFP + Registration + CFP Area forms
- [x] ServiceDesk: confirm maintainers have read https://www.cncf.io/services-for-projects/
- [x] CNCF Welcome Email Sent to confirm maintainer list access
- [ ] Book time with the team with http://project-meetings.cncf.io
- [ ] Adopt a license scanning tool, like FOSSA or Snyk
@mrbobbytables - catching up here!
cc Current kubeflow steering committee : @jbottum @theadactyl @james-jwu
Looking at the task Devstats: add to devstats https://devstats.cncf.io/, looks like we already have kubeflow in the dashboard, https://kubeflow.devstats.cncf.io/d/8/dashboards?orgId=1&refresh=15m, do we consider this item done?
Yep, that's already taken care of, this issue is just to track everything for onboarding.
Thanks @amye !
Regarding the task of Ensure your project meets the CNCF IP Policy: https://github.com/cncf/foundation/blob/master/charter.md#11-ip-policy, kubeflow side has an ongoing issue to track its progress: https://github.com/kubeflow/community/issues/614
Thanks @amye !
Regarding the task of
Ensure your project meets the CNCF IP Policy: https://github.com/cncf/foundation/blob/master/charter.md#11-ip-policy, kubeflow side has an ongoing issue to track its progress: kubeflow/community#614
This actually looks like it's a Code of Conduct adoption issue?
@amye You are right, it should be related to GitHub: ensure that that the [CNCF Code of Conduct](https://github.com/cncf/foundation/blob/master/code-of-conduct.md) (or your adopted version of it) are explicitly referenced at the project's README on GitHub task.
@zijianjoy - we can probably work on the rest of these tasks as we get that sorted out. Anything we can help with?
@amye The OSPO on Google side has reached out to CNCF about the IP transfer, however, I don't have visibility to the progress. If that is finished, we can mark this item as done. Please let me know if this is not the case and I can reach out to CNCF for help.
There's a thread with the right people for trademarks!
PR https://github.com/cncf/foundation/pull/662 is open for the following:
Create maintainer list + add to aggregated https://maintainers.cncf.io/ list by submitting a PR to it
Issue https://github.com/kubeflow/community/issues/656 can be used to track progress for the following:
Understand the project proposal process and reqs: https://github.com/cncf/toc/blob/main/process/project_proposals.md#introduction
Understand the services available for your project at CNCF https://www.cncf.io/services-for-projects/
Review the online programs guidelines: https://github.com/cncf/foundation/blob/master/online-programs-guidelines.md
Understand the trademark guidelines: https://www.linuxfoundation.org/legal/trademark-usage
Understand the license allowlist: https://github.com/cncf/foundation/blob/master/allowed-third-party-license-policy.md#approved-licenses-for-allowlist
Roles
Roles within Kubeflow are defined in the community membership doc, where it lists 4 roles: member, reviewer, approver subproject owner, and the requirements and responsibilities of each role.
Working Groups
There are multiple working groups under the Kubeflow org that are responsible for different components of the project. Working Group charter, governance, and requirements can be found at /kubeflow/community/wgs
- List of Working Groups
- Working Group Charter Guide
- Working Group Governance Requirements
- Working Group roles and organization
- Creation and Retirement of Working Group
Leadership
Kubeflow community accepted a proposal of three governance groups: Kubeflow Steering Committee (KSC), Kubeflow Conformance Committee (KCC), and Kubeflow Technical Oversight Committee (KTOC), as part of their open governance effort.
In addition to the proposal of the three governance groups, Kubeflow has 3 interim steering committees responsible for establishing KSC, KCC, and KTOC charters.
At this time, the KSC charter has been defined by the interim steering committees and there is a PR https://github.com/kubeflow/community/pull/650 open for community review and feedback. Once the PR is merged or in parallel, the Kubeflow community is planning to hold the first KSC election.
All governance related can be found at kubeflow/community repo
@amye Does this meet this following requirement?
Is your project working on written, open governance? see https://contribute.cncf.io/maintainers/governance/
@amye could you clarify if this is a hard requirement? There is a concern regarding migrating > 9,000 users in the current Kubeflow slack workspace to CNCF and possibly to one flat channel under CNCF when there are multiple active channels within the current slack workspace for different purposes. (ref https://github.com/kubeflow/community/issues/615)
Also, Kubeflow slack workspace is currently under the free plan which deletes messages after a certain amount of days. Due to this issue, many community members have been asking to find an alternative or move to a paid plan to ensure the messages are stored and searchable in the future.
Instead of migrating to the CNCF workspace, is there a way CNCF can help with managing a paid plan for the current Kubeflow workspace? Or is there any other alternative you can suggest?
Slack: Are your slack channels migrated to the Kubernetes or CNCF Slack? (see https://slack.com/help/articles/217872578-Import-data-from-one-Slack-workspace-to-another for more details)
Just to share our experience from Argo project Slack channel migration. We had a very popular Slack workspace dedicated to Argo, but we eventually switched to CNCF Slack and closed the Argo Slack workspace. We prefixed all Slack channels with "argo-" so it's easy to identify and search for relevant channels. Some main ones are listed here: https://argoproj.github.io/community/join-slack
Some quick stats on major channels:
- #argo-cd: 12k members
- #argo-workflows: 6k members
- #argo-events: 2.5k members
- #argo-rollouts: 2.7k members
- #argo-contributors: 1k members
- #argo-announcements: 2k members
Overall, the migration was quite successful, easier to find for existing CNCF users, and easier to collaborate with CNCF ecosystem projects. Hope this helps.
but we eventually switched to CNCF Slack and closed the Argo Slack workspace.
Hello @terrytangyuan , thank you for sharing your experience. Would you like to elaborate the process of such migration?
- What action did Argo Slack users need to take for such migration?
- How does the permission configuration look like for Argo- channels? (Does the argo steering committee have permission to manage/create argo- channel?)
- How much percentage of Slack users did we successfully migrate to CNCF slack?
Would you like to elaborate the process of such migration?
We archived the channels in the original Slack workspace on a schedule one by one. See https://github.com/argoproj/argoproj/issues/47 for details. We announced/reminded regularly, started supporting users in CNCF channels, and eventually the old Slack workspace became inactive.
What action did Argo Slack users need to take for such migration? They could just visit the link to join CNCF Slack and different channels: https://argoproj.github.io/community/join-slack. Once joined, they no longer have to go back to the original Slack workspace since nobody was responding to questions there.
How does the permission configuration look like for Argo- channels? (Does the argo steering committee have permission to manage/create argo- channel?)
I think only CNCF can manage existing channels. You can create new channels but at some point CNCF will take over.
How much percentage of Slack users did we successfully migrate to CNCF slack?
I don't remember the exact number but we had thousands of users in the old Slack. Once we migrated, it would just become more popular over time if marketing/communication was done regularly. It was quite successful for us at least.
These items are complete, thank you!
Provide emails for the maintainers added to https://maintainers.cncf.io/ in order to get access to the maintainers mailing list and ServiceDesk - [email protected] is the best email to send those to
An email was sent on Nov 7th and confirmation was also received.
Is your project in its own separate neutral github organization?
The kubeflow project is already in a separate neutral GitHub org, under Kubeflow
Website: Analytics transferred to [email protected]
The current Google Analytics account is internal only account. We are not able to add external user to this GA account. But we can add CNCF GA account tracking ID to kubeflow website. Would you like to share the information which allows us to inject your analytics account to kubeflow website? @amye
Website: Analytics transferred to [email protected]
The current Google Analytics account is internal only account. We are not able to add external user to this GA account. But we can add CNCF GA account tracking ID to kubeflow website. Would you like to share the information which allows us to inject your analytics account to kubeflow website? @amye
Oof, that is going to be a mess. @nate-double-u, what's the best path forward here? Losing the historical data is not great for anyone.
Website: Analytics transferred to [email protected]
The current Google Analytics account is internal only account. We are not able to add external user to this GA account. But we can add CNCF GA account tracking ID to kubeflow website. Would you like to share the information which allows us to inject your analytics account to kubeflow website? @amye
Oof, that is going to be a mess. @nate-double-u, what's the best path forward here? Losing the historical data is not great for anyone.
From what I can see, the current GA account is not collecting data any more because it hasn't been moved to Google Analytics 4 (G44) property: https://support.google.com/analytics/answer/12938611#zippy=%2Cin-this-article. So there is no historic data to move. I think we should just focus on setting up a new analytics account at this point.
Website: Analytics transferred to [email protected]
The current Google Analytics account is internal only account. We are not able to add external user to this GA account. But we can add CNCF GA account tracking ID to kubeflow website. Would you like to share the information which allows us to inject your analytics account to kubeflow website? @amye
Oof, that is going to be a mess. @nate-double-u, what's the best path forward here? Losing the historical data is not great for anyone.
From what I can see, the current GA account is not collecting data any more because it hasn't been moved to Google Analytics 4 (G44) property: https://support.google.com/analytics/answer/12938611#zippy=%2Cin-this-article. So there is no historic data to move. I think we should just focus on setting up a new analytics account at this point.
Oh, if that's all, yes - we can create a new one. The historical data is helpful for project journey reports, but if it's already not an option then we can start over.
Website: Analytics transferred to [email protected]
The current Google Analytics account is internal only account. We are not able to add external user to this GA account. But we can add CNCF GA account tracking ID to kubeflow website. Would you like to share the information which allows us to inject your analytics account to kubeflow website? @amye
Oof, that is going to be a mess. @nate-double-u, what's the best path forward here? Losing the historical data is not great for anyone.
From what I can see, the current GA account is not collecting data any more because it hasn't been moved to Google Analytics 4 (G44) property: https://support.google.com/analytics/answer/12938611#zippy=%2Cin-this-article. So there is no historic data to move. I think we should just focus on setting up a new analytics account at this point.
Oh, if that's all, yes - we can create a new one. The historical data is helpful for project journey reports, but if it's already not an option then we can start over.
Sounds good, @nate-double-u Please feel free to comment here for how to move forward integrating with CNCF analytics account. The kubeflow website is located in https://github.com/kubeflow/website
Since I'm onsite at KubeCon, maybe I can ping @chalin for a consult here as I'm not sure how quickly I'll be able to look at this.
Patrice, is this something you may be able to help with?
Certainly, I'm on it!
Can someone grant me access to Kubeflow's Netlify account?
Here's the issue I'm using to track the setup of GA4:
- https://github.com/kubeflow/website/issues/3620
PR https://github.com/kubeflow/internal-acls/pull/624 is open for the following:
GitHub: ensure 'thelinuxfoundation' and 'caniszczyk' are added as initial org owners, this helps us make sure we have continuity of GH ownership that we will onboard to our GitHub Enterprise instance: https://github.com/enterprises/cncf
PR https://github.com/kubeflow/community/pull/658 is open for the following:
GitHub: ensure that the CNCF Code of Conduct (or your adopted version of it) are explicitly referenced at the project's README on GitHub
PR https://github.com/kubeflow/website/pull/3621 is open for the following:
Website: ensure LF footer is there and website guidelines followed (if your project doesn't have a dedicated website, please adopt those guidelines to the README file of your project on GitHub).
This is also in progress with help from @akgraner, a PR will be made once artwork is available to be submitted
Artwork: Submit a pull request to https://github.com/cncf/artwork with your artwork
Issue https://github.com/kubeflow/community/issues/661 can be used to track progress for the following:
Ensure your project meets the CNCF IP Policy: https://github.com/cncf/foundation/blob/master/charter.md#11-ip-policy
@annajung et al.: regarding the following item in the opening-comment checklist:
- [ ] Website: Analytics transferred to [email protected]
There will be no need to transfer analytics once the following PR is merged because the website will be configured to use the new CNCF GA4 site tag created under the CNCF Project account:
- https://github.com/kubeflow/website/pull/3627
Also, once the above PR is merged, I will no longer require access to the Netlify account, though granting someone from the CNCF access (possibly at least [email protected]) is probably still advisable. /cc @amye