cncf / toc

⚖️ The CNCF Technical Oversight Committee (TOC) is the technical governing body of the CNCF Foundation.
https://cncf.io
1.65k stars 628 forks source link

[PROJECT ONBOARDING] Kubeflow #1139

Open amye opened 11 months ago

amye commented 11 months ago

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:

Things that CNCF will need from the project:

Things that the CNCF will do or help the project to do:

amye commented 11 months ago

@mrbobbytables - catching up here!

zijianjoy commented 11 months ago

cc Current kubeflow steering committee : @jbottum @theadactyl @james-jwu

zijianjoy commented 11 months ago

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?

amye commented 11 months ago

Yep, that's already taken care of, this issue is just to track everything for onboarding.

zijianjoy commented 11 months ago

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

amye commented 11 months ago

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?

zijianjoy commented 11 months ago

@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.

amye commented 9 months ago

@zijianjoy - we can probably work on the rest of these tasks as we get that sorted out. Anything we can help with?

zijianjoy commented 9 months ago

@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.

amye commented 9 months ago

There's a thread with the right people for trademarks!

annajung commented 8 months ago

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

annajung commented 8 months ago

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

annajung commented 8 months ago

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

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/

annajung commented 8 months ago

@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)

terrytangyuan commented 8 months ago

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:

Overall, the migration was quite successful, easier to find for existing CNCF users, and easier to collaborate with CNCF ecosystem projects. Hope this helps.

zijianjoy commented 8 months ago

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?

terrytangyuan commented 8 months ago

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.

annajung commented 7 months ago

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 - project-onboarding@cncf.io 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

zijianjoy commented 7 months ago

Website: Analytics transferred to projects@cncf.io

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

amye commented 7 months ago

Website: Analytics transferred to projects@cncf.io

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.

zijianjoy commented 7 months ago

Website: Analytics transferred to projects@cncf.io

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.

amye commented 7 months ago

Website: Analytics transferred to projects@cncf.io

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.

zijianjoy commented 7 months ago

Website: Analytics transferred to projects@cncf.io

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

nate-double-u commented 7 months ago

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?

chalin commented 7 months ago

Certainly, I'm on it!

chalin commented 7 months ago

Can someone grant me access to Kubeflow's Netlify account?

chalin commented 7 months ago

Here's the issue I'm using to track the setup of GA4:

annajung commented 7 months ago

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

annajung commented 7 months ago

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

chalin commented 7 months ago

@annajung et al.: regarding the following item in the opening-comment checklist:

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:

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 projects@cncf.io) is probably still advisable. /cc @amye

annajung commented 7 months ago

Summary of requirement status as of Nov 30th

Status Requirement Relevant issues and/or PRs
Done Understand the project proposal process and reqs: https://github.com/cncf/toc/blob/main/process/project_proposals.md#introduction https://github.com/kubeflow/community/issues/656
Done Understand the services available for your project at CNCF https://www.cncf.io/services-for-projects/ https://github.com/kubeflow/community/issues/656
In progress by @rimolive Ensure your project meets the CNCF IP Policy: https://github.com/cncf/foundation/blob/master/charter.md#11-ip-policy https://github.com/kubeflow/community/issues/661
Done Review the online programs guidelines: https://github.com/cncf/foundation/blob/master/online-programs-guidelines.md https://github.com/kubeflow/community/issues/656
Done Understand the trademark guidelines: https://www.linuxfoundation.org/legal/trademark-usage https://github.com/kubeflow/community/issues/656
Done Understand the license allowlist: https://github.com/cncf/foundation/blob/master/allowed-third-party-license-policy.md#approved-licenses-for-allowlist https://github.com/kubeflow/community/issues/656
Done Is your project working on written, open governance? see https://contribute.cncf.io/maintainers/governance/ https://github.com/cncf/toc/issues/1139#issuecomment-1792488467
Waiting response from CNCF on how to create an account on servicedesk.cncf.io (ref) 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) https://github.com/cncf/toc/issues/1139#issuecomment-1792515783 https://github.com/cncf/toc/issues/1139#issuecomment-1832713790
Done Is your project in its own separate neutral github organization? https://github.com/cncf/toc/issues/1139#issuecomment-1799286334
Done Submitted a Pull request to add your project as a sandbox project to https://landscape.cncf.io/
Done Create maintainer list + add to aggregated https://maintainers.cncf.io/ list by submitting a PR to it https://github.com/cncf/foundation/pull/662
In progress by @akgraner Artwork: Submit a pull request to https://github.com/cncf/artwork with your artwork
In progress by Google & CNCF Domain: transfer domain to the CNCF - https://jira.linuxfoundation.org/plugins/servlet/theme/portal/2/create/63 https://github.com/cncf/toc/issues/1139#issuecomment-1741182164
Done Provide emails for the maintainers added to https://maintainers.cncf.io/ in order to get access to the maintainers mailing list and ServiceDesk - project-onboarding@cncf.io is the best email to send those to https://github.com/cncf/toc/issues/1139#issuecomment-1799286334
In progress by Google & CNCF Trademarks: transfer any trademark and logo mark assets over to the LF - https://github.com/cncf/foundation/tree/master/agreements has agreements https://github.com/cncf/toc/issues/1139#issuecomment-1741182164
Done 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 https://github.com/kubeflow/internal-acls/pull/624
In progress by @rimolive GitHub: ensure DCO or CLA are enabled for all GitHub repositories of the project https://github.com/kubeflow/community/issues/661
Done 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 https://github.com/kubeflow/community/pull/658
Done 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). https://github.com/kubeflow/website/pull/3622
Done Website: Analytics transferred to projects@cncf.io https://github.com/kubeflow/website/pull/3627
In progress by @zijianjoy OpenSSF Best Practices Badge: Start on an OpenSSF Best Practices Badge https://bestpractices.coreinfrastructure.org/en https://github.com/coreinfrastructure/best-practices-badge/issues/2076
zijianjoy commented 7 months ago

