certifi / certifi.io

Public website for the Certifi Project.
http://certifi.io
58 stars 5 forks source link

update policy #9

Open benoitc opened 9 years ago

benoitc commented 9 years ago

There is no clear description on how the certificate bundle are currently built and the update cycle of it. Imo we should define the following:

There is a running discussion on rebar/rebar3#789 about these topics. Answering to them would expand the adoption of certifi.

Lukasa commented 9 years ago

Yeah, we can elaborate on process a bit. I'll be honest, before recently the process around here wasn't always followed perfectly because of a lack of resources, but now that I'm full-time on Python HTTP projects certifi's state of affairs should get a bit better.

The high-level features are:

Beyond that, we get notified using a tool called certifi-prompt, which was a very quick script that dumps an OS X desktop notification onto my laptop when a difference is detected between the output of mkcert and the bundle in certifi. Generally this works pretty well.

The goal is to refresh the bundle fairly swiftly after Mozilla changes it. That doesn't always happen, but it usually does, and we're getting better all the time.

benoitc commented 9 years ago

OK, thanks for the information :)

I am working on a script that regenerate automatically the erlang bundle. However I wonder if we couldn't generalize that to all projects as a policy. Or at least regenerating the website to tell which package is outdated. Thoughts?

Lukasa commented 9 years ago

@benoitc It generalises pretty easily. The really stupid one I wrote for Python is here: https://github.com/certifi/certifi-prompt. Its principle is basically to do a diff of the file produced by mkcert.org and the one in the master of the bundle. That works great for most of them, but is a bit tricky for Go: though if we have a policy that we always update Go in step with Python that problem mostly goes away.

It would be helpful if each project had essentially a Makefile that would apply a new update correctly: that way, admins can easily update all projects if needed.

benoitc commented 9 years ago

@Lukasa this is what I did in erlang-certifi: https://github.com/certifi/erlang-certifi/blob/master/Makefile

Running the Makefile will regenerate the source.

Lukasa commented 9 years ago

@benoitc That looks reasonable to me. =) I'll work on having a better notification service put in place (the most general I can think of at this time is email, which is less than ideal, but might work).