diff --git a/pkg/api/client.go b/pkg/api/client.go index 524870c1..757dce79 100644 --- a/pkg/api/client.go +++ b/pkg/api/client.go @@ -45,7 +45,9 @@ type MachineClient interface { } type ServiceClient interface { + RunService(ctx context.Context, spec ServiceSpec) (RunServiceResponse, error) InspectService(ctx context.Context, id string) (Service, error) + RemoveService(ctx context.Context, id string) error } type VolumeClient interface { diff --git a/pkg/api/service.go b/pkg/api/service.go index 986a08aa..e953a1cb 100644 --- a/pkg/api/service.go +++ b/pkg/api/service.go @@ -253,6 +253,11 @@ func (e EnvVars) ToSlice() []string { return env } +type RunServiceResponse struct { + ID string + Name string +} + type Service struct { ID string Name string diff --git a/pkg/client/service.go b/pkg/client/service.go index f3d611ee..415348f4 100644 --- a/pkg/client/service.go +++ b/pkg/client/service.go @@ -18,13 +18,8 @@ import ( "google.golang.org/grpc/status" ) -type RunServiceResponse struct { - ID string - Name string -} - -func (cli *Client) RunService(ctx context.Context, spec api.ServiceSpec) (RunServiceResponse, error) { - var resp RunServiceResponse +func (cli *Client) RunService(ctx context.Context, spec api.ServiceSpec) (api.RunServiceResponse, error) { + var resp api.RunServiceResponse if err := spec.Validate(); err != nil { return resp, fmt.Errorf("invalid service spec: %w", err)