chore: update api.ServiceClient interface to include service creation and removal

This commit is contained in:
Pavel Sviderski
2025-04-21 12:48:21 +10:00
parent f08d9fe405
commit 45497fd20c
3 changed files with 9 additions and 7 deletions
+2
View File
@@ -45,7 +45,9 @@ type MachineClient interface {
} }
type ServiceClient interface { type ServiceClient interface {
RunService(ctx context.Context, spec ServiceSpec) (RunServiceResponse, error)
InspectService(ctx context.Context, id string) (Service, error) InspectService(ctx context.Context, id string) (Service, error)
RemoveService(ctx context.Context, id string) error
} }
type VolumeClient interface { type VolumeClient interface {
+5
View File
@@ -253,6 +253,11 @@ func (e EnvVars) ToSlice() []string {
return env return env
} }
type RunServiceResponse struct {
ID string
Name string
}
type Service struct { type Service struct {
ID string ID string
Name string Name string
+2 -7
View File
@@ -18,13 +18,8 @@ import (
"google.golang.org/grpc/status" "google.golang.org/grpc/status"
) )
type RunServiceResponse struct { func (cli *Client) RunService(ctx context.Context, spec api.ServiceSpec) (api.RunServiceResponse, error) {
ID string var resp api.RunServiceResponse
Name string
}
func (cli *Client) RunService(ctx context.Context, spec api.ServiceSpec) (RunServiceResponse, error) {
var resp RunServiceResponse
if err := spec.Validate(); err != nil { if err := spec.Validate(); err != nil {
return resp, fmt.Errorf("invalid service spec: %w", err) return resp, fmt.Errorf("invalid service spec: %w", err)