I have created https://github.com/coreinfrastructure/best-practices-badge/issues/2076 to transfer badge entry ownership to active kubeflow member to continue the work.

OpenSSF Best Practices Badge: Start on an OpenSSF Best Practices Badge https://bestpractices.coreinfrastructure.org/en

zijianjoy commented 7 months ago

I have approved the following PRs:

Cmierly commented 7 months ago

Task list has been updated and is current as of 11/28/23!

annajung commented 7 months ago

Hi @amye @Cmierly, following up on two comments:

  1. Could you see if https://github.com/cncf/toc/issues/1139#issuecomment-1792488467 is sufficient to mark the following requirement as completed? In addition, if it's not, could you share what you're looking for to complete this task.

    Is your project working on written, open governance? see https://contribute.cncf.io/maintainers/governance/

  2. Could you also review https://github.com/cncf/toc/issues/1139#issuecomment-1792515783? We are looking for what options are available for us with slack migration to determine what's the best way to move forward with some of the concerns raised by the community

    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)

Cmierly commented 7 months ago

Hi @amye @Cmierly, following up on two comments:

  1. Could you see if [PROJECT ONBOARDING] Kubeflow #1139 (comment) is sufficient to mark the following requirement as completed? In addition, if it's not, could you share what you're looking for to complete this task.

Is your project working on written, open governance? see https://contribute.cncf.io/maintainers/governance/

  1. Could you also review [PROJECT ONBOARDING] Kubeflow #1139 (comment)? We are looking for what options are available for us with slack migration to determine what's the best way to move forward with some of the concerns raised by the community

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)

1) This is fine!

2) For slack migration, you can get some help here: servicedesk.cncf.io ! Under "Program management" you should be able to request help with options that are available and get help with the migration.

zijianjoy commented 7 months ago

Thank you @Cmierly , servicedesk.cncf.io asks for login but I don't have an account, nor can I sign up for one. What kind of permission is needed for Slack migration?

BHuT7qx5ZFwVeh5

annajung commented 7 months ago

Hi everyone, I am no longer available to continue with this issue. However, some of the tasks under "project need to complete" are in progress and assigned to others who can continue moving this forward in my absence.

The latest status of the requirements can be found here, which contains information on relevant issues/prs and assigned individuals.

akgraner commented 7 months ago

Thank you Anna!

On Fri, Dec 1, 2023 at 6:46 AM Anna @.***> wrote:

Hi everyone, I am no longer available to continue with this issue. However, some of the tasks under "project need to complete" are in progress and assigned to others who can continue moving this forward in my absence.

The latest status of the requirements can be found here https://github.com/cncf/toc/issues/1139#issuecomment-1821090974, which contains information on relevant issues/prs and assigned individuals.

