GitHub
github Clone private repositories from github.com or GitHub Enterprise Server, and pick them from a list, with a GitHub App, an OAuth application, a personal access token or a deploy key.
Setup
Choose how Pando signs in
Create a GitHub App
- In GitHub, open Settings → Developer settings → GitHub Apps → New GitHub App. For an organization, start from its settings.
- Enter a GitHub App name and Homepage URL. Under Webhook, clear Active.
- Under Repository permissions, set Contents to Read-only.
- Choose Create GitHub App and copy the App ID. Under Credentials → Key pairs, choose New key.
Install the App
- Choose Install App, then Install beside the owner.
- Pick the repositories and choose Install.
Register an OAuth application
- In GitHub, open Settings → Developer settings → OAuth apps → New OAuth App.
- Enter an Application name and Homepage URL. Set Authorization callback URL to your Pando address plus
/api/v1/sources/callback. - Check Enable Device Flow and choose Register application.
- Copy the Client ID. For browser sign-in, choose Generate a new client secret.
Create a personal access token
- In GitHub, open Settings → Developer settings → Personal access tokens → Fine-grained tokens → Generate new token.
- Set Resource owner to the owner. Under Repository access, pick the repositories.
- Set Contents to Read-only and choose Generate token.
Add a deploy key
- Run
ssh-keygen -t ed25519 -f pando-deploy -N "". - In the repository, open Settings → Deploy keys → Add deploy key. Paste
pando-deploy.pubinto Key and choose Add key. - Paste
pando-deploybelow.
- Run
Choose an owner
Settings (14)
methodHow Pando signs inRequiredhostHostThe host repositories are on. Change it for a self-managed server.
scopeOwnerThe organization or user on GitHub. Empty is every repository the credential can read; a GitHub App without an installation ID needs one.
app_idApp IDThe App's ID, shown on its settings page in GitHub under General → About.
installation_idInstallation IDThe number at the end of the installation's settings address. Empty looks it up from the owner.
app_private_keyApp private keyCredentialThe contents of the .pem file GitHub downloads under the App's Credentials, Key pairs.
client_idOAuth client IDFrom the OAuth application registered in GitHub under Settings → Developer settings → OAuth Apps, with device flow enabled.
client_secretOAuth client secretCredentialNeeded for browser authorization. Device authorization works without one.
tokenPersonal access tokenCredentialA fine-grained token with read access to contents and metadata, or a classic token with the repo scope.
ssh_private_keySSH private keyCredentialThe private half of a deploy key or access key added to the repository. Pando reads the repository with it and never writes.
ssh_passphraseKey passphraseCredentialOnly if the key has one.
known_hostsKnown hostsThe host's public key, as ssh-keyscan <host> prints it. For github.com it may be left empty: Pando uses the keys GitHub publishes.
api_urlAPI addressAdvancedWhere the host's API is, if not where Pando would look for it.
ca_bundleCertificate authorityAdvancedPEM certificates to trust for a self-managed host on a private certificate authority, beside the system's.
Presets
- GitHub.com Install a GitHub App on the organization, or create a personal access token under Settings → Developer settings.
- GitHub Enterprise Server Enter the server's host. Its API is at https://<host>/api/v3 unless it was moved.