Key Concepts
Repository
Repository Type
Credentials
Connection Status
Required Permissions
Repository Types
Connection Status
How to Add a Repository
Select ArgoCD Instance
Click Add Repository
Enter Repository Name
Enter Repository URL
Select Repository Type
Enter Credentials (Optional)
Assign Project (Optional)
Configure TLS (Optional)
Add
Required Fields
URL Formats
Git Repositories
Helm Repositories
OCI Repositories
How to Edit a Repository
Find the Repository
Click Edit
Modify Settings
Update Credentials (Optional)
Save
How to Delete a Repository
Find the Repository
Click Delete
Confirm
Authentication
Public Repositories
No credentials required. Leave username and access token empty.Private Repositories
Token Scopes
GitHub
Required scopes for Personal Access Token:repo- Full control of private repositories
GitLab
Required scopes for Personal Access Token:read_repository- Read repository contentread_api- Read API access (for repository operations)
Bitbucket
Required permissions for App Password:- Repositories: Read
Project Assignment
Repositories can be assigned to specific ArgoCD projects to restrict access.TLS Configuration
Secure Mode (Default)
TLS certificate verification is enabled by default. ArgoCD validates the repository server’s certificate against trusted CAs.Insecure Mode
Enable “Allow Insecure Connection” to skip TLS verification.Troubleshooting
Connection status shows Failed
Connection status shows Failed
- Verify the repository URL is correct
- Check if credentials are valid and not expired
- Ensure the repository exists and is accessible
- Verify network connectivity from ArgoCD to the repository
- Check if IP restrictions block ArgoCD’s access
Authentication failed
Authentication failed
- Verify username is correct
- Check if the access token has required scopes
- Ensure the token has not expired
- For GitHub, verify you’re using a PAT, not a password
- Check if the repository requires SSO authentication
Cannot access private repository
Cannot access private repository
- Verify credentials are configured for this repository
- Check if the token has repository access permissions
- Ensure the user has access to the repository in Git provider
- For organization repos, verify organization access is granted
TLS certificate error
TLS certificate error
- Verify the repository uses a valid TLS certificate
- For self-signed certificates, enable insecure mode
- Check if the certificate has expired
- Ensure ArgoCD trusts the certificate authority
Helm chart not found
Helm chart not found
- Verify the repository type is set to “helm”
- Check if the chart exists in the repository
- Ensure the repository URL points to the chart index
- Verify chart version exists
OCI registry authentication failed
OCI registry authentication failed
- Verify the registry URL format (
oci://...) - Check if credentials have registry access
- Ensure the repository type is set to “oci”
- Verify the registry supports OCI artifacts
FAQ
Can I use SSH keys for authentication?
Can I use SSH keys for authentication?
How do I rotate repository credentials?
How do I rotate repository credentials?
Can multiple repositories use the same credentials?
Can multiple repositories use the same credentials?
What happens if credentials expire?
What happens if credentials expire?
Can I use deploy keys instead of personal tokens?
Can I use deploy keys instead of personal tokens?
Why is my repository URL not editable?
Why is my repository URL not editable?
How do I access repositories from multiple Git providers?
How do I access repositories from multiple Git providers?
Can I use OAuth tokens instead of PATs?
Can I use OAuth tokens instead of PATs?
Best Practices
Security
- Use Personal Access Tokens with minimum required scopes
- Rotate tokens periodically (every 90 days recommended)
- Use project assignment to restrict repository access
- Avoid using personal accounts for CI/CD repositories
- Create dedicated service accounts or machine users
Organization
- Use descriptive repository names
- Group related repositories by naming convention
- Document which applications use each repository
- Remove unused repository entries
Credentials
- Never share credentials between environments
- Store tokens securely before adding to the platform
- Set up monitoring for authentication failures
- Have a runbook for credential rotation
Repository Types
- Use Git for source code with Kubernetes manifests
- Use Helm for chart repositories
- Use OCI for Helm charts stored in container registries
- Consider OCI for better security and versioning
TLS
- Always use TLS in production
- Use proper certificates from trusted CAs
- Avoid insecure mode except for development
- Monitor certificate expiration dates