Before You Begin
- Verify that you can create or manage GitHub Apps in the target enterprise account.
- Verify that you can install GitHub Apps on the enterprise account and on each organization that OpenHound will collect.
- Identify the enterprise slug you will use during configuration, such as
your-enterprise-namefromhttps://github.com/enterprises/your-enterprise-name.
Create the GitHub App
Follow these steps to create a GitHub App that can be installed at the enterprise level.Open GitHub Apps in the enterprise account
Navigate to your enterprise account homepage at
https://github.com/enterprises/<enterprise-slug>.From the enterprise homepage, click Settings > GitHub Apps > New GitHub App.Configure the app settings
-
Configure the app with these settings:
-
GitHub App name: Choose a unique name, such as
OpenHound-Enterprise - Homepage URL: We recommend pointing to the OpenHound GitHub repository
- Webhook: Clear Active unless you have a separate webhook requirement
- Permissions: Set the following permissions to Read-only:
-
GitHub App name: Choose a unique name, such as
- Under Where can this GitHub App be installed?, select the option for organizations owned by your enterprise.
Generate a private key
On the app settings page, scroll to Private keys and click Generate a private key.Save the downloaded
.pem file securely. On the same page, record the App ID and Client ID.OpenHound uses the App ID, Client ID, key path, enterprise name, and API URI in the GitHub enterprise app collector configuration.
Install the GitHub App
Install the same GitHub App in the enterprise account and in each organization you plan to collect.Install the app on the enterprise account
Open the GitHub App settings page, click Install App, select the enterprise account, and complete the installation.
Install the app on each organization
From the same GitHub App, install the app on every organization owned by the enterprise that you want OpenHound to collect.If GitHub prompts you to choose a repository scope, select All repositories unless you intentionally want a partial collection.
The GitHub collector enterprise orchestration expects a real enterprise installation and then enumerates related organization installations for follow-on organization collection.
Security Considerations
- Store the
.pemprivate key securely and never commit it to version control. - Rotate private keys periodically and revoke keys that you no longer use.
- Limit the app to the minimum repository, organization, and enterprise permissions required for collection.
- Install the app only on the enterprise account and organizations that you intend to collect.