Argo CD RepositoryService API
The RepositoryService API from Argo CD — 13 operation(s) for repositoryservice.
The RepositoryService API from Argo CD — 13 operation(s) for repositoryservice.
swagger: '2.0'
info:
description: Description of all APIs
title: Consolidate Services AccountService RepositoryService API
version: version not set
consumes:
- application/json
produces:
- application/json
tags:
- name: RepositoryService
paths:
/api/v1/repositories:
get:
tags:
- RepositoryService
summary: ListRepositories gets a list of all configured repositories
operationId: RepositoryService_ListRepositories
parameters:
- type: string
description: Repo URL for query.
name: repo
in: query
- type: boolean
description: Whether to force a cache refresh on repo's connection state.
name: forceRefresh
in: query
- type: string
description: App project for query.
name: appProject
in: query
responses:
'200':
description: A successful response.
schema:
$ref: '#/definitions/v1alpha1RepositoryList'
default:
description: An unexpected error response.
schema:
$ref: '#/definitions/runtimeError'
post:
tags:
- RepositoryService
summary: CreateRepository creates a new repository configuration
operationId: RepositoryService_CreateRepository
parameters:
- description: Repository definition
name: body
in: body
required: true
schema:
$ref: '#/definitions/v1alpha1Repository'
- type: boolean
description: Whether to create in upsert mode.
name: upsert
in: query
- type: boolean
description: Whether to operate on credential set instead of repository.
name: credsOnly
in: query
responses:
'200':
description: A successful response.
schema:
$ref: '#/definitions/v1alpha1Repository'
default:
description: An unexpected error response.
schema:
$ref: '#/definitions/runtimeError'
/api/v1/repositories/{repo.repo}:
put:
tags:
- RepositoryService
summary: UpdateRepository updates a repository configuration
operationId: RepositoryService_UpdateRepository
parameters:
- type: string
description: Repo contains the URL to the remote repository
name: repo.repo
in: path
required: true
- name: body
in: body
required: true
schema:
$ref: '#/definitions/v1alpha1Repository'
responses:
'200':
description: A successful response.
schema:
$ref: '#/definitions/v1alpha1Repository'
default:
description: An unexpected error response.
schema:
$ref: '#/definitions/runtimeError'
/api/v1/repositories/{repo}:
get:
tags:
- RepositoryService
summary: Get returns a repository or its credentials
operationId: RepositoryService_Get
parameters:
- type: string
description: Repo URL for query
name: repo
in: path
required: true
- type: boolean
description: Whether to force a cache refresh on repo's connection state.
name: forceRefresh
in: query
- type: string
description: App project for query.
name: appProject
in: query
responses:
'200':
description: A successful response.
schema:
$ref: '#/definitions/v1alpha1Repository'
default:
description: An unexpected error response.
schema:
$ref: '#/definitions/runtimeError'
delete:
tags:
- RepositoryService
summary: DeleteRepository deletes a repository from the configuration
operationId: RepositoryService_DeleteRepository
parameters:
- type: string
description: Repo URL for query
name: repo
in: path
required: true
- type: boolean
description: Whether to force a cache refresh on repo's connection state.
name: forceRefresh
in: query
- type: string
description: App project for query.
name: appProject
in: query
responses:
'200':
description: A successful response.
schema:
$ref: '#/definitions/repositoryRepoResponse'
default:
description: An unexpected error response.
schema:
$ref: '#/definitions/runtimeError'
/api/v1/repositories/{repo}/apps:
get:
tags:
- RepositoryService
summary: ListApps returns list of apps in the repo
operationId: RepositoryService_ListApps
parameters:
- type: string
name: repo
in: path
required: true
- type: string
name: revision
in: query
- type: string
name: appName
in: query
- type: string
name: appProject
in: query
responses:
'200':
description: A successful response.
schema:
$ref: '#/definitions/repositoryRepoAppsResponse'
default:
description: An unexpected error response.
schema:
$ref: '#/definitions/runtimeError'
/api/v1/repositories/{repo}/helmcharts:
get:
tags:
- RepositoryService
summary: GetHelmCharts returns list of helm charts in the specified repository
operationId: RepositoryService_GetHelmCharts
parameters:
- type: string
description: Repo URL for query
name: repo
in: path
required: true
- type: boolean
description: Whether to force a cache refresh on repo's connection state.
name: forceRefresh
in: query
- type: string
description: App project for query.
name: appProject
in: query
responses:
'200':
description: A successful response.
schema:
$ref: '#/definitions/repositoryHelmChartsResponse'
default:
description: An unexpected error response.
schema:
$ref: '#/definitions/runtimeError'
/api/v1/repositories/{repo}/oci-tags:
get:
tags:
- RepositoryService
operationId: RepositoryService_ListOCITags
parameters:
- type: string
description: Repo URL for query
name: repo
in: path
required: true
- type: boolean
description: Whether to force a cache refresh on repo's connection state.
name: forceRefresh
in: query
- type: string
description: App project for query.
name: appProject
in: query
responses:
'200':
description: A successful response.
schema:
$ref: '#/definitions/repositoryRefs'
default:
description: An unexpected error response.
schema:
$ref: '#/definitions/runtimeError'
/api/v1/repositories/{repo}/refs:
get:
tags:
- RepositoryService
operationId: RepositoryService_ListRefs
parameters:
- type: string
description: Repo URL for query
name: repo
in: path
required: true
- type: boolean
description: Whether to force a cache refresh on repo's connection state.
name: forceRefresh
in: query
- type: string
description: App project for query.
name: appProject
in: query
responses:
'200':
description: A successful response.
schema:
$ref: '#/definitions/repositoryRefs'
default:
description: An unexpected error response.
schema:
$ref: '#/definitions/runtimeError'
/api/v1/repositories/{repo}/validate:
post:
tags:
- RepositoryService
summary: ValidateAccess validates access to a repository with given parameters
operationId: RepositoryService_ValidateAccess
parameters:
- type: string
description: The URL to the repo
name: repo
in: path
required: true
- description: The URL to the repo
name: body
in: body
required: true
schema:
type: string
- type: string
description: Username for accessing repo.
name: username
in: query
- type: string
description: Password for accessing repo.
name: password
in: query
- type: string
description: Private key data for accessing SSH repository.
name: sshPrivateKey
in: query
- type: boolean
description: Whether to skip certificate or host key validation.
name: insecure
in: query
- type: string
description: TLS client cert data for accessing HTTPS repository.
name: tlsClientCertData
in: query
- type: string
description: TLS client cert key for accessing HTTPS repository.
name: tlsClientCertKey
in: query
- type: string
description: The type of the repo.
name: type
in: query
- type: string
description: The name of the repo.
name: name
in: query
- type: boolean
description: Whether helm-oci support should be enabled for this repo.
name: enableOci
in: query
- type: string
description: Github App Private Key PEM data.
name: githubAppPrivateKey
in: query
- type: string
format: int64
description: Github App ID of the app used to access the repo.
name: githubAppID
in: query
- type: string
format: int64
description: Github App Installation ID of the installed GitHub App.
name: githubAppInstallationID
in: query
- type: string
description: Github App Enterprise base url if empty will default to https://api.github.com.
name: githubAppEnterpriseBaseUrl
in: query
- type: string
description: HTTP/HTTPS proxy to access the repository.
name: proxy
in: query
- type: string
description: Reference between project and repository that allow you automatically to be added as item inside SourceRepos project entity.
name: project
in: query
- type: string
description: Google Cloud Platform service account key.
name: gcpServiceAccountKey
in: query
- type: boolean
description: Whether to force HTTP basic auth.
name: forceHttpBasicAuth
in: query
- type: boolean
description: Whether to use azure workload identity for authentication.
name: useAzureWorkloadIdentity
in: query
- type: string
description: BearerToken contains the bearer token used for Git auth at the repo server.
name: bearerToken
in: query
- type: boolean
description: Whether https should be disabled for an OCI repo.
name: insecureOciForceHttp
in: query
- type: string
description: Azure Service Principal Client ID.
name: azureServicePrincipalClientId
in: query
- type: string
description: Azure Service Principal Client Secret.
name: azureServicePrincipalClientSecret
in: query
- type: string
description: Azure Service Principal Tenant ID.
name: azureServicePrincipalTenantId
in: query
- type: string
description: Azure Active Directory Endpoint.
name: azureActiveDirectoryEndpoint
in: query
responses:
'200':
description: A successful response.
schema:
$ref: '#/definitions/repositoryRepoResponse'
default:
description: An unexpected error response.
schema:
$ref: '#/definitions/runtimeError'
/api/v1/repositories/{source.repoURL}/appdetails:
post:
tags:
- RepositoryService
summary: GetAppDetails returns application details by given path
operationId: RepositoryService_GetAppDetails
parameters:
- type: string
description: RepoURL is the URL to the repository (Git or Helm) that contains the application manifests
name: source.repoURL
in: path
required: true
- name: body
in: body
required: true
schema:
$ref: '#/definitions/repositoryRepoAppDetailsQuery'
responses:
'200':
description: A successful response.
schema:
$ref: '#/definitions/repositoryRepoAppDetailsResponse'
default:
description: An unexpected error response.
schema:
$ref: '#/definitions/runtimeError'
/api/v1/write-repositories:
get:
tags:
- RepositoryService
summary: ListWriteRepositories gets a list of all configured write repositories
operationId: RepositoryService_ListWriteRepositories
parameters:
- type: string
description: Repo URL for query.
name: repo
in: query
- type: boolean
description: Whether to force a cache refresh on repo's connection state.
name: forceRefresh
in: query
- type: string
description: App project for query.
name: appProject
in: query
responses:
'200':
description: A successful response.
schema:
$ref: '#/definitions/v1alpha1RepositoryList'
default:
description: An unexpected error response.
schema:
$ref: '#/definitions/runtimeError'
post:
tags:
- RepositoryService
summary: CreateWriteRepository creates a new write repository configuration
operationId: RepositoryService_CreateWriteRepository
parameters:
- description: Repository definition
name: body
in: body
required: true
schema:
$ref: '#/definitions/v1alpha1Repository'
- type: boolean
description: Whether to create in upsert mode.
name: upsert
in: query
- type: boolean
description: Whether to operate on credential set instead of repository.
name: credsOnly
in: query
responses:
'200':
description: A successful response.
schema:
$ref: '#/definitions/v1alpha1Repository'
default:
description: An unexpected error response.
schema:
$ref: '#/definitions/runtimeError'
/api/v1/write-repositories/{repo.repo}:
put:
tags:
- RepositoryService
summary: UpdateWriteRepository updates a write repository configuration
operationId: RepositoryService_UpdateWriteRepository
parameters:
- type: string
description: Repo contains the URL to the remote repository
name: repo.repo
in: path
required: true
- name: body
in: body
required: true
schema:
$ref: '#/definitions/v1alpha1Repository'
responses:
'200':
description: A successful response.
schema:
$ref: '#/definitions/v1alpha1Repository'
default:
description: An unexpected error response.
schema:
$ref: '#/definitions/runtimeError'
/api/v1/write-repositories/{repo}:
get:
tags:
- RepositoryService
summary: GetWrite returns a repository or its write credentials
operationId: RepositoryService_GetWrite
parameters:
- type: string
description: Repo URL for query
name: repo
in: path
required: true
- type: boolean
description: Whether to force a cache refresh on repo's connection state.
name: forceRefresh
in: query
- type: string
description: App project for query.
name: appProject
in: query
responses:
'200':
description: A successful response.
schema:
$ref: '#/definitions/v1alpha1Repository'
default:
description: An unexpected error response.
schema:
$ref: '#/definitions/runtimeError'
delete:
tags:
- RepositoryService
summary: DeleteWriteRepository deletes a write repository from the configuration
operationId: RepositoryService_DeleteWriteRepository
parameters:
- type: string
description: Repo URL for query
name: repo
in: path
required: true
- type: boolean
description: Whether to force a cache refresh on repo's connection state.
name: forceRefresh
in: query
- type: string
description: App project for query.
name: appProject
in: query
responses:
'200':
description: A successful response.
schema:
$ref: '#/definitions/repositoryRepoResponse'
default:
description: An unexpected error response.
schema:
$ref: '#/definitions/runtimeError'
/api/v1/write-repositories/{repo}/validate:
post:
tags:
- RepositoryService
summary: ValidateWriteAccess validates write access to a repository with given parameters
operationId: RepositoryService_ValidateWriteAccess
parameters:
- type: string
description: The URL to the repo
name: repo
in: path
required: true
- description: The URL to the repo
name: body
in: body
required: true
schema:
type: string
- type: string
description: Username for accessing repo.
name: username
in: query
- type: string
description: Password for accessing repo.
name: password
in: query
- type: string
description: Private key data for accessing SSH repository.
name: sshPrivateKey
in: query
- type: boolean
description: Whether to skip certificate or host key validation.
name: insecure
in: query
- type: string
description: TLS client cert data for accessing HTTPS repository.
name: tlsClientCertData
in: query
- type: string
description: TLS client cert key for accessing HTTPS repository.
name: tlsClientCertKey
in: query
- type: string
description: The type of the repo.
name: type
in: query
- type: string
description: The name of the repo.
name: name
in: query
- type: boolean
description: Whether helm-oci support should be enabled for this repo.
name: enableOci
in: query
- type: string
description: Github App Private Key PEM data.
name: githubAppPrivateKey
in: query
- type: string
format: int64
description: Github App ID of the app used to access the repo.
name: githubAppID
in: query
- type: string
format: int64
description: Github App Installation ID of the installed GitHub App.
name: githubAppInstallationID
in: query
- type: string
description: Github App Enterprise base url if empty will default to https://api.github.com.
name: githubAppEnterpriseBaseUrl
in: query
- type: string
description: HTTP/HTTPS proxy to access the repository.
name: proxy
in: query
- type: string
description: Reference between project and repository that allow you automatically to be added as item inside SourceRepos project entity.
name: project
in: query
- type: string
description: Google Cloud Platform service account key.
name: gcpServiceAccountKey
in: query
- type: boolean
description: Whether to force HTTP basic auth.
name: forceHttpBasicAuth
in: query
- type: boolean
description: Whether to use azure workload identity for authentication.
name: useAzureWorkloadIdentity
in: query
- type: string
description: BearerToken contains the bearer token used for Git auth at the repo server.
name: bearerToken
in: query
- type: boolean
description: Whether https should be disabled for an OCI repo.
name: insecureOciForceHttp
in: query
- type: string
description: Azure Service Principal Client ID.
name: azureServicePrincipalClientId
in: query
- type: string
description: Azure Service Principal Client Secret.
name: azureServicePrincipalClientSecret
in: query
- type: string
description: Azure Service Principal Tenant ID.
name: azureServicePrincipalTenantId
in: query
- type: string
description: Azure Active Directory Endpoint.
name: azureActiveDirectoryEndpoint
in: query
responses:
'200':
description: A successful response.
schema:
$ref: '#/definitions/repositoryRepoResponse'
default:
description: An unexpected error response.
schema:
$ref: '#/definitions/runtimeError'
definitions:
repositoryDirectoryAppSpec:
type: object
title: DirectoryAppSpec contains directory
v1alpha1Repository:
type: object
title: Repository is a repository holding application configurations
properties:
azureActiveDirectoryEndpoint:
type: string
title: AzureActiveDirectoryEndpoint specifies the Azure Active Directory endpoint used for Service Principal authentication. If empty will default to https://login.microsoftonline.com
azureServicePrincipalClientId:
type: string
title: AzureServicePrincipalClientId specifies the client ID of the Azure Service Principal used to access the repo
azureServicePrincipalClientSecret:
type: string
title: AzureServicePrincipalClientSecret specifies the client secret of the Azure Service Principal used to access the repo
azureServicePrincipalTenantId:
type: string
title: AzureServicePrincipalTenantId specifies the tenant ID of the Azure Service Principal used to access the repo
bearerToken:
type: string
title: BearerToken contains the bearer token used for Git BitBucket Data Center auth at the repo server
connectionState:
$ref: '#/definitions/v1alpha1ConnectionState'
depth:
description: Depth specifies the depth for shallow clones. A value of 0 or omitting the field indicates a full clone.
type: integer
format: int64
enableLfs:
description: EnableLFS specifies whether git-lfs support should be enabled for this repo. Only valid for Git repositories.
type: boolean
enableOCI:
type: boolean
title: EnableOCI specifies whether helm-oci support should be enabled for this repo
forceHttpBasicAuth:
type: boolean
title: ForceHttpBasicAuth specifies whether Argo CD should attempt to force basic auth for HTTP connections
gcpServiceAccountKey:
type: string
title: GCPServiceAccountKey specifies the service account key in JSON format to be used for getting credentials to Google Cloud Source repos
githubAppEnterpriseBaseUrl:
type: string
title: GithubAppEnterpriseBaseURL specifies the base URL of GitHub Enterprise installation. If empty will default to https://api.github.com
githubAppID:
type: integer
format: int64
title: GithubAppId specifies the ID of the GitHub app used to access the repo
githubAppInstallationID:
type: integer
format: int64
title: GithubAppInstallationId specifies the installation ID of the GitHub App used to access the repo
githubAppPrivateKey:
type: string
title: Github App Private Key PEM data
inheritedCreds:
type: boolean
title: Whether credentials were inherited from a credential set
insecure:
type: boolean
title: Insecure specifies whether the connection to the repository ignores any errors when verifying TLS certificates or SSH host keys
insecureIgnoreHostKey:
type: boolean
title: 'InsecureIgnoreHostKey should not be used anymore, Insecure is favoured
Used only for Git repos'
insecureOCIForceHttp:
description: InsecureOCIForceHttp specifies whether the connection to the repository uses TLS at _all_. If true, no TLS. This flag is applicable for OCI repos only.
type: boolean
name:
type: string
title: Name specifies a name to be used for this repo. Only used with Helm repos
noProxy:
type: string
title: NoProxy specifies a list of targets where the proxy isn't used, applies only in cases where the proxy is applied
password:
type: string
title: Password contains the password or PAT used for authenticating at the remote repository
project:
type: string
title: Reference between project and repository that allows it to be automatically added as an item inside SourceRepos project entity
proxy:
type: string
title: Proxy specifies the HTTP/HTTPS proxy used to access the repo
repo:
type: string
title: Repo contains the URL to the remote repository
sshPrivateKey:
description: SSHPrivateKey contains the PEM data for authenticating at the repo server. Only used with Git repos.
type: string
tlsClientCertData:
type: string
title: TLSClientCertData contains a certificate in PEM format for authenticating at the repo server
tlsClientCertKey:
type: string
title: TLSClientCertKey contains a private key in PEM format for authenticating at the repo server
type:
description: Type specifies the type of the repo. Can be either "git" or "helm. "git" is assumed if empty or absent.
type: string
useAzureWorkloadIdentity:
type: boolean
title: UseAzureWorkloadIdentity specifies whether to use Azure Workload Identity for authentication
username:
type: string
title: Username contains the user name used for authenticating at the remote repository
webhookManifestCacheWarmDisabled:
description: 'WebhookManifestCacheWarmDisabled disables manifest cache warming during webhook processing for this repository.
When set, webhook handlers will only trigger reconciliation for affected applications and skip Redis cache
operations for unaffected ones. Recommended for large monorepos with plain YAML manifests.'
type: boolean
v1alpha1KustomizeReplica:
type: object
properties:
count:
$ref: '#/definitions/intstrIntOrString'
name:
type: string
title: Name of Deployment or StatefulSet
repositoryHelmAppSpec:
type: object
title: HelmAppSpec contains helm app name in source repo
properties:
fileParameters:
type: array
title: helm file parameters
items:
$ref: '#/definitions/v1alpha1HelmFileParameter'
name:
type: string
parameters:
type: array
title: the output of `helm inspect values`
items:
$ref: '#/definitions/v1alpha1HelmParameter'
valueFiles:
type: array
items:
type: string
values:
type: string
title: the contents of values.yaml
v1alpha1ApplicationSourceHelm:
type: object
title: ApplicationSourceHelm holds helm specific options
properties:
apiVersions:
description: 'APIVersions specifies the Kubernetes resource API versions to pass to Helm when templating manifests. By default,
Argo CD uses the API versions of the target cluster. The format is [group/]version/kind.'
type: array
items:
type: string
fileParameters:
type: array
title: FileParameters are file parameters to the helm template
items:
$ref: '#/definitions/v1alpha1HelmFileParameter'
ignoreMissingValueFiles:
type: boolean
title: IgnoreMissingValueFiles prevents helm template from failing when valueFiles do not exist locally by not appending them to helm template --values
kubeVersion:
description: 'KubeVersion specifies the Kubernetes API version to pass to Helm when templating manifests. By default, Argo CD
uses the Kubernetes version of the target cluster.'
type: string
namespace:
description: Namespace is an optional namespace to template with. If left empty, defaults to the app's destination namespace.
type: string
parameters:
type: array
title: Parameters is a list of Helm parameters which are passed to the helm template command upon manifest generation
items:
$ref: '#/definitions/v1alpha1HelmParameter'
passCredentials:
type: boolean
title: PassCredentials pass credentials to all domains (Helm's --pass-credentials)
releaseName:
type: string
title: ReleaseName is the Helm release name to use. If omitted it will use the application name
skipCrds:
type: boolean
title: SkipCrds skips custom resource definition installation step (Helm's --skip-crds)
skipSchemaValidation:
type: boolean
title: SkipSchemaValidation skips JSON schema validation (Helm's --skip-schema-validation)
skipTests:
description: SkipTests skips test manifest installation step (Helm's --skip-tests).
type: boolean
valueFiles:
type: array
title: ValuesFiles is a list of Helm value files to use when generating a template
items:
type: string
values:
type: string
title: 'Values specifies Helm values to be passed to helm template, typically defined as a block. ValuesObject takes precedence over Values, so use one or the other.
+patchStrategy=replace'
valuesObject:
$ref: '#/definitions/runtimeRawExtension'
version:
type: string
title: Version is the Helm version to use for templating ("3")
intstrIntOrString:
description: '+protobuf=true
+protobuf.options.(gogoproto.goproto_stringer)=false
+k8s:openapi-gen=true'
type: object
title: 'IntOrString is a type that can hold an int32 or a string. When used in
JSON or YAML marshalling and unmarshalling, it produces or consumes the
inner type. This allows you to have, for example, a JSON field that can
accept a name or number.
TODO: Rename to Int32OrString'
properties:
intVal:
type: integer
format: int32
strVal:
type: string
type:
type: integer
format: int64
repositoryRepoAppDetailsResponse:
type: object
title: RepoAppDetailsResponse application details
properties:
directory:
$ref: '#/definitions/repositoryDirectoryAppSpec'
helm:
$ref: '#/definitions/repositoryHelmAppSpec'
kustomize:
$ref: '#/definitions/repositoryKustomizeAppSpec'
plugin:
$ref: '#/definitions/repositoryPluginAppSpec'
type:
type: string
repositoryKustomizeAppSpec:
type: object
title: KustomizeAppSpec contains kustomize images
properties:
images:
description: images is a list of available images.
type: array
items:
type: string
v1alpha1ApplicationSourcePluginParameter:
type: object
properties:
array:
description: Array is the value of an array type parameter.
type: array
items:
type: string
map:
description: Map is the value of a map type parameter.
type: object
additionalProperties:
type: string
name:
description: Name is the name identifying a parameter.
type: string
string:
description: String_ is the value of a string type parameter.
type: string
v1alpha1ApplicationSource:
type: object
title: ApplicationSource contains all required information about the source of an application
properties:
chart:
description: Chart is a Helm chart name, and must be specified for ap
# --- truncated at 32 KB (49 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/argocd/refs/heads/main/openapi/argocd-repositoryservice-api-openapi.yml