GitHub Integration

Banana uses GitHub in two ways:

GitHub OAuth

Initial login to Banana uses an OAuth app. This is used only to retrieve your username and GitHub ID.

Banana GitHub App

The git-based deployment system of Banana uses a GitHub App to monitor push events and trigger builds for models built from those repos.

The app has the following read-only permissions:

  • Repo Contents

  • Organization Metadata

  • Organization Members

Installing the App gives you the option to view all repos, or scope it to only specific repos.

Be sure to only install the App when directed there from the Banana frontend, in order for your account to successfully link.

Common Questions:

What does Banana do with our repo data?

Banana uses the integration auth to automatically pull repo contents after push events to main. This repo content is run through a Docker build. All network calls in the build pipeline are encrypted, and repo data is never stored on Banana servers. Humans never see private repo contents.

Can I add multiple GitHub Organizations?

You may install the GitHub App onto multiple GitHub accounts:

  • your own account

  • any Organizations that you are an Admin in

You may choose as many of these as you'd like.

Run the installation flow for each account via the team settings page in the Banana app, then you'll see the authorized repos as options when deploying a new model.

It appears the App is already installed onto my Organization, what do I do?

Since users may install the Banana App onto multiple shared GitHub organizations, there is a chance that another org admin already installed the App onto your org. If this is the case, you'd see the word "configure" next to the org while installing.

You can still complete the integration with your Banana account! in the Where do you want to install Banana Serverless GPUs? page:

  1. select the org

  2. modify the settings of the install, even if you change values, and then immediately set them back. Toggling settings around enables the "Save" button.

  3. click "Save"

This fires a post-install event that Banana uses to associate your Banana account with the GitHub install.

Note that anyone in the organization can remove the Banana app. This will block future build events from going through, but existing Banana deployments will continue running.

Can multiple Banana users share a GitHub Organization?

Yes! See question above for installation steps.

How do I uninstall the App?

You may uninstall via Banana team settings, then clicking into the user/org you want to uninstall the App from.

Last updated