// Copyright The Helm Authors. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. syntax = "proto3"; package hapi.services.rudder; import "hapi/release/info.proto"; import "hapi/release/release.proto"; option go_package = "rudder"; service ReleaseModuleService { rpc Version(VersionReleaseRequest) returns (VersionReleaseResponse) { } // InstallRelease requests installation of a chart as a new release. rpc InstallRelease(InstallReleaseRequest) returns (InstallReleaseResponse) { } // DeleteRelease requests deletion of a named release. rpc DeleteRelease(DeleteReleaseRequest) returns (DeleteReleaseResponse) { } // RollbackRelease rolls back a release to a previous version. rpc RollbackRelease(RollbackReleaseRequest) returns (RollbackReleaseResponse) { } // UpgradeRelease updates release content. rpc UpgradeRelease(UpgradeReleaseRequest) returns (UpgradeReleaseResponse) { } // ReleaseStatus retrieves release status. rpc ReleaseStatus(ReleaseStatusRequest) returns (ReleaseStatusResponse) { } } message Result { enum Status { // No status set UNKNOWN = 0; // Operation was successful SUCCESS = 1; // Operation had no results (e.g. upgrade identical, rollback to same, delete non-existent) UNCHANGED = 2; // Operation failed ERROR = 3; } string info = 1; repeated string log = 2; } message VersionReleaseRequest { } message VersionReleaseResponse { string name = 1; // The canonical name of the release module string version = 2; // The version of the release module } message InstallReleaseRequest { hapi.release.Release release = 1; } message InstallReleaseResponse { hapi.release.Release release = 1; Result result = 2; } message DeleteReleaseRequest { hapi.release.Release release = 1; } message DeleteReleaseResponse { hapi.release.Release release = 1; Result result = 2; } message UpgradeReleaseRequest{ hapi.release.Release current = 1; hapi.release.Release target = 2; int64 Timeout = 3; bool Wait = 4; bool Recreate = 5; bool Force = 6; } message UpgradeReleaseResponse{ hapi.release.Release release = 1; Result result = 2; } message RollbackReleaseRequest{ hapi.release.Release current = 1; hapi.release.Release target = 2; int64 Timeout = 3; bool Wait = 4; bool Recreate = 5; bool Force = 6; } message RollbackReleaseResponse{ hapi.release.Release release = 1; Result result = 2; } message ReleaseStatusRequest{ hapi.release.Release release = 1; } message ReleaseStatusResponse{ hapi.release.Release release = 1; hapi.release.Info info = 2; }