Setup & Integrations
Observability
Git
the git integration allows resolve ai to access and analyze code from your private git repositories this integration clones repositories to the satellite and provides the agent with code context during investigations overview the git integration enables resolve ai to clone and sync multiple git repositories search through code files and directories view file contents and git history analyze commit information, diffs, and blame provide code context during investigations the git integration runs on your satellite, which means repositories are cloned locally in your environment and code never leaves your infrastructure configuration the git integration requires the following connection parameters remote urls list of git repository urls to clone (https format) username git username for authentication token personal access token (pat) or authentication token connection schema { remoteurls string\[], // list of git remote urls to clone username string, // git username token string // personal access token } setup via satellite since the git integration needs access to private repositories and clones them locally, it must be configured through your satellite deployment 1\ create a kubernetes secret create a kubernetes secret to securely store your git credentials git credentials yml apiversion v1 kind secret type opaque metadata name git credentials stringdata username "\<your git username>" token "\<your personal access token>" apply the secret apply secret kubectl apply f git credentials yml alternative create secret via kubectl you can also create the secret directly with kubectl kubectl create secret generic git credentials \\ \ from literal=username='\<your git username>' \\ \ from literal=token='\<your personal access token>' 2\ update values file add the git integration configuration to your resolve values yaml resolve values yaml integrations git type "git" create true secretname "git credentials" connection remoteurls \ "https //github com/your org/repo 1 git" \ "https //github com/your org/repo 2 git" \ "https //gitlab com/your org/repo 3 git" 3\ apply changes update your satellite deployment with the new configuration helm upgrade install resolve satellite \\ oci //registry 1 docker io/resolveaihq/satellite chart \\ \ values resolve values yaml 4\ verify integration open git integration https //app0 resolve ai/integrations/git in resolve ai and check the connection the health check should pass, confirming repositories were cloned successfully creating personal access tokens github github offers two types of personal access tokens fine grained tokens are recommended for better security option 1 fine grained personal access token \[recommended] go to settings > developer settings > personal access tokens > fine grained tokens click generate new token enter a token name (e g , "resolve ai satellite") set expiration date (required) under repository access , select which repositories to grant access to select only select repositories and choose specific repositories, or select all repositories if needed under repository permissions , set contents read only (required for cloning and reading code) click generate token copy the token immediately (you won't be able to see it again) option 2 classic personal access token go to settings > developer settings > personal access tokens > tokens (classic) click generate new token > generate new token (classic) add a note (e g , "resolve ai satellite") select the following scope for private repositories select repo (this grants full read/write access github does not offer read only scope for classic tokens) for public repositories only select public repo click generate token copy the token immediately (you won't be able to see it again) classic tokens with repo scope grant full read/write access use fine grained tokens for read only access gitlab go to preferences > access tokens enter a token name (e g , "resolve ai satellite") select an expiration date (recommended) select the following scope read repository (read only access to repository code) click create personal access token copy the token immediately (you won't be able to see it again) the read repository scope provides read only access to repository content without granting broader api permissions bitbucket go to personal settings > app passwords click create app password enter a label (e g , "resolve ai satellite") select the following permissions repositories read (read only access to view and clone repositories) click create copy the app password immediately (you won't be able to see it again) repository url formats the git integration supports https urls ssh urls are not currently supported supported formats https //github com/org name/repo name git https //gitlab com/org name/repo name git https //bitbucket org/org name/repo name git https //github your company com/org name/repo name git # github enterprise advanced configuration multiple repository sources you can configure repositories from multiple git providers in a single integration integrations git type "git" create true secretname "git credentials" connection remoteurls \ "https //github com/org/repo1 git" \ "https //gitlab com/org/repo2 git" \ "https //bitbucket org/org/repo3 git" username "$git username" token "$git token" separate credentials per provider if you need different credentials for different git providers, create multiple integration instances integrations github repos type "git" create true secretname "github credentials" connection remoteurls \ "https //github com/org/repo1 git" username "$github username" token "$github token" gitlab repos type "git" create true secretname "gitlab credentials" connection remoteurls \ "https //gitlab com/org/repo2 git" username "$gitlab username" token "$gitlab token" troubleshooting health check failures if the integration health check fails check credentials verify the kubernetes secret contains correct username and token check repository access ensure the token has permission to access all listed repositories check network access verify the satellite can reach the git provider (firewall rules, network policies) check logs view satellite logs for detailed error messages kubectl logs n resolve deployment/resolve satellite c satellite clone failures common issues when repositories fail to clone authentication failures token expired or lacks necessary permissions network timeouts repository host unreachable from satellite disk space insufficient storage for cloning repositories invalid urls ensure urls are in https format and accessible refresh issues the integration automatically refreshes repositories periodically if refresh fails check that credentials are still valid verify network connectivity ensure sufficient disk space for fetching updates frequently asked questions how often are repositories synced? repositories are refreshed during health checks and when the integration refresh is triggered by default, this happens every few hours is my source code stored in resolve ai's cloud? no repositories are cloned only to your satellite, which runs in your infrastructure code never leaves your environment unless small code snippets appear in investigation results shared to slack or saved in resolve ai saas can the agent modify my repositories? no the git integration is read only the agent can read files and history but cannot push commits, create branches, or modify code how much disk space do i need? plan for the total size of all repositories you want to clone, plus overhead for git metadata for example, if you have 10 repositories averaging 1gb each, allocate at least 15 20gb of persistent storage can i use ssh keys instead of tokens? currently, only https with personal access tokens is supported ssh authentication is not available how do i rotate credentials? update the kubernetes secret with new credentials update secret apiversion v1 kind secret type opaque metadata name git credentials stringdata username "\<new username>" token "\<new token>" apply the updated secret kubectl apply f git credentials yml restart the satellite deployment to pick up the new secret kubectl rollout restart deployment/resolve satellite