feat: add many things

Signed-off-by: kjuulh <contact@kjuulh.io>
This commit is contained in:
2026-03-08 23:00:03 +01:00
parent 45353089c2
commit 5a5f9a3003
104 changed files with 23417 additions and 2027 deletions

View File

@@ -31,6 +31,10 @@ message ReleaseRequest {
string artifact_id = 1;
repeated string destinations = 2;
repeated string environments = 3;
bool force = 4;
// When true, use the project's release pipeline (DAG) instead of
// deploying directly to the specified destinations/environments.
bool use_pipeline = 5;
}
message ReleaseResponse {
// List of release intents created (one per destination)
@@ -88,6 +92,54 @@ message GetProjectsResponse {
message GetReleasesByActorRequest {
string actor_id = 1; // user_id or app_id
string actor_type = 2; // "user" or "app"
int32 page_size = 3;
string page_token = 4;
}
message GetReleasesByActorResponse {
repeated ReleaseIntentSummary releases = 1;
string next_page_token = 2;
}
message ReleaseIntentSummary {
string release_intent_id = 1;
string artifact_id = 2;
Project project = 3;
repeated ReleaseDestinationStatus destinations = 4;
string created_at = 5;
}
message ReleaseDestinationStatus {
string destination = 1;
string environment = 2;
string status = 3;
}
message GetDestinationStatesRequest {
string organisation = 1;
optional string project = 2;
}
message GetDestinationStatesResponse {
repeated DestinationState destinations = 1;
}
message DestinationState {
string destination_id = 1;
string destination_name = 2;
string environment = 3;
optional string release_id = 4;
optional string artifact_id = 5;
optional string status = 6;
optional string error_message = 7;
optional string queued_at = 8;
optional string completed_at = 9;
optional int32 queue_position = 10;
}
service ReleaseService {
rpc AnnotateRelease(AnnotateReleaseRequest) returns (AnnotateReleaseResponse);
rpc Release(ReleaseRequest) returns (ReleaseResponse);
@@ -95,8 +147,10 @@ service ReleaseService {
rpc GetArtifactBySlug(GetArtifactBySlugRequest) returns (GetArtifactBySlugResponse);
rpc GetArtifactsByProject(GetArtifactsByProjectRequest) returns (GetArtifactsByProjectResponse);
rpc GetReleasesByActor(GetReleasesByActorRequest) returns (GetReleasesByActorResponse);
rpc GetOrganisations(GetOrganisationsRequest) returns (GetOrganisationsResponse);
rpc GetProjects(GetProjectsRequest) returns (GetProjectsResponse);
rpc GetDestinationStates(GetDestinationStatesRequest) returns (GetDestinationStatesResponse);
}
message Source {
@@ -131,6 +185,7 @@ message ArtifactDestination {
string type_organisation = 3;
string type_name = 4;
uint64 type_version = 5;
string status = 6;
}
message Project {