diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index adf875b..1a2bf0f 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -1,6 +1,6 @@ repos: - repo: https://github.com/bufbuild/buf - rev: v1.68.4 + rev: v1.71.0 hooks: - id: buf-lint - id: buf-format diff --git a/apis/datasets/v1/core.proto b/apis/datasets/v1/core.proto index 5dec0ec..eb0a5b9 100644 --- a/apis/datasets/v1/core.proto +++ b/apis/datasets/v1/core.proto @@ -1,15 +1,15 @@ /* - Core message type definitions for the Tilebox datasets API. + Core message type definitions for the Tilebox datasets API. - Conventions: - - A dataset is a set of data points of the same type. - - A single data point (entry) is referred to in all messages as datapoint. - - Data points for a single dataset are grouped into collections. + Conventions: + - A dataset is a set of data points of the same type. + - A single data point (entry) is referred to in all messages as datapoint. + - Data points for a single dataset are grouped into collections. - - All time fields use the google.protobuf.Timestamp message type. + - All time fields use the google.protobuf.Timestamp message type. - - When a wrapper message is needed to return a list of a given message type, use the pluralized message name - - e.g. message Collections contains a list of Collection messages. + - When a wrapper message is needed to return a list of a given message type, use the pluralized message name + - e.g. message Collections contains a list of Collection messages. */ edition = "2023"; diff --git a/apis/workflows/v1/core.proto b/apis/workflows/v1/core.proto index 358a422..8f90547 100644 --- a/apis/workflows/v1/core.proto +++ b/apis/workflows/v1/core.proto @@ -261,9 +261,7 @@ message TaskSubmissionGroup { // to enable packed encoding of the repeated fields. repeated bytes inputs = 2 [(buf.validate.field).repeated = { min_items: 1 // we don't allow empty submission groups - items: { - bytes: {max_len: 2048} - } + items: {bytes: {max_len: 2048}} }]; // Index of the task identifier in the identifier_lookup field of the containing TaskSubmissions message // for each task. diff --git a/apis/workflows/v1/workflows.proto b/apis/workflows/v1/workflows.proto index c783969..9cd7f1c 100644 --- a/apis/workflows/v1/workflows.proto +++ b/apis/workflows/v1/workflows.proto @@ -63,6 +63,15 @@ message GetWorkflowRequest { string workflow_slug = 1 [(buf.validate.field).string.min_len = 1]; } +// DeleteWorkflowRequest deletes an existing workflow. +message DeleteWorkflowRequest { + // The slug of the workflow to delete. + string workflow_slug = 1 [(buf.validate.field).string.min_len = 1]; +} + +// DeleteWorkflowResponse is the response to DeleteWorkflowRequest. +message DeleteWorkflowResponse {} + // PublishWorkflowReleaseRequest publishes a new workflow release artifact, and associates it with a workflow. message PublishWorkflowReleaseRequest { string workflow_slug = 1 [(buf.validate.field).string.min_len = 1]; @@ -70,6 +79,17 @@ message PublishWorkflowReleaseRequest { ReleaseContent content = 3 [(buf.validate.field).required = true]; } +// UnpublishWorkflowReleaseRequest unpublishes a specific workflow release. +message UnpublishWorkflowReleaseRequest { + // The slug of the workflow containing the release to unpublish. + string workflow_slug = 1 [(buf.validate.field).string.min_len = 1]; + // The ID of the release to unpublish. + tilebox.v1.ID release_id = 2 [(buf.validate.field).required = true]; +} + +// UnpublishWorkflowReleaseResponse is the response to UnpublishWorkflowReleaseRequest. +message UnpublishWorkflowReleaseResponse {} + // ListWorkflowsRequest lists all workflows. message ListWorkflowsRequest {} @@ -101,6 +121,7 @@ message WorkflowRelease { Artifact artifact = 2; ReleaseContent content = 3; google.protobuf.Timestamp created_at = 4; + repeated Cluster clusters = 5; // List of clusters that the workflow is published to } // Artifact represents the artifact associated with a workflow release, @@ -182,7 +203,9 @@ service WorkflowsService { rpc CreateWorkflow(CreateWorkflowRequest) returns (Workflow); rpc ListWorkflows(ListWorkflowsRequest) returns (ListWorkflowsResponse); rpc GetWorkflow(GetWorkflowRequest) returns (Workflow); + rpc DeleteWorkflow(DeleteWorkflowRequest) returns (DeleteWorkflowResponse); rpc PublishWorkflowRelease(PublishWorkflowReleaseRequest) returns (WorkflowRelease); + rpc UnpublishWorkflowRelease(UnpublishWorkflowReleaseRequest) returns (UnpublishWorkflowReleaseResponse); rpc DeployWorkflowRelease(DeployWorkflowReleaseRequest) returns (DeployWorkflowReleaseResponse); rpc UndeployWorkflowRelease(UndeployWorkflowReleaseRequest) returns (UndeployWorkflowReleaseResponse);