— Reply to this email directly, view it on GitHub https://github.com/cncf/toc/issues/1139#issuecomment-1836236295, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABPJ3ZLFLALCMDK3ZTZ5ZKTYHHUUPAVCNFSM6AAAAAA3ESEDPGVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTQMZWGIZTMMRZGU . You are receiving this because you were mentioned.Message ID: @.***>

jbottum commented 6 months ago

@Cmierly @amye I am reviewing with James Wu. We are both on the Kubeflow Steering Committee and would like to know if we can continue to use the existing Kubeflow slack channels. Is this an option for Kubeflow as a CNCF project ?

amye commented 6 months ago

@Cmierly @amye I am reviewing with James Wu. We are both on the Kubeflow Steering Committee and would like to know if we can continue to use the existing Kubeflow slack channels. Is this an option for Kubeflow as a CNCF project ?

Moving is really encouraged because the CNCF slack is the place that people will be looking for you as a project!

zijianjoy commented 6 months ago

@amye Can we designate Kubeflow Steering Committee members (3 people) as Channel Managers of Kubeflow channels in CNCF Slack Workspace?(https://slack.com/help/articles/8328303095443-Understand-Channel-Managers-in-Slack), this allows CNCF admin to delegate some management work to Kubeflow community.

Cmierly commented 6 months ago

Thank you @Cmierly , servicedesk.cncf.io asks for login but I don't have an account, nor can I sign up for one. What kind of permission is needed for Slack migration?

BHuT7qx5ZFwVeh5

Hi! In order to gain access to service desk, you will need to submit an email to project-onboarding@cncf.io with the names and emails of all maintainers that need to be added to the mailing list and ServiceDesk

thesuperzapper commented 6 months ago

I think it would be great to have a few channels on the CNCF Slack (for those who might look for us there), in addition to our existing Kubeflow-specific Slack server (just like the Kubernetes community does).

Having our own Slack lets us keep everything organized. There are MANY components of Kubeflow and different interest groups, who all would have a hard time if we forced them into a small number of channels.

For reference, we have 38 public channels that were active in the last 6 months, and that's not to speak of private messages/channels which make up 75% of the total activity.

The Kubflow Slack has gained quite a few members in the last few months (we recently hit 10k!):

5320bd4e-5d5d-4eac-a989-65b52b6a9e4c

For reference, over the last 3 years, we have maintained an average of 400-900 weekly active users on Slack (in the 3 years before that, it was a little less).

Screenshot 2023-12-13 at 16 58 07

amye commented 5 months ago

re: Slack channels - let's move this one into servicedesk because that may be possible - but it may also be complicated. Separately, that's a great way to check your servicedesk access! - editing to add ticket number: CNCFSD-2112

We can mark this off from an onboarding perspective because it'll complete in Servicedesk.

zijianjoy commented 5 months ago

@amye Sounds good! We can move the slack migration item off from the onboarding checklist. Will continue discussion in servicedesk.

bhack commented 5 months ago

Insights: add to LFX Insights https://insights.v3.lfx.linuxfoundation.org/

Any update about this point?

krook commented 5 months ago

Insights: add to LFX Insights https://insights.v3.lfx.linuxfoundation.org/

Any update about this point?

Hi @bhack,

You are now onboarded onto the CNCF GitHub Enterprise account. However, we still need to add thelinuxfoundation as an owner of your org.

Once thelinuxfoundation is an owner, we can then onboard you to LFX Insights (which is a matter of adding an app, similar to adding the DCO bot) which uses read only, public data to drive the reports on the Insights dashboard.

That would mark both of these checklist items as up-to-date and complete (and it supersedes the need to add Chris and I as owners):

You can learn more about Insights here:

Please let me know if you have any questions about adding thelinuxfoundation as an owner of your org and/or boarding Insights.

zijianjoy commented 5 months ago

@krook All CNCF point-of-interest as mentioned are invited to the Kubeflow admin roles in https://github.com/kubeflow/internal-acls/blob/master/github-orgs/kubeflow/org.yaml#L7-L17. They will need to accept the invite in order to be part of Kubeflow. Daniel, I see that you have already joined Kubeflow group, so feel free to move forward with the onboarding items mentioned.

Cmierly commented 4 months ago

@zijianjoy I've updated the checklist so it should be accurate as of today!