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  }