github.com/argoproj/argo-cd/v2@v2.10.9/server/repository/repository.proto (about) 1 syntax = "proto3"; 2 option go_package = "github.com/argoproj/argo-cd/v2/pkg/apiclient/repository"; 3 4 // Repository Service 5 // 6 // Repository Service API performs CRUD actions against repository resources 7 package repository; 8 9 import "google/api/annotations.proto"; 10 import "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1/generated.proto"; 11 import "github.com/argoproj/argo-cd/v2/reposerver/repository/repository.proto"; 12 13 // RepoAppsQuery is a query for Repository apps 14 message RepoAppsQuery { 15 string repo = 1; 16 string revision = 2; 17 string appName = 3; 18 string appProject = 4; 19 } 20 21 22 // AppInfo contains application type and app file path 23 message AppInfo { 24 string type = 1; 25 string path = 2; 26 } 27 28 // RepoAppDetailsQuery contains query information for app details request 29 message RepoAppDetailsQuery { 30 github.com.argoproj.argo_cd.v2.pkg.apis.application.v1alpha1.ApplicationSource source = 1; 31 string appName = 2; 32 string appProject = 3; 33 } 34 35 // RepoAppsResponse contains applications of specified repository 36 message RepoAppsResponse { 37 repeated AppInfo items = 1; 38 } 39 40 // RepoQuery is a query for Repository resources 41 message RepoQuery { 42 // Repo URL for query 43 string repo = 1; 44 // Whether to force a cache refresh on repo's connection state 45 bool forceRefresh = 2; 46 } 47 48 // RepoAccessQuery is a query for checking access to a repo 49 message RepoAccessQuery { 50 // The URL to the repo 51 string repo = 1; 52 // Username for accessing repo 53 string username = 2; 54 // Password for accessing repo 55 string password = 3; 56 // Private key data for accessing SSH repository 57 string sshPrivateKey = 4; 58 // Whether to skip certificate or host key validation 59 bool insecure = 5; 60 // TLS client cert data for accessing HTTPS repository 61 string tlsClientCertData = 6; 62 // TLS client cert key for accessing HTTPS repository 63 string tlsClientCertKey = 7; 64 // The type of the repo 65 string type = 9; 66 // The name of the repo 67 string name = 10; 68 // Whether helm-oci support should be enabled for this repo 69 bool enableOci = 11; 70 // Github App Private Key PEM data 71 string githubAppPrivateKey = 12; 72 // Github App ID of the app used to access the repo 73 int64 githubAppID = 13; 74 // Github App Installation ID of the installed GitHub App 75 int64 githubAppInstallationID = 14; 76 // Github App Enterprise base url if empty will default to https://api.github.com 77 string githubAppEnterpriseBaseUrl = 15; 78 // HTTP/HTTPS proxy to access the repository 79 string proxy = 16; 80 // Reference between project and repository that allow you automatically to be added as item inside SourceRepos project entity 81 string project = 17; 82 // Google Cloud Platform service account key 83 string gcpServiceAccountKey = 18; 84 // Whether to force HTTP basic auth 85 bool forceHttpBasicAuth = 19; 86 } 87 88 message RepoResponse {} 89 90 // RepoCreateRequest is a request for creating repository config 91 message RepoCreateRequest { 92 // Repository definition 93 github.com.argoproj.argo_cd.v2.pkg.apis.application.v1alpha1.Repository repo = 1; 94 // Whether to create in upsert mode 95 bool upsert = 2; 96 // Whether to operate on credential set instead of repository 97 bool credsOnly = 3; 98 } 99 100 message RepoUpdateRequest { 101 github.com.argoproj.argo_cd.v2.pkg.apis.application.v1alpha1.Repository repo = 1; 102 } 103 104 // RepositoryService 105 service RepositoryService { 106 107 // List returns list of repos or repository credentials 108 rpc List(RepoQuery) returns (github.com.argoproj.argo_cd.v2.pkg.apis.application.v1alpha1.RepositoryList) { 109 option (google.api.http).get = "/api/v1/repositories"; 110 option deprecated = true; 111 } 112 113 // Get returns a repository or its credentials 114 rpc Get(RepoQuery) returns (github.com.argoproj.argo_cd.v2.pkg.apis.application.v1alpha1.Repository) { 115 option (google.api.http).get = "/api/v1/repositories/{repo}"; 116 } 117 118 // ListRepositories gets a list of all configured repositories 119 rpc ListRepositories(RepoQuery) returns (github.com.argoproj.argo_cd.v2.pkg.apis.application.v1alpha1.RepositoryList) { 120 option (google.api.http).get = "/api/v1/repositories"; 121 } 122 123 rpc ListRefs(RepoQuery) returns (Refs) { 124 option (google.api.http).get = "/api/v1/repositories/{repo}/refs"; 125 } 126 127 // ListApps returns list of apps in the repo 128 rpc ListApps(RepoAppsQuery) returns (RepoAppsResponse) { 129 option (google.api.http).get = "/api/v1/repositories/{repo}/apps"; 130 } 131 132 // GetAppDetails returns application details by given path 133 rpc GetAppDetails(RepoAppDetailsQuery) returns (repository.RepoAppDetailsResponse) { 134 option (google.api.http) = { 135 post: "/api/v1/repositories/{source.repoURL}/appdetails" 136 body: "*" 137 }; 138 } 139 140 // GetHelmCharts returns list of helm charts in the specified repository 141 rpc GetHelmCharts(RepoQuery) returns (repository.HelmChartsResponse) { 142 option (google.api.http).get = "/api/v1/repositories/{repo}/helmcharts"; 143 } 144 145 // Create creates a repo or a repo credential set 146 rpc Create(RepoCreateRequest) returns (github.com.argoproj.argo_cd.v2.pkg.apis.application.v1alpha1.Repository) { 147 option (google.api.http) = { 148 post: "/api/v1/repositories" 149 body: "repo" 150 }; 151 option deprecated = true; 152 } 153 154 // CreateRepository creates a new repository configuration 155 rpc CreateRepository(RepoCreateRequest) returns (github.com.argoproj.argo_cd.v2.pkg.apis.application.v1alpha1.Repository) { 156 option (google.api.http) = { 157 post: "/api/v1/repositories" 158 body: "repo" 159 }; 160 } 161 162 // Update updates a repo or repo credential set 163 rpc Update(RepoUpdateRequest) returns (github.com.argoproj.argo_cd.v2.pkg.apis.application.v1alpha1.Repository) { 164 option (google.api.http) = { 165 put: "/api/v1/repositories/{repo.repo}" 166 body: "repo" 167 }; 168 option deprecated = true; 169 } 170 171 // UpdateRepository updates a repository configuration 172 rpc UpdateRepository(RepoUpdateRequest) returns (github.com.argoproj.argo_cd.v2.pkg.apis.application.v1alpha1.Repository) { 173 option (google.api.http) = { 174 put: "/api/v1/repositories/{repo.repo}" 175 body: "repo" 176 }; 177 } 178 179 // Delete deletes a repository from the configuration 180 rpc Delete(RepoQuery) returns (RepoResponse) { 181 option (google.api.http).delete = "/api/v1/repositories/{repo}"; 182 option deprecated = true; 183 } 184 185 // DeleteRepository deletes a repository from the configuration 186 rpc DeleteRepository(RepoQuery) returns (RepoResponse) { 187 option (google.api.http).delete = "/api/v1/repositories/{repo}"; 188 } 189 190 // ValidateAccess validates access to a repository with given parameters 191 rpc ValidateAccess(RepoAccessQuery) returns (RepoResponse) { 192 option (google.api.http) = { 193 post: "/api/v1/repositories/{repo}/validate" 194 body: "repo" 195 }; 196 } 197 }