Skip to content
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

KubeCon EU 2025: Add a ContribFest page (to be merged if we get accepted) #1612

Merged
merged 6 commits into from
Mar 11, 2025

Conversation

maelvls
Copy link
Member

@maelvls maelvls commented Dec 10, 2024

Preview: https://deploy-preview-1612--cert-manager.netlify.app/announcements/2024/12/10/contribfest-kubecon-eu-2025/

As discussed in https://kubernetes.slack.com/archives/CDEQJ0Q8M/p1733224974283799?thread_ts=1733224600.818759&cid=CDEQJ0Q8M, Richard and I want to submit something to ContribFest at KubeCon EU 2025. The ContribFest will take place on April 2nd, 2024. Feel free to add your name to the list of maintainers if you want to take part.

/hold until the submission gets approved.

For context, here is the list of the previous ContribFest sessions that took place in Salt Lake a month ago: https://kccncna2024.sched.com/overview/type/%F0%9F%9A%A8+Contribfest

CFP Title:

🚨 ContribFest: Dive Into cert-manager and Start Contributing!

CFP Abstract:

Join us for a hands-on, interactive session with the cert-manager maintainers and community! cert-manager, a graduated CNCF project, automates certificate management for Kubernetes and is a critical component for securing cloud-native applications. This workshop is perfect for both first-time contributors and seasoned open-source enthusiasts. You'll learn about cert-manager's architecture, the role of its key components, and how to set up your environment to start contributing. We’ll walk through the contribution process, tackle curated GitHub issues, and provide guidance tailored to your skill level. Whether you're interested in improving code, documentation, or community engagement, this session offers a great way to make an impact while learning valuable skills. Let’s build cert-manager together!

@cert-manager-prow cert-manager-prow bot added do-not-merge/hold Indicates that a PR should not merge because someone has issued a /hold command. dco-signoff: no Indicates that at least one commit in this pull request is missing the DCO sign-off message. size/M Denotes a PR that changes 30-99 lines, ignoring generated files. labels Dec 10, 2024
@maelvls maelvls changed the title Add a ContribFest page (to be merged if we get accepted) KubeCon EU 2025: Add a ContribFest page (to be merged if we get accepted) Dec 10, 2024
Copy link

netlify bot commented Dec 10, 2024

Deploy Preview for cert-manager ready!

Name Link
🔨 Latest commit 9876398
🔍 Latest deploy log https://app.netlify.com/sites/cert-manager/deploys/67d02d2fcd156a0008053981
😎 Deploy Preview https://deploy-preview-1612--cert-manager.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify site configuration.

@maelvls maelvls force-pushed the contribfest-submission branch from 3bea861 to 13bebf7 Compare December 10, 2024 10:55
@cert-manager-prow cert-manager-prow bot added dco-signoff: yes Indicates that all commits in the pull request have the valid DCO sign-off message. and removed dco-signoff: no Indicates that at least one commit in this pull request is missing the DCO sign-off message. labels Dec 10, 2024
@maelvls maelvls force-pushed the contribfest-submission branch from 13bebf7 to a021da8 Compare December 10, 2024 11:12
Comment on lines 22 to 32
- **[#6637](https://github.com/cert-manager/cert-manager/issues/6637)**: Enable a lint to help avoid accidental shadowing of package imports.
- **[#6695](https://github.com/cert-manager/cert-manager/issues/6695)**: Update the Helm chart’s READMEs to mention usage in K3d clusters.
- **[#6622](https://github.com/cert-manager/cert-manager/issues/6622)**: Improve logging clarity in ACME challenge solver.
- **[#6732](https://github.com/cert-manager/cert-manager/issues/6732)**: Add a missing comment or doc string for a function in the E2E tests.
- **[#5925](https://github.com/cert-manager/cert-manager/issues/5925)**: Use `readOnlyRootFilesystem: true` for all containers.
- **[#5514](https://github.com/cert-manager/cert-manager/issues/5514)**: Venafi Issuer to read `caBundle` from ConfigMap or Secret.
- **[#2943](https://github.com/cert-manager/cert-manager/issues/2943)**: Allow configuration of the keystore file name.
- **[#1686](https://github.com/cert-manager/cert-manager/issues/1686)**: Support for Microsoft Active Directory Certificate Services.
- **[#2744](https://github.com/cert-manager/cert-manager/issues/2744)**: Documenting resolution for DigitalOcean and HTTP01 "connection timed out" error.
- **[#2888](https://github.com/cert-manager/cert-manager/issues/2888)**: Allow configuration of `MaxConcurrentChallenges`.
- **[#1520](https://github.com/cert-manager/cert-manager/issues/1520)**: Ingress-shim: Skip updating Certificate resource if one already exists.
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is a dump of the first good issues we have at the moment in cert-manager/cert-manager.

They might not be super interesting... If we get accepted, let's work further on curating "actually good" first issues :D

@maelvls maelvls force-pushed the contribfest-submission branch from a021da8 to f4205a4 Compare December 10, 2024 14:03
@maelvls
Copy link
Member Author

maelvls commented Feb 3, 2025

It was accepted!

Copy link
Member

@SgtCoDFish SgtCoDFish left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Few suggestions!

@maelvls
Copy link
Member Author

maelvls commented Feb 11, 2025

talked about today:

  • @hawksight to create a spreadsheet with good issues
  • @erikgb talked about the dev environment, do we need to review on site, "staging" repo?
  • @maelvls Focus of the session would be to learn how to set up to get started contributing rather than opening their first PR since we only have 1 hour and 15 minutes. Explain that in the introduction: what we want to get out of this.
  • @erikgb described the session as "for the Crossplane session, you had to come early to get a chair, we set up the dev environment, but it was interesting to learn about the project, maintainers were roaming the room, it felt like a classroom, and there was a nice presentation. It was crowded, we came earlier, skipped the session earlier to reserve a spot. We chose the Crossplane session because we had started investigating using Crossplane in our company; we wanted to learn how the project was set up. We also came with some issues we were motiveded to get fixed. People want to get in touch with the maintainers."
  • @erikgb mentioned Codespace for the cert-manager project? Yes, it would be great to have a configuration file that sets up Codespace. Folks will be running it from their fork.
  • @maelvls to prepare a "Setting up your dev env for cert-manager on macOS" video + tutorial so that we speed up the beginning of the session.
  • @maelvls to look up examples of presentations that were given in past contribfest session.
    • maybe structure of the project
  • @wallrj suggested pointing people to cmctl, cmctl status breaks in many ways. Richard to lookup those issues and putting them in Peter's spreadsheet.

@maelvls maelvls force-pushed the contribfest-submission branch from 5763602 to 958aca7 Compare February 11, 2025 12:58
Signed-off-by: Maël Valais <[email protected]>
@maelvls maelvls force-pushed the contribfest-submission branch from 958aca7 to 40ebb29 Compare February 11, 2025 13:54
@maelvls
Copy link
Member Author

maelvls commented Feb 11, 2025

I struggled a bit with running make check (fixed the bug in #1644), but it should be good to go now.

@maelvls
Copy link
Member Author

maelvls commented Feb 14, 2025

Discussed today:


At this year's cert-manager ContribFest, maintainers including CyberArk's Maël Valais and Richard Wall, and Zenior's Erik Godding Boye will be on hand to show users of all experience levels how to get involved with the cert-manager project.

## Good First Issues
Copy link
Member Author

@maelvls maelvls Feb 14, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@hawksight Sorry about the list I had originally put in the document. I'm not sure why ChatGPT hallucinated like that...

I've re-made the list using the following:

gh issue list --repo cert-manager/cert-manager --search 'is:open sort:reactions-+1-desc label:"good first issue"' --json url,title,reactionGroups

then given to ChatGPT's o4 with the following prompt:

Make a markdown list using the following example:

- **[#6622](https://github.com/cert-manager/cert-manager/issues/6622)**: Improve logging clarity in ACME challenge solver.

Using the following data:

Result:

  • #6269: Allow hardcoded JKS and PKCS#12 passwords. Done
  • #2334: Add network policy allowance into documentation.
  • #3103: Adding probes to the cert-manager pods.
  • #7184: Helm chart: add ability to add appprotocol to port in service.
  • #7344: Support temporary certificates with annotated gateways.
  • #7459: FindZoneByFqdn does not honor SOA TTL.
  • #7062: cainjector shows usages and non json output, if error appears.
  • #7196: cert-manager incorrectly relies only on http status errors to update order error reason.
  • #7101: Add global image repository value to helm values to facilitate private repo and eliminate need to maintain individual repo image paths.

@hawksight

@maelvls maelvls removed the do-not-merge/hold Indicates that a PR should not merge because someone has issued a /hold command. label Feb 14, 2025
@maelvls
Copy link
Member Author

maelvls commented Feb 14, 2025

/unhold since the submission was approved

@maelvls maelvls requested a review from SgtCoDFish February 14, 2025 12:40
@hawksight
Copy link
Member

Anyone should be able to view the list here: https://docs.google.com/spreadsheets/d/1zThfUB22HHdHAiRvS3ctbj4Da7j30imnUleURjxTYE0/edit?usp=sharing

Would you like me to commit it to this document, in place of the list of items?
I included what you pulled out.

Triage of them is yet to be added.

@hawksight
Copy link
Member

@maelvls - I have revised your efforts to generate a CSV we can generate as needed:

My generate.zsh:

#!/bin/zsh

repos=(cert-manager trust-manager approver-policy csi-driver csi-driver-spiffe istio-csr base-images google-cas-issuer makefile-modules issuer-lib helm-tool cmctl)
total_count=0
timestamp=$(date -u +%Y%m%d-%H%M%S)
output_file="$timestamp-cert-manager-org-good-first-issues.csv"
header_string="repo,issue_number,url,title,createdAt,updatedAt"

printf "Starting initial file at: $PWD/$output_file\n"
echo '"repo","createdAt","number","title","updatedAt","url"' > $output_file

for repo in ${repos[@]}; do
  issues=$(gh issue list --repo cert-manager/$repo --state open --search 'label:"good first issue"' --json number,url,title,createdAt,updatedAt)
  issue_count=$(echo $issues | jq '. | length')
  total_count=$((total_count + issue_count))
  if [[ $issue_count == 0 ]] ; then
    printf "Skipping repo: cert-manager/$repo as it has $issue_count 'good first' issues...\n"
    continue
  else;
    echo $issues | jq -r '(map(keys) | add | unique) as $cols | map(. as $row | $cols | map($row[.])) as $rows | $cols, $rows[] | @csv'  | awk -v repo=$repo 'NR>1 {print repo","$0}' >> $output_file
    printf "Completed repo: cert-manager/$repo as it has $issue_count 'good first' issues...\n"
  fi

done

printf "Script complete with $total_count 'good first' issues found\n\n"
cat $output_file
printf "\n"

An example output:

Starting initial file at: /Users/peter.fiddes/temp/good-first-issues/20250307-175335-cert-manager-org-good-first-issues.csv
Completed repo: cert-manager/cert-manager as it has 6 'good first' issues...
Completed repo: cert-manager/trust-manager as it has 1 'good first' issues...
Completed repo: cert-manager/approver-policy as it has 1 'good first' issues...
Completed repo: cert-manager/csi-driver as it has 1 'good first' issues...
Skipping repo: cert-manager/csi-driver-spiffe as it has 0 'good first' issues...
Skipping repo: cert-manager/istio-csr as it has 0 'good first' issues...
Skipping repo: cert-manager/base-images as it has 0 'good first' issues...
Skipping repo: cert-manager/google-cas-issuer as it has 0 'good first' issues...
Completed repo: cert-manager/makefile-modules as it has 1 'good first' issues...
Skipping repo: cert-manager/issuer-lib as it has 0 'good first' issues...
Skipping repo: cert-manager/helm-tool as it has 0 'good first' issues...
Skipping repo: cert-manager/cmctl as it has 0 'good first' issues...
Script complete with 10 'good first' issues found

"repo","createdAt","number","title","updatedAt","url"
cert-manager,"2024-10-07T11:28:04Z",7344,"Support temporary certificates with annotated gateways","2025-01-13T14:29:58Z","https://github.com/cert-manager/cert-manager/issues/7344"
cert-manager,"2024-07-23T14:35:50Z",7196,"cert-manager incorrectly relies only on http status errors to update order error reason","2025-02-25T11:29:26Z","https://github.com/cert-manager/cert-manager/issues/7196"
cert-manager,"2024-07-18T11:56:41Z",7184,"Helm chart: add ability to add appprotocol to port in service","2025-03-01T22:30:37Z","https://github.com/cert-manager/cert-manager/issues/7184"
cert-manager,"2024-06-03T00:09:39Z",7062,"cainjector shows usages and non json output, if error appears","2024-12-26T13:29:16Z","https://github.com/cert-manager/cert-manager/issues/7062"
cert-manager,"2020-07-17T09:01:17Z",3103,"Adding probes to the cert-manager pods","2025-01-08T12:19:19Z","https://github.com/cert-manager/cert-manager/issues/3103"
cert-manager,"2019-11-08T00:15:03Z",2334,"Add network policy allowance into documentation","2025-02-10T15:36:30Z","https://github.com/cert-manager/cert-manager/issues/2334"
trust-manager,"2022-05-02T04:35:19Z",23,"Way to add labels/annotations to target","2025-02-25T14:37:17Z","https://github.com/cert-manager/trust-manager/issues/23"
approver-policy,"2023-10-04T10:57:46Z",278,"Add Helm option to create RBAC allowing approval for all issuers","2023-10-17T13:25:13Z","https://github.com/cert-manager/approver-policy/issues/278"
csi-driver,"2024-01-09T15:35:03Z",171,"E2E Test Cleanup","2024-01-09T15:35:48Z","https://github.com/cert-manager/csi-driver/issues/171"
makefile-modules,"2024-05-28T14:58:28Z",154,"Publish SBOMs","2024-07-26T11:40:02Z","https://github.com/cert-manager/makefile-modules/issues/154"

I have uploaded the results to the same google sheet as before.

Now we just need to triage issues to ensure we have some more "good first issue"'s! Ask you can see there are only 10, across a whole bunch of repos. I will attempt to bring this to standup next week. Maybe Triage party does this for us.. but I hope this is somewhat useful.

Also we need to get this page live, time is ticking.

Copy link
Member

@hawksight hawksight left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think we need to get this up, and then we can promote it to people.
Looks good, left a suggestion on issues.

@hawksight
Copy link
Member

/lgtm

@cert-manager-prow cert-manager-prow bot added the lgtm Indicates that a PR is ready to be merged. label Mar 7, 2025
Co-authored-by: Peter Fiddes <[email protected]>
Signed-off-by: Maël Valais <[email protected]>
@cert-manager-prow cert-manager-prow bot removed the lgtm Indicates that a PR is ready to be merged. label Mar 10, 2025
maelvls and others added 2 commits March 11, 2025 13:29
Signed-off-by: Maël Valais <[email protected]>
@hawksight
Copy link
Member

/lgtm
/approve

@cert-manager-prow cert-manager-prow bot added the lgtm Indicates that a PR is ready to be merged. label Mar 11, 2025
@maelvls
Copy link
Member Author

maelvls commented Mar 11, 2025

/approve

@cert-manager-prow
Copy link
Contributor

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: hawksight, maelvls

The full list of commands accepted by this bot can be found here.

The pull request process is described here

Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@cert-manager-prow cert-manager-prow bot added the approved Indicates a PR has been approved by an approver from all required OWNERS files. label Mar 11, 2025
@cert-manager-prow cert-manager-prow bot merged commit 4104461 into master Mar 11, 2025
7 checks passed
@maelvls
Copy link
Member Author

maelvls commented Mar 27, 2025

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
approved Indicates a PR has been approved by an approver from all required OWNERS files. dco-signoff: yes Indicates that all commits in the pull request have the valid DCO sign-off message. lgtm Indicates that a PR is ready to be merged. size/M Denotes a PR that changes 30-99 lines, ignoring generated files.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants