Overview
For self-hosted Relvy deployments, you’ll need to create a custom GitHub App and configure it in your Kubernetes cluster. This gives you complete control over the integration and ensures all code analysis happens within your infrastructure.Prerequisites
Before starting, ensure you have:- The ability to create and install apps for your GitHub organization. For example: the
App-Manager
role from GitHub’s pre-defined roles - Access to your Relvy Kubernetes cluster
kubectl
configured to access your cluster- Helm (for Relvy configuration updates)
Step 1: Create a GitHub App
-
Create a new GitHub app for your organization / enterprise
- For GitHub Enterprise, this is usually via Settings > GitHub Apps
- Your URL will look something like
https://github.com/enterprises/YOUR-ENTERPRISE-SLUG/settings/app/new
- For GitHub organizations, the URL will look something like
https://github.com/organizations/YOUR-ORG-SLUG/settings/apps/new
-
Fill in the app details:
- GitHub App name: Choose a descriptive name (e.g., “Relvy Code Analysis”)
- Homepage URL: Your Relvy instance URL (e.g.,
https://relvy.yourcompany.com
) - Callback URL: Leavy empty
- Setup URL:
https://YOUR-RELVY_DOMAIN/github/setup/redirect
- Also check “Redirect on Update”
- Webhook: Disable webhook (uncheck “Active”)
-
Set the following permissions:
- Repository permissions:
- Contents: Read-only (for reading source code)
- Metadata: Read-only (for repository information)
- Repository permissions:
-
Choose where the app can be installed:
- Only enterprise organizations: Use this if you are on GitHub enterprise. This ensures that only organizations in your enterprise can install the app
- Only on this account: For personal/organization repositories
- Any account: If you need to install across multiple organizations
- Click Create GitHub App
Step 2: Generate and Save Credentials
After creating the app:- Note down the Client ID (you’ll need this for configuration)
-
Generate a Private Key:
- Scroll down to the “Private keys” section
- Click Generate a private key
- A
.pem
file will be downloaded to your computer - Store this file securely
Step 3: Install the GitHub App
- From your GitHub App settings page, click Install App
- Select the account/organization where you want to install it
- Choose which repositories to grant access to:
- All repositories: Grant access to all current and future repositories
- Only select repositories: Choose specific repositories (recommended)
- Complete the installation
- Important: After installation, note down the Installation ID from the URL
- The URL will look like:
https://github.com/settings/installations/12345678
- The Installation ID in this example is
12345678
- The URL will look like:
Step 4: Configure Kubernetes Secrets
Now you’ll configure your Relvy Kubernetes cluster with the GitHub App credentials:/path/to/your/github-app-private-key.pem
with the actual path to your downloaded private keyyour-github-app-client-id
with your GitHub App’s Client ID
Step 5: Update Relvy Deployment
Update your Relvy Helm deployment to apply the latest configuration:Step 6: Configure GitHub in Relvy
- Log in to your Relvy instance
- Navigate to the GitHub section under your Organization settings
- Enter the following information:
- Installation ID: The Installation ID you noted in Step 3
- Base URL: Leave as
api.github.com
(or enter your GitHub Enterprise URL if different)
- Click Save

Step 7: Test the Connection
After saving your configuration:- Click the Test button to verify the connection
- You should see a success message indicating Relvy can communicate with GitHub
- If the test fails, verify your Installation ID and ensure the Kubernetes secret is correctly configured
Configuring Repositories
Once GitHub is connected, configure which repositories your team will use:- Navigate to Settings > Data Sources in your Relvy workspace
- Locate the “Configure Code Repositories” section
- Click Add Repository
- Select a repository from your authorized list
- Verify the Default Branch (typically
main
ormaster
) - Click Save
- Repeat for all repositories relevant to your team’s incident debugging
Security Considerations
Data Privacy
- All code analysis happens within your infrastructure
- No code leaves your environment
- You control all GitHub App credentials
- Code is never used to train AI models
Access Control
- Only repositories you explicitly authorize are accessible
- Read-only permissions ensure code cannot be modified
- You can revoke access at any time by uninstalling the GitHub App
Revoking Access
To remove Relvy’s access to GitHub:- Go to GitHub Settings > Applications > Installed GitHub Apps
- Find your custom Relvy app
- Click Uninstall to remove the app
- Remove the Kubernetes secret:
kubectl delete secret relvy-github-secret --namespace=relvy
Next Steps
Now that GitHub is connected for your self-hosted deployment:- Configure repositories in Settings > Data Sources
- Learn about GitHub integration capabilities
- Start investigating incidents with code-aware analysis