notes

Try the Wiki

This project is maintained by lbonanomi

Lessons Learned Managing a GHE Instance

What’s this?

Hopefully a few helpful notes for support engineers who have been assigned issues with Github Enterprise. Be aware that these factoids are from practical experience and zero training or theoretical basis. YMMV, remember to floss.

Emergency Procedures

Pre-Flight Checks Failing

If a previously-working instance was rebooted after a crash, running ghe-config-apply will force the config files to be reloaded and services restarted on a GHE instance.

Pink Unicorn Error

If the front page of a GHE instance shows a Pink Unicorn:

Unicorn Head

Check the state & fullness of filesystems on the appliance, this has been symptomatic of a filled disk before.

Deleted Repos

Restoring from ghe-backup archive

If a repository is too-long gone to be recovered from https://$INSTANCE/stafftools/$ORGANIZATION/$REPO, single repositories can be recovered from a backup snapshot. Extract both the repository and the network repository (../network.git) onto a fresh VM with a standalone git server.

LDAP

LDAP auth will fail in puzzling ways if the user-groups option of github.conf doesn’t have a tailing semi-colon.

Integrations and External Programs

NuGet

NuGet is observed to not work well with git 2.19. As-of 2019-01-01 Windows users are encouraged to walk back to 2.18 in the face of incredibly slow git traffic. This seems to be related to the cURL library distributed.

Interactions between git and GHE:

Interactions between Jenkins and GHE:

If you do not perform regular housekeeping on organizations Jenkins will hammer on the Api::RepoCommits API endpoint and potentially slow/crash a GHE instance.

GHE & Python libs:

Restoring repos from ghe-backup snapshots

Complete instructions are available, or…

Abuse Throttle

Admins on networks that segregate traffic between PC and development networks with acess routers or firewalls please take note.

RESQUE

Ergonomics and Annoyances

Github Organizations

Github Enterprise Auth

Notifications

Pull Requests

Intermediate certificate errors look-like:

+com.sun.jersey.api.client.ClientHandlerException: javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target

State of upgrade

Performance