Overview for 'githubengineering'
Written by GitHub Engineering
/ Original link
on Jan. 29, 2017
The Recover Accounts Elsewhere feature lets you associate your GitHub account with your Facebook account. This will help us recover your account for certain two-factor authentication lockout scenarios. For example, you may become locked out of your GitHub account because you have lost your phone or…
Written by GitHub Engineering
/ Original link
on Jan. 18, 2017
Last year we shared some details on GitHub’s CSP journey. A journey was a good way to describe it, as our usage of Content Security Policy (CSP) significantly changed from our initial release nearly four years ago to where we ended up last year. It wasn’t until then that we felt our policy was rela…
Written by GitHub Engineering
/ Original link
on Jan. 9, 2017
Historically, we have used Redis in two ways at GitHub: We used it as an LRU cache to conveniently store the results of expensive computations over data originally persisted in Git repositories or MySQL. We call this transient Redis. We also enabled persistence, which gave us durability guarantees…
Written by GitHub Engineering
/ Original link
on Dec. 7, 2016
GitHub uses MySQL to store its metadata: Issues, Pull Requests, comments, organizations, notifications and so forth. While git repository data does not need MySQL to exist and persist, GitHub’s service does. Authentication, API, and the website itself all require the availability of our MySQL fleet…
Written by GitHub Engineering
/ Original link
on Dec. 5, 2016
We serve a lot of diffs here at GitHub. Because it is computationally expensive to generate and display a diff, we’ve traditionally had to apply some very conservative limits on what gets loaded. We knew we could do better, and we set out to do so. Historical approach and problems Before this chang…
Written by GitHub Engineering
/ Original link
on Nov. 30, 2016
Recently we introduced GLB, the GitHub Load Balancer that powers GitHub.com. The GLB proxy tier, which handles TCP connection and TLS termination is powered by HAProxy, a reliable and high performance TCP and HTTP proxy daemon. As part of the design of GLB, we set out to solve a few of the common…