# Github

##

{% stepper %}
{% step %}

## Create a Github App

Since Teleskope follows a single-tenant architecture, each customer will have their own dedicated Teleskope instance, with a custom callback URL.

### Requirements

* Admin User: User must be an organization **admin** to create the application and install in org
* Callback URL: Teleskope will provide you with your dedicated callback URL
* Setup URL: Teleskope will provide you with your dedicated setup URL

### Create a new app in GitHub

1. Go to your Developer settings: http(s):///settings/apps
2. Select GitHub Apps and then New GitHub App
3. Give your app a unique name and add an optional description
   1. Avoid using spaces in the app name
4. Use <https://teleskope.ai> as a homepage URL
5. Enter your dedicated Teleskope Setup URL
   1. <https://observatory.{baseURL}/settings/clouds/github?organization\\_name={githubOrgName}>
6. (Optional) Create a Webhook Secret
7. Create a private key for the application and download it

### Grant permissions in GitHub

#### Add the following repository permissions:

* Contents (read, mandatory)
* Issues (read & write)
* Metadata (read-only, mandatory)
* Pull requests (read & write)

#### Add the following organizational permission:

* Members (read-only)
  {% endstep %}

{% step %}

## Enroll the Github Connector

1. On <https://observatory.{baseURL}/settings/clouds/github>, click **Enroll organization +**
2. Enter your app's:
   1. Organization Name
   2. App name
   3. App ID
   4. Github App Private Key
3. Click Enroll
4. Delete your local Private Key .pem file
   {% endstep %}
   {% endstepper %}
