| |
| |
| syntax = "proto3"; |
| |
| package bufman.dubbo.apache.org.registry.v1alpha1; |
| |
| import "module/v1alpha1/module.proto"; |
| import "registry/v1alpha1/module.proto"; |
| |
| // PushService is the Push service. |
| service PushService { |
| // Push pushes. |
| // NOTE: Newer clients should use PushManifestAndBlobs. |
| rpc Push(PushRequest) returns (PushResponse) { |
| option idempotency_level = IDEMPOTENT; |
| } |
| // PushManifestAndBlobs pushes a module by encoding it in a manifest and blobs format. |
| rpc PushManifestAndBlobs(PushManifestAndBlobsRequest) returns (PushManifestAndBlobsResponse) { |
| option idempotency_level = IDEMPOTENT; |
| } |
| } |
| |
| // PushRequest specifies the module to push to the BSR. |
| message PushRequest { |
| string owner = 1; |
| string repository = 2; |
| string branch = 3 [deprecated = true]; |
| bufman.dubbo.apache.org.module.v1alpha1.Module module = 4; |
| // Optional; if provided, the provided tags |
| // are created for the pushed commit. |
| repeated string tags = 5; |
| // Optional; if provided, the pushed commit |
| // will be appended to these tracks. If the |
| // tracks do not exist, they will be created. |
| repeated string tracks = 6 [deprecated = true]; |
| // If non-empty, the push creates a draft commit with this name. |
| string draft_name = 7; |
| } |
| |
| // PushResponse is the pushed module pin, local to the used remote. |
| message PushResponse { |
| LocalModulePin local_module_pin = 5; |
| } |
| |
| // PushManifestAndBlobsRequest holds the module to push in the manifest+blobs |
| // encoding format. |
| message PushManifestAndBlobsRequest { |
| string owner = 1; |
| string repository = 2; |
| // Manifest with all the module files being pushed. |
| bufman.dubbo.apache.org.module.v1alpha1.Blob manifest = 3; |
| // Referenced blobs in the manifest. Keep in mind there is not necessarily one |
| // blob per file, but one blob per digest, so for files with exactly the same |
| // content, you can send just one blob. |
| repeated bufman.dubbo.apache.org.module.v1alpha1.Blob blobs = 4; |
| // Optional; if provided, the provided tags |
| // are created for the pushed commit. |
| repeated string tags = 5; |
| // If non-empty, the push creates a draft commit with this name. |
| string draft_name = 6; |
| } |
| |
| // PushManifestAndBlobsResponse is the pushed module pin, local to the used |
| // remote. |
| message PushManifestAndBlobsResponse { |
| LocalModulePin local_module_pin = 1; |
| } |