Skip to main content

Repository Service

Repository Service API performs CRUD actions against repository resources.

Service Definition

Package: repository Service: RepositoryService The RepositoryService manages Git, Helm, and OCI repository configurations that Argo CD uses to fetch application manifests.

RPC Methods

ListRepositories

Gets a list of all configured repositories. Request: RepoQuery
string
Repo URL for query
bool
Whether to force a cache refresh on repo’s connection state
string
App project for query
Response: RepositoryList REST Endpoint: GET /api/v1/repositories

ListWriteRepositories

Gets a list of all configured write repositories. Request: RepoQuery Response: RepositoryList REST Endpoint: GET /api/v1/write-repositories

Get

Returns a repository or its credentials. Request: RepoQuery
string
required
The repository URL
bool
Whether to force a cache refresh on repo’s connection state
string
App project for query
Response: Repository REST Endpoint: GET /api/v1/repositories/{repo}

GetWrite

Returns a repository or its write credentials. Request: RepoQuery
string
required
The repository URL
Response: Repository REST Endpoint: GET /api/v1/write-repositories/{repo}

CreateRepository

Creates a new repository configuration. Request: RepoCreateRequest
Repository
required
Repository definition
bool
Whether to create in upsert mode
bool
Whether to operate on credential set instead of repository
Response: Repository REST Endpoint: POST /api/v1/repositories

CreateWriteRepository

Creates a new write repository configuration. Request: RepoCreateRequest Response: Repository REST Endpoint: POST /api/v1/write-repositories

UpdateRepository

Updates a repository configuration. Request: RepoUpdateRequest
Repository
required
Repository definition to update
Response: Repository REST Endpoint: PUT /api/v1/repositories/{repo.repo}

UpdateWriteRepository

Updates a write repository configuration. Request: RepoUpdateRequest Response: Repository REST Endpoint: PUT /api/v1/write-repositories/{repo.repo}

DeleteRepository

Deletes a repository from the configuration. Request: RepoQuery
string
required
The repository URL to delete
Response: RepoResponse REST Endpoint: DELETE /api/v1/repositories/{repo}

DeleteWriteRepository

Deletes a write repository from the configuration. Request: RepoQuery Response: RepoResponse REST Endpoint: DELETE /api/v1/write-repositories/{repo}

ValidateAccess

Validates access to a repository with given parameters. Request: RepoAccessQuery
string
required
The URL to the repo
string
Username for accessing repo
string
Password for accessing repo
string
Private key data for accessing SSH repository
bool
Whether to skip certificate or host key validation
string
TLS client cert data for accessing HTTPS repository
string
TLS client cert key for accessing HTTPS repository
string
The type of the repo
string
The name of the repo
bool
Whether helm-oci support should be enabled for this repo
string
Github App Private Key PEM data
int64
Github App ID of the app used to access the repo
int64
Github App Installation ID of the installed GitHub App
string
Github App Enterprise base url if empty will default to https://api.github.com
string
HTTP/HTTPS proxy to access the repository
string
Reference between project and repository
string
Google Cloud Platform service account key
bool
Whether to force HTTP basic auth
Response: RepoResponse REST Endpoint: POST /api/v1/repositories/{repo}/validate

ValidateWriteAccess

Validates write access to a repository with given parameters. Request: RepoAccessQuery Response: RepoResponse REST Endpoint: POST /api/v1/write-repositories/{repo}/validate

ListRefs

Lists branches and tags in a Git repository. Request: RepoQuery
string
required
The repository URL
Response: Refs
string[]
List of branch names
string[]
List of tag names
REST Endpoint: GET /api/v1/repositories/{repo}/refs

ListOCITags

Lists tags in an OCI repository. Request: RepoQuery
string
required
The repository URL
Response: Refs
string[]
List of OCI tags
REST Endpoint: GET /api/v1/repositories/{repo}/oci-tags

ListApps

Returns list of apps in the repo. Request: RepoAppsQuery
string
required
The repository URL
string
The revision to scan
string
The application name
string
The application project
Response: RepoAppsResponse
AppInfo[]
List of applications found in the repository
AppInfo Fields:
  • type (string): Application type (e.g., “Kustomize”, “Helm”, “Directory”)
  • path (string): Path to the application in the repository
REST Endpoint: GET /api/v1/repositories/{repo}/apps

GetAppDetails

Returns application details by given path. Request: RepoAppDetailsQuery
ApplicationSource
required
The application source
string
The application name
string
The application project
int32
Source index (for multi source apps)
int32
Version ID from historical data (for multi source apps)
Response: RepoAppDetailsResponse
string
Application type
HelmAppSpec
Helm application details (if type is Helm)
KustomizeAppSpec
Kustomize application details (if type is Kustomize)
DirectoryAppSpec
Directory application details (if type is Directory)
PluginAppSpec
Plugin application details (if type is Plugin)
REST Endpoint: POST /api/v1/repositories/{source.repoURL}/appdetails

GetHelmCharts

Returns list of helm charts in the specified repository. Request: RepoQuery
string
required
The repository URL
Response: HelmChartsResponse
HelmChart[]
List of Helm charts
HelmChart Fields:
  • name (string): Chart name
  • versions (string[]): Available chart versions
REST Endpoint: GET /api/v1/repositories/{repo}/helmcharts

gRPC Example