github.com/argoproj/argo-cd/v3@v3.2.1/reposerver/repository/repository.proto (about) 1 syntax = "proto3"; 2 option go_package = "github.com/argoproj/argo-cd/v3/reposerver/apiclient"; 3 4 package repository; 5 6 import "github.com/argoproj/argo-cd/v3/pkg/apis/application/v1alpha1/generated.proto"; 7 import "google/protobuf/empty.proto"; 8 9 // ManifestRequest is a query for manifest generation. 10 message ManifestRequest { 11 github.com.argoproj.argo_cd.v3.pkg.apis.application.v1alpha1.Repository repo = 1; 12 // revision, potentially un-resolved 13 string revision = 2; 14 bool noCache = 3; 15 string appLabelKey = 4; 16 // Name of the application for which the request is triggered 17 string appName = 5; 18 string namespace = 8; 19 github.com.argoproj.argo_cd.v3.pkg.apis.application.v1alpha1.ApplicationSource applicationSource = 10; 20 repeated github.com.argoproj.argo_cd.v3.pkg.apis.application.v1alpha1.Repository repos = 11; 21 // Deprecated: use sidecar plugins instead. 22 repeated github.com.argoproj.argo_cd.v3.pkg.apis.application.v1alpha1.ConfigManagementPlugin plugins = 12; 23 github.com.argoproj.argo_cd.v3.pkg.apis.application.v1alpha1.KustomizeOptions kustomizeOptions = 13; 24 // KubeVersion is the Kubernetes API version from the destination cluster. 25 string kubeVersion = 14; 26 // ApiVersions is the list of API versions from the destination cluster, used for rendering Helm charts. 27 repeated string apiVersions = 15; 28 // Request to verify the signature when generating the manifests (only for Git repositories) 29 bool verifySignature = 16; 30 repeated github.com.argoproj.argo_cd.v3.pkg.apis.application.v1alpha1.RepoCreds helmRepoCreds = 17; 31 bool noRevisionCache = 18; 32 string trackingMethod = 19; 33 map<string, bool> enabledSourceTypes = 20; 34 github.com.argoproj.argo_cd.v3.pkg.apis.application.v1alpha1.HelmOptions helmOptions = 21; 35 bool hasMultipleSources = 22; 36 map<string, github.com.argoproj.argo_cd.v3.pkg.apis.application.v1alpha1.RefTarget> refSources = 23; 37 // This is used to surface "source not permitted" errors for Helm repositories 38 repeated string projectSourceRepos = 24; 39 // This is used to surface "source not permitted" errors for Helm repositories 40 string projectName = 25; 41 // argocd.argoproj.io/manifest-generate-paths annotation value of the Application to allow optimize which resources propagated to cmpserver 42 string annotationManifestGeneratePaths = 26; 43 // Holds instance installation id 44 string installationID = 27; 45 } 46 47 message ManifestRequestWithFiles { 48 oneof part { 49 ManifestRequest request = 1; 50 ManifestFileMetadata metadata = 2; 51 ManifestFileChunk chunk = 3; 52 } 53 } 54 55 message ManifestFileMetadata { 56 // checksum is used to verify the integrity of the file 57 string checksum = 1; 58 // size relates to the file size in bytes 59 int64 size = 2; 60 } 61 62 message ManifestFileChunk { 63 bytes chunk = 1; 64 } 65 66 // TestRepositoryRequest is a query to test repository is valid or not and has valid access. 67 message TestRepositoryRequest { 68 github.com.argoproj.argo_cd.v3.pkg.apis.application.v1alpha1.Repository repo = 1; 69 } 70 71 // TestRepositoryResponse represents the TestRepository response 72 message TestRepositoryResponse { 73 // Request to verify the signature when generating the manifests (only for Git repositories) 74 bool verifiedRepository = 1; 75 } 76 77 // ResolveRevisionRequest 78 message ResolveRevisionRequest { 79 github.com.argoproj.argo_cd.v3.pkg.apis.application.v1alpha1.Repository repo = 1; 80 github.com.argoproj.argo_cd.v3.pkg.apis.application.v1alpha1.Application app = 2; 81 string ambiguousRevision = 3; 82 int64 sourceIndex = 4; 83 } 84 85 // ResolveRevisionResponse 86 message ResolveRevisionResponse { 87 // returns the resolved revision 88 string revision = 1; 89 string ambiguousRevision = 2; 90 } 91 92 message ManifestResponse { 93 repeated string manifests = 1; 94 string namespace = 2; 95 string server = 3; 96 // resolved revision 97 string revision = 4; 98 string sourceType = 6; 99 // Raw response of git verify-commit operation (always the empty string for Helm) 100 string verifyResult = 7; 101 // Commands is the list of commands used to hydrate the manifests 102 repeated string commands = 8; 103 } 104 105 message ListRefsRequest { 106 github.com.argoproj.argo_cd.v3.pkg.apis.application.v1alpha1.Repository repo = 1; 107 } 108 109 // A subset of the repository's named refs 110 message Refs { 111 repeated string branches = 1; 112 repeated string tags = 2; 113 } 114 115 // ListAppsRequest requests a repository directory structure 116 message ListAppsRequest { 117 github.com.argoproj.argo_cd.v3.pkg.apis.application.v1alpha1.Repository repo = 1; 118 string revision = 2; 119 map<string, bool> enabledSourceTypes = 3; 120 } 121 122 // AppList returns the contents of the repo of a ListApps request 123 message AppList { 124 map<string, string> apps = 1; 125 } 126 127 message PluginInfo { 128 string name = 1; 129 } 130 131 // PluginList returns the list of all cmp v2 plugins running as sidecars 132 message PluginList { 133 repeated PluginInfo items = 1; 134 } 135 136 // RepoServerAppDetailsQuery contains query information for app details request 137 message RepoServerAppDetailsQuery { 138 github.com.argoproj.argo_cd.v3.pkg.apis.application.v1alpha1.Repository repo = 1; 139 github.com.argoproj.argo_cd.v3.pkg.apis.application.v1alpha1.ApplicationSource source = 2; 140 repeated github.com.argoproj.argo_cd.v3.pkg.apis.application.v1alpha1.Repository repos = 3; 141 github.com.argoproj.argo_cd.v3.pkg.apis.application.v1alpha1.KustomizeOptions kustomizeOptions = 4; 142 string appName = 5; 143 bool noCache = 6; 144 bool noRevisionCache = 7; 145 string trackingMethod = 8; 146 map<string, bool> enabledSourceTypes = 9; 147 github.com.argoproj.argo_cd.v3.pkg.apis.application.v1alpha1.HelmOptions helmOptions = 10; 148 map<string, github.com.argoproj.argo_cd.v3.pkg.apis.application.v1alpha1.RefTarget> refSources = 11; 149 } 150 151 // RepoAppDetailsResponse application details 152 message RepoAppDetailsResponse { 153 string type = 1; 154 HelmAppSpec helm = 3; 155 KustomizeAppSpec kustomize = 4; 156 DirectoryAppSpec directory = 5; 157 PluginAppSpec plugin = 6; 158 } 159 160 message RepoServerRevisionMetadataRequest { 161 // the repo 162 github.com.argoproj.argo_cd.v3.pkg.apis.application.v1alpha1.Repository repo = 1; 163 // the revision within the repo 164 string revision = 2; 165 // whether to check signature on revision 166 bool checkSignature = 3; 167 } 168 169 message RepoServerRevisionChartDetailsRequest { 170 // the repo 171 github.com.argoproj.argo_cd.v3.pkg.apis.application.v1alpha1.Repository repo = 1; 172 // the chart 173 string name = 2; 174 // the revision within the chart 175 string revision = 3; 176 } 177 178 // HelmAppSpec contains helm app name in source repo 179 message HelmAppSpec { 180 string name = 1; 181 repeated string valueFiles = 3; 182 // the output of `helm inspect values` 183 repeated github.com.argoproj.argo_cd.v3.pkg.apis.application.v1alpha1.HelmParameter parameters = 4; 184 // the contents of values.yaml 185 string values = 5; 186 // helm file parameters 187 repeated github.com.argoproj.argo_cd.v3.pkg.apis.application.v1alpha1.HelmFileParameter fileParameters = 6; 188 } 189 190 // KustomizeAppSpec contains kustomize images 191 message KustomizeAppSpec { 192 // images is a list of available images. 193 repeated string images = 3; 194 } 195 196 // DirectoryAppSpec contains directory 197 message DirectoryAppSpec { 198 } 199 200 message ParameterAnnouncement { 201 // name is the name identifying a parameter. 202 string name = 1; 203 // title is a human-readable text of the parameter name. 204 string title = 2; 205 // tooltip is a human-readable description of the parameter. 206 string tooltip = 3; 207 // required defines if this given parameter is mandatory. 208 bool required = 4; 209 // itemType determines the primitive data type represented by the parameter. Parameters are always encoded as 210 // strings, but this field lets them be interpreted as other primitive types. 211 string itemType = 5; 212 // collectionType is the type of value this parameter holds - either a single value (a string) or a collection 213 // (array or map). If collectionType is set, only the field with that type will be used. If collectionType is not 214 // set, `string` is the default. If collectionType is set to an invalid value, a validation error is thrown. 215 string collectionType = 6; 216 // string is the default value of the parameter if the parameter is a string. 217 string string = 7; 218 // array is the default value of the parameter if the parameter is an array. 219 repeated string array = 8; 220 // map is the default value of the parameter if the parameter is a map. 221 map<string, string> map = 9; 222 } 223 224 // PluginAppSpec contains details about a plugin-type Application 225 message PluginAppSpec { 226 repeated ParameterAnnouncement parametersAnnouncement = 1; 227 } 228 229 message HelmChartsRequest { 230 github.com.argoproj.argo_cd.v3.pkg.apis.application.v1alpha1.Repository repo = 1; 231 } 232 233 message HelmChart { 234 string name = 1; 235 repeated string versions = 2; 236 } 237 238 message HelmChartsResponse { 239 repeated HelmChart items = 1; 240 } 241 242 message GitFilesRequest { 243 github.com.argoproj.argo_cd.v3.pkg.apis.application.v1alpha1.Repository repo = 1; 244 bool submoduleEnabled = 2; 245 string revision = 3; 246 string path = 4; 247 bool NewGitFileGlobbingEnabled = 5; 248 bool noRevisionCache = 6; 249 bool verifyCommit = 7; 250 } 251 252 message GitFilesResponse { 253 // Map consisting of path of the path to its contents in bytes 254 map<string, bytes> map = 1; 255 } 256 257 message GitDirectoriesRequest { 258 github.com.argoproj.argo_cd.v3.pkg.apis.application.v1alpha1.Repository repo = 1; 259 bool submoduleEnabled = 2; 260 string revision = 3; 261 bool noRevisionCache = 4; 262 bool verifyCommit = 5; 263 } 264 265 message GitDirectoriesResponse { 266 // A set of directory paths 267 repeated string paths = 1; 268 } 269 270 message UpdateRevisionForPathsRequest { 271 github.com.argoproj.argo_cd.v3.pkg.apis.application.v1alpha1.Repository repo = 1; 272 273 string appLabelKey = 2; 274 string appName = 3; 275 string namespace = 4; 276 github.com.argoproj.argo_cd.v3.pkg.apis.application.v1alpha1.ApplicationSource applicationSource = 5; 277 string trackingMethod = 6; 278 map<string, github.com.argoproj.argo_cd.v3.pkg.apis.application.v1alpha1.RefTarget> refSources = 7; 279 string kubeVersion = 8; 280 repeated string apiVersions = 9; 281 bool hasMultipleSources = 10; 282 283 string syncedRevision = 11; 284 string revision = 12; 285 repeated string paths = 13; 286 287 bool noRevisionCache = 14; 288 string installationID = 15; 289 } 290 291 message UpdateRevisionForPathsResponse { 292 // Changes indicates whether any changes were detected in the provided paths. If false, it means that the manifest 293 // cache was updated to the new revision. If true, it means that there are relevant changes in the repo files and 294 // that new manifests should be generated. 295 bool changes = 1; 296 string revision = 2; 297 } 298 299 // ManifestService 300 service RepoServerService { 301 302 // GenerateManifest generates manifest for application in specified repo name and revision 303 rpc GenerateManifest(ManifestRequest) returns (ManifestResponse) { 304 } 305 306 // GenerateManifestWithFiles generates manifest for application using provided tarball of files 307 rpc GenerateManifestWithFiles(stream ManifestRequestWithFiles) returns (ManifestResponse) { 308 } 309 310 // Returns a bool val if the repository is valid and has proper access 311 rpc TestRepository(TestRepositoryRequest) returns (TestRepositoryResponse) { 312 } 313 314 // Returns a valid revision 315 rpc ResolveRevision(ResolveRevisionRequest) returns (ResolveRevisionResponse) { 316 } 317 318 // Returns a list of refs (e.g. branches and tags) in the repo 319 rpc ListRefs(ListRefsRequest) returns (Refs) { 320 } 321 322 // Returns a list of oci tags in the repo 323 rpc ListOCITags(ListRefsRequest) returns (Refs) { 324 } 325 326 // ListApps returns a list of apps in the repo 327 rpc ListApps(ListAppsRequest) returns (AppList) { 328 } 329 330 // ListPlugins returns a list of cmp v2 plugins running as sidecar to reposerver 331 rpc ListPlugins(google.protobuf.Empty) returns (PluginList) { 332 } 333 334 // Generate manifest for application in specified repo name and revision 335 rpc GetAppDetails(RepoServerAppDetailsQuery) returns (RepoAppDetailsResponse) { 336 } 337 338 // Get the meta-data (author, date, tags, message) for a specific revision of the repo 339 rpc GetRevisionMetadata(RepoServerRevisionMetadataRequest) returns (github.com.argoproj.argo_cd.v3.pkg.apis.application.v1alpha1.RevisionMetadata) { 340 } 341 342 // Get the meta-data (author, date, tags, message) for a specific revision of the OCI image 343 rpc GetOCIMetadata(RepoServerRevisionChartDetailsRequest) returns (github.com.argoproj.argo_cd.v3.pkg.apis.application.v1alpha1.OCIMetadata) { 344 } 345 346 // Get the chart details (author, date, tags, message) for a specific revision of the repo 347 rpc GetRevisionChartDetails(RepoServerRevisionChartDetailsRequest) returns (github.com.argoproj.argo_cd.v3.pkg.apis.application.v1alpha1.ChartDetails) { 348 } 349 350 // GetHelmCharts returns list of helm charts in the specified repository 351 rpc GetHelmCharts(HelmChartsRequest) returns (HelmChartsResponse) { 352 } 353 354 // GetGitFiles returns a set of file paths and their contents for the given repo 355 rpc GetGitFiles(GitFilesRequest) returns (GitFilesResponse) { 356 } 357 358 // GetGitDirectories returns a set of directory paths for the given repo 359 rpc GetGitDirectories(GitDirectoriesRequest) returns (GitDirectoriesResponse) { 360 } 361 362 // UpdateRevisionForPaths will compare two revisions and update the cache with the new revision if no changes are detected in the provided paths 363 rpc UpdateRevisionForPaths(UpdateRevisionForPathsRequest) returns (UpdateRevisionForPathsResponse) { 364 } 365 }