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