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

Create app for holding Steering elections using only github auth #5096

Closed
jberkus opened this issue Sep 3, 2020 · 35 comments
Closed

Create app for holding Steering elections using only github auth #5096

jberkus opened this issue Sep 3, 2020 · 35 comments
Labels
committee/steering Denotes an issue or PR intended to be handled by the steering committee. lifecycle/rotten Denotes an issue or PR that has aged beyond stale and will be auto-closed. sig/contributor-experience Categorizes an issue or PR as relevant to SIG Contributor Experience.
Milestone

Comments

@jberkus
Copy link
Contributor

jberkus commented Sep 3, 2020

There are two extremely labor intensive and data-error-prone portions of the current Steering Elections process:

  1. pulling the list of eligible voters
  2. getting everyone's ballots to them by email

The latter is by far the worst, because it takes 2 days of solid time for the elections committee, and requires technical skills on their part. It is also frustrating for members who do not receive their ballots due to spam filters and other problems.

That said, we like the elections logic of CIVS, our current tool. We just want it to work differently. We would also prefer a tool written in a programming language that expertise exists for within test-infra group.

As such, we would like to mentor an intern (either via Community Bridge, or Outreachy) to develop a web application that would allow voting, with authentication to be handled via Github Oauth. This would remove email as the failure link in the chain to voting. The application would have the following requirements:

  • support configurable external Oauth sources (with Github being the requirement/default)
  • support multiple elections, even concurrently, with each election to have a start and end date, and its own list of valid voters and candidates
  • follow all CIVS voting logic that we use (randomization of candidates, Concordet/Schultze preference voting)
  • validate voters against an administrator-supplied list
  • create list of candidates from an administrator-supplied list
  • allow voters to check their own vote via login
  • affiliate votes with obfuscated/encrypted logins to prevent casual administrator examination of individual votes
  • supply on-demand statistics for the administrator (number of voters/votes cast)
  • output a final preference ranking of candidates when the election is "closed"
  • be written in Go, Python, or Javascript (due to community's ability to support) (somewhat negotiable)

We anticipate this application would be desired by many OSS projects once completed. As such, we would plan to suggest it to the CNCF/LF as a service once the app is written, and distribute it as an independant OSS project.

Mentors for this project would be Jaice, Josh, and Marky

/sig contributor-experience
/committee steering
cc @jdumars @idvoretskyi @markyjackson-taulia @nikhita @parispittman

@k8s-ci-robot k8s-ci-robot added sig/contributor-experience Categorizes an issue or PR as relevant to SIG Contributor Experience. committee/steering Denotes an issue or PR intended to be handled by the steering committee. labels Sep 3, 2020
@jdumars
Copy link
Member

jdumars commented Sep 3, 2020

I strongly support this effort.

@markjacksonfishing
Copy link
Contributor

+1 to @jdumars this will help a lot and I would love to help mentor this along with @jberkus and @jdumars

@Oghenebrume50
Copy link

Hi @jberkus @jdumars @markyjackson-taulia I would love to take this up, I am comfortable with JavaScript and Ruby, plus I am currently learning Go, please what is the proper communication medium to follow up with this?

@kunal-kushwaha
Copy link

Looking forward to contributing to it for the upcoming community bridge program! 🚀

@jberkus
Copy link
Contributor Author

jberkus commented Sep 14, 2020

@Oghenebrume50 @kunal-kushwaha Projects will be accepted for Community Bridge on Sept 21st. After that we will announce the project and tell you were to apply (assuming we get accepted).

@Oghenebrume50
Copy link

Alright noted, looking forward to it 🙂

@ehashman
Copy link
Member

+1000

This is what I saw after casting my ballot:

Screenshot at 2020-09-17 15-19-42

Seeing that last poll does not surprise me, as the platform lacks mechanisms to address abuse: a particular individual has been using CIVS to harass the Debian project for months.

@jberkus
Copy link
Contributor Author

jberkus commented Sep 21, 2020

@Oghenebrume50 @kunal-kushwaha please apply for the Community Bridge program here. We've been selected!

https://www.cncf.io/blog/2020/09/21/calling-all-mentees-cncf-communitybridge-projects-for-the-fall-2020-program/

@jberkus
Copy link
Contributor Author

jberkus commented Sep 21, 2020

@SergeyKanzhelev we're going to be refining the spec for this application; I'll ping you for your input.

@jberkus
Copy link
Contributor Author

jberkus commented Sep 30, 2020

@Oghenebrume50 @kunal-kushwaha let me apologize, we are delayed in accepting applications because of problems with the CommunityBridge platform.

@jberkus
Copy link
Contributor Author

jberkus commented Oct 1, 2020

This effort has been re-consituted as a "new" project under CommunityBridge. Applications will be open for the next 10 days, and the timeline is extended. Please apply here.

Yes, this will mean re-submitting materials, but you can copy & paste from your previous application.

@Oghenebrume50 @kunal-kushwaha

@Oghenebrume50
Copy link

Hi @jberkus the google-docs file under the "Full-specification" does not open, I think there is a mistake in the URL

@markjacksonfishing
Copy link
Contributor

@Oghenebrume50 I just tried it using copy and paste and it works. Try this

@Oghenebrume50
Copy link

@Oghenebrume50 I just tried it using copy and paste and it works. Try this

@markyjackson-taulia thank you, the link here works, I don't know why that did not work.

@shivam-51
Copy link

@jberkus @markyjackson-taulia Hi, I would like to work on this project through Community Bridge. I hope its not too late.

@markjacksonfishing
Copy link
Contributor

@jberkus @markyjackson-taulia Hi, I would like to work on this project through Community Bridge. I hope its not too late.

@shivam-51
Hello. No, it is not too late. You can review the specs and apply here: https://people.communitybridge.org/project/953e5f12-460b-4bf1-80b3-5171c2044462

@shivam-51
Copy link

@markyjackson-taulia Thank You

@DiptoChakrabarty
Copy link
Member

Hey I am interested in this , can I know the exact duration of this program . Thanks.

@SergeyKanzhelev
Copy link
Member

SergeyKanzhelev commented Oct 6, 2020

Hey I am interested in this , can I know the exact duration of this program . Thanks.

https://github.com/cncf/mentoring/tree/master/communitybridge/2020/q3-q4#timeline

for this project timeline is shifted for a week I think because of issues with the registration

@jberkus
Copy link
Contributor Author

jberkus commented Oct 6, 2020

It's shifted my more than a week; we're pretty sure this project will take extra time. See spec, linked above.

@rahul799
Copy link

Hello mentors,
I have applied for Community-bridge. Just curious to know that when the results will be declared?

@jberkus
Copy link
Contributor Author

jberkus commented Oct 13, 2020

At the end of this week.

@jberkus
Copy link
Contributor Author

jberkus commented Oct 13, 2020

@Oghenebrume50 hey, reminder: you only have 24 hours left to complete your CommunityBridge application for this project, if you are going to.

@Abhishek-Dev09-zz
Copy link

@jberkus Is am late or CommunityBridge still accepting the application for this project ?

@mrbobbytables mrbobbytables added this to the v1.20 milestone Oct 14, 2020
@mrbobbytables mrbobbytables modified the milestones: v1.20, v1.21 Oct 14, 2020
@jberkus
Copy link
Contributor Author

jberkus commented Oct 19, 2020

@Abhishek-Dev09 yes, you were too late. Sorry.

@ghost
Copy link

ghost commented Oct 22, 2020

@jberkus when the results are going to be released?

@jberkus
Copy link
Contributor Author

jberkus commented Oct 26, 2020

We have selected @kalkayan as the mentee for this project. Thanks everyone for your interest! There may be a follow-up project in the spring; we'll see.

@nikhita
Copy link
Member

nikhita commented Nov 5, 2020

Related - #4586. We will also be using this app for SIG elections whenever needed.

@fejta-bot
Copy link

Issues go stale after 90d of inactivity.
Mark the issue as fresh with /remove-lifecycle stale.
Stale issues rot after an additional 30d of inactivity and eventually close.

If this issue is safe to close now please do so with /close.

Send feedback to sig-contributor-experience at kubernetes/community.
/lifecycle stale

@k8s-ci-robot k8s-ci-robot added the lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. label Mar 2, 2021
@SergeyKanzhelev
Copy link
Member

should this be closed as there is https://elekto.io/ now?

@mrbobbytables
Copy link
Member

I believe so, @jberkus are there any other follow up items at this time?

@nikhita
Copy link
Member

nikhita commented Mar 24, 2021

@jberkus 👋 do you think this can be closed?

@fejta-bot
Copy link

Stale issues rot after 30d of inactivity.
Mark the issue as fresh with /remove-lifecycle rotten.
Rotten issues close after an additional 30d of inactivity.

If this issue is safe to close now please do so with /close.

Send feedback to sig-contributor-experience at kubernetes/community.
/lifecycle rotten

@k8s-ci-robot k8s-ci-robot added lifecycle/rotten Denotes an issue or PR that has aged beyond stale and will be auto-closed. and removed lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. labels Apr 23, 2021
@jberkus
Copy link
Contributor Author

jberkus commented Apr 23, 2021

yeah, the app is created, I still need to integrate it into Kubernetes infra, but that should be a seperate issue.

/close

@k8s-ci-robot
Copy link
Contributor

@jberkus: Closing this issue.

In response to this:

yeah, the app is created, I still need to integrate it into Kubernetes infra, but that should be a seperate issue.

/close

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
committee/steering Denotes an issue or PR intended to be handled by the steering committee. lifecycle/rotten Denotes an issue or PR that has aged beyond stale and will be auto-closed. sig/contributor-experience Categorizes an issue or PR as relevant to SIG Contributor Experience.
Projects
None yet
Development

No branches or pull requests