capsuleconnect

package
v0.0.0-...-af36fda Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Nov 11, 2024 License: Apache-2.0 Imports: 6 Imported by: 3

Documentation

Index

Constants

View Source
const (
	// ServiceCreateProcedure is the fully-qualified name of the Service's Create RPC.
	ServiceCreateProcedure = "/api.v1.capsule.Service/Create"
	// ServiceGetProcedure is the fully-qualified name of the Service's Get RPC.
	ServiceGetProcedure = "/api.v1.capsule.Service/Get"
	// ServiceDeleteProcedure is the fully-qualified name of the Service's Delete RPC.
	ServiceDeleteProcedure = "/api.v1.capsule.Service/Delete"
	// ServiceLogsProcedure is the fully-qualified name of the Service's Logs RPC.
	ServiceLogsProcedure = "/api.v1.capsule.Service/Logs"
	// ServiceUpdateProcedure is the fully-qualified name of the Service's Update RPC.
	ServiceUpdateProcedure = "/api.v1.capsule.Service/Update"
	// ServiceListProcedure is the fully-qualified name of the Service's List RPC.
	ServiceListProcedure = "/api.v1.capsule.Service/List"
	// ServiceDeployProcedure is the fully-qualified name of the Service's Deploy RPC.
	ServiceDeployProcedure = "/api.v1.capsule.Service/Deploy"
	// ServiceDeploySetProcedure is the fully-qualified name of the Service's DeploySet RPC.
	ServiceDeploySetProcedure = "/api.v1.capsule.Service/DeploySet"
	// ServiceProposeRolloutProcedure is the fully-qualified name of the Service's ProposeRollout RPC.
	ServiceProposeRolloutProcedure = "/api.v1.capsule.Service/ProposeRollout"
	// ServiceProposeSetRolloutProcedure is the fully-qualified name of the Service's ProposeSetRollout
	// RPC.
	ServiceProposeSetRolloutProcedure = "/api.v1.capsule.Service/ProposeSetRollout"
	// ServiceListProposalsProcedure is the fully-qualified name of the Service's ListProposals RPC.
	ServiceListProposalsProcedure = "/api.v1.capsule.Service/ListProposals"
	// ServiceListSetProposalsProcedure is the fully-qualified name of the Service's ListSetProposals
	// RPC.
	ServiceListSetProposalsProcedure = "/api.v1.capsule.Service/ListSetProposals"
	// ServiceGetProposalsEnabledProcedure is the fully-qualified name of the Service's
	// GetProposalsEnabled RPC.
	ServiceGetProposalsEnabledProcedure = "/api.v1.capsule.Service/GetProposalsEnabled"
	// ServiceListInstancesProcedure is the fully-qualified name of the Service's ListInstances RPC.
	ServiceListInstancesProcedure = "/api.v1.capsule.Service/ListInstances"
	// ServiceRestartInstanceProcedure is the fully-qualified name of the Service's RestartInstance RPC.
	ServiceRestartInstanceProcedure = "/api.v1.capsule.Service/RestartInstance"
	// ServiceGetRolloutProcedure is the fully-qualified name of the Service's GetRollout RPC.
	ServiceGetRolloutProcedure = "/api.v1.capsule.Service/GetRollout"
	// ServiceListRolloutsProcedure is the fully-qualified name of the Service's ListRollouts RPC.
	ServiceListRolloutsProcedure = "/api.v1.capsule.Service/ListRollouts"
	// ServiceWatchRolloutsProcedure is the fully-qualified name of the Service's WatchRollouts RPC.
	ServiceWatchRolloutsProcedure = "/api.v1.capsule.Service/WatchRollouts"
	// ServiceAbortRolloutProcedure is the fully-qualified name of the Service's AbortRollout RPC.
	ServiceAbortRolloutProcedure = "/api.v1.capsule.Service/AbortRollout"
	// ServiceStopRolloutProcedure is the fully-qualified name of the Service's StopRollout RPC.
	ServiceStopRolloutProcedure = "/api.v1.capsule.Service/StopRollout"
	// ServiceListEventsProcedure is the fully-qualified name of the Service's ListEvents RPC.
	ServiceListEventsProcedure = "/api.v1.capsule.Service/ListEvents"
	// ServiceCapsuleMetricsProcedure is the fully-qualified name of the Service's CapsuleMetrics RPC.
	ServiceCapsuleMetricsProcedure = "/api.v1.capsule.Service/CapsuleMetrics"
	// ServiceGetInstanceStatusProcedure is the fully-qualified name of the Service's GetInstanceStatus
	// RPC.
	ServiceGetInstanceStatusProcedure = "/api.v1.capsule.Service/GetInstanceStatus"
	// ServiceListInstanceStatusesProcedure is the fully-qualified name of the Service's
	// ListInstanceStatuses RPC.
	ServiceListInstanceStatusesProcedure = "/api.v1.capsule.Service/ListInstanceStatuses"
	// ServiceWatchInstanceStatusesProcedure is the fully-qualified name of the Service's
	// WatchInstanceStatuses RPC.
	ServiceWatchInstanceStatusesProcedure = "/api.v1.capsule.Service/WatchInstanceStatuses"
	// ServiceExecuteProcedure is the fully-qualified name of the Service's Execute RPC.
	ServiceExecuteProcedure = "/api.v1.capsule.Service/Execute"
	// ServicePortForwardProcedure is the fully-qualified name of the Service's PortForward RPC.
	ServicePortForwardProcedure = "/api.v1.capsule.Service/PortForward"
	// ServiceGetCustomInstanceMetricsProcedure is the fully-qualified name of the Service's
	// GetCustomInstanceMetrics RPC.
	ServiceGetCustomInstanceMetricsProcedure = "/api.v1.capsule.Service/GetCustomInstanceMetrics"
	// ServiceGetJobExecutionsProcedure is the fully-qualified name of the Service's GetJobExecutions
	// RPC.
	ServiceGetJobExecutionsProcedure = "/api.v1.capsule.Service/GetJobExecutions"
	// ServiceGetStatusProcedure is the fully-qualified name of the Service's GetStatus RPC.
	ServiceGetStatusProcedure = "/api.v1.capsule.Service/GetStatus"
	// ServiceGetRevisionProcedure is the fully-qualified name of the Service's GetRevision RPC.
	ServiceGetRevisionProcedure = "/api.v1.capsule.Service/GetRevision"
	// ServiceGetRolloutOfRevisionsProcedure is the fully-qualified name of the Service's
	// GetRolloutOfRevisions RPC.
	ServiceGetRolloutOfRevisionsProcedure = "/api.v1.capsule.Service/GetRolloutOfRevisions"
	// ServiceWatchStatusProcedure is the fully-qualified name of the Service's WatchStatus RPC.
	ServiceWatchStatusProcedure = "/api.v1.capsule.Service/WatchStatus"
	// ServiceGetEffectiveGitSettingsProcedure is the fully-qualified name of the Service's
	// GetEffectiveGitSettings RPC.
	ServiceGetEffectiveGitSettingsProcedure = "/api.v1.capsule.Service/GetEffectiveGitSettings"
	// ServiceStartPipelineProcedure is the fully-qualified name of the Service's StartPipeline RPC.
	ServiceStartPipelineProcedure = "/api.v1.capsule.Service/StartPipeline"
	// ServiceGetPipelineStatusProcedure is the fully-qualified name of the Service's GetPipelineStatus
	// RPC.
	ServiceGetPipelineStatusProcedure = "/api.v1.capsule.Service/GetPipelineStatus"
	// ServicePromotePipelineProcedure is the fully-qualified name of the Service's PromotePipeline RPC.
	ServicePromotePipelineProcedure = "/api.v1.capsule.Service/PromotePipeline"
	// ServiceAbortPipelineProcedure is the fully-qualified name of the Service's AbortPipeline RPC.
	ServiceAbortPipelineProcedure = "/api.v1.capsule.Service/AbortPipeline"
	// ServiceListPipelineStatusesProcedure is the fully-qualified name of the Service's
	// ListPipelineStatuses RPC.
	ServiceListPipelineStatusesProcedure = "/api.v1.capsule.Service/ListPipelineStatuses"
)

These constants are the fully-qualified names of the RPCs defined in this package. They're exposed at runtime as Spec.Procedure and as the final two segments of the HTTP route.

Note that these are different from the fully-qualified method names used by google.golang.org/protobuf/reflect/protoreflect. To convert from these constants to reflection-formatted method names, remove the leading slash and convert the remaining slash to a period.

View Source
const (
	// ServiceName is the fully-qualified name of the Service service.
	ServiceName = "api.v1.capsule.Service"
)

Variables

This section is empty.

Functions

func NewServiceHandler

func NewServiceHandler(svc ServiceHandler, opts ...connect.HandlerOption) (string, http.Handler)

NewServiceHandler builds an HTTP handler from the service implementation. It returns the path on which to mount the handler and the handler itself.

By default, handlers support the Connect, gRPC, and gRPC-Web protocols with the binary Protobuf and JSON codecs. They also support gzip compression.

Types

type ServiceClient

type ServiceClient interface {
	// Create a new capsule.
	Create(context.Context, *connect.Request[capsule.CreateRequest]) (*connect.Response[capsule.CreateResponse], error)
	// Get a capsule by id.
	Get(context.Context, *connect.Request[capsule.GetRequest]) (*connect.Response[capsule.GetResponse], error)
	// Delete a capsule.
	Delete(context.Context, *connect.Request[capsule.DeleteRequest]) (*connect.Response[capsule.DeleteResponse], error)
	// Logs returns (and streams) the log output of a capsule.
	Logs(context.Context, *connect.Request[capsule.LogsRequest]) (*connect.ServerStreamForClient[capsule.LogsResponse], error)
	// Update a capsule.
	Update(context.Context, *connect.Request[capsule.UpdateRequest]) (*connect.Response[capsule.UpdateResponse], error)
	// Lists all capsules for current project.
	List(context.Context, *connect.Request[capsule.ListRequest]) (*connect.Response[capsule.ListResponse], error)
	// Deploy changes to a capsule.
	// When deploying, a new rollout will be initiated. Only one rollout can be
	// running at a single point in time.
	// Use `Abort` to abort an already running rollout.
	Deploy(context.Context, *connect.Request[capsule.DeployRequest]) (*connect.Response[capsule.DeployResponse], error)
	DeploySet(context.Context, *connect.Request[capsule.DeploySetRequest]) (*connect.Response[capsule.DeploySetResponse], error)
	ProposeRollout(context.Context, *connect.Request[capsule.ProposeRolloutRequest]) (*connect.Response[capsule.ProposeRolloutResponse], error)
	ProposeSetRollout(context.Context, *connect.Request[capsule.ProposeSetRolloutRequest]) (*connect.Response[capsule.ProposeSetRolloutResponse], error)
	ListProposals(context.Context, *connect.Request[capsule.ListProposalsRequest]) (*connect.Response[capsule.ListProposalsResponse], error)
	ListSetProposals(context.Context, *connect.Request[capsule.ListSetProposalsRequest]) (*connect.Response[capsule.ListSetProposalsResponse], error)
	GetProposalsEnabled(context.Context, *connect.Request[capsule.GetProposalsEnabledRequest]) (*connect.Response[capsule.GetProposalsEnabledResponse], error)
	// Lists all instances for the capsule.
	ListInstances(context.Context, *connect.Request[capsule.ListInstancesRequest]) (*connect.Response[capsule.ListInstancesResponse], error)
	// Restart a single capsule instance.
	RestartInstance(context.Context, *connect.Request[capsule.RestartInstanceRequest]) (*connect.Response[capsule.RestartInstanceResponse], error)
	// Get a single rollout by ID.
	GetRollout(context.Context, *connect.Request[capsule.GetRolloutRequest]) (*connect.Response[capsule.GetRolloutResponse], error)
	// Lists all rollouts for the capsule.
	ListRollouts(context.Context, *connect.Request[capsule.ListRolloutsRequest]) (*connect.Response[capsule.ListRolloutsResponse], error)
	// Stream rollouts for a capsule.
	WatchRollouts(context.Context, *connect.Request[capsule.WatchRolloutsRequest]) (*connect.ServerStreamForClient[capsule.WatchRolloutsResponse], error)
	// Abort the rollout.
	AbortRollout(context.Context, *connect.Request[capsule.AbortRolloutRequest]) (*connect.Response[capsule.AbortRolloutResponse], error)
	// Stop a Rollout, removing all resources associated with it.
	StopRollout(context.Context, *connect.Request[capsule.StopRolloutRequest]) (*connect.Response[capsule.StopRolloutResponse], error)
	// List capsule events.
	ListEvents(context.Context, *connect.Request[capsule.ListEventsRequest]) (*connect.Response[capsule.ListEventsResponse], error)
	// Get metrics for a capsule
	CapsuleMetrics(context.Context, *connect.Request[capsule.CapsuleMetricsRequest]) (*connect.Response[capsule.CapsuleMetricsResponse], error)
	// GetInstanceStatus returns the current status for the given instance.
	GetInstanceStatus(context.Context, *connect.Request[capsule.GetInstanceStatusRequest]) (*connect.Response[capsule.GetInstanceStatusResponse], error)
	// ListInstanceStatuses lists the status of all instances.
	ListInstanceStatuses(context.Context, *connect.Request[capsule.ListInstanceStatusesRequest]) (*connect.Response[capsule.ListInstanceStatusesResponse], error)
	// Stream Instance Statuses of a capsule.
	WatchInstanceStatuses(context.Context, *connect.Request[capsule.WatchInstanceStatusesRequest]) (*connect.ServerStreamForClient[capsule.WatchInstanceStatusesResponse], error)
	// Execute executes a command in a given in instance,
	// and returns the output along with an exit code.
	Execute(context.Context) *connect.BidiStreamForClient[capsule.ExecuteRequest, capsule.ExecuteResponse]
	// PortForward establishes a port-forwarding for the port to the given
	// instance.
	PortForward(context.Context) *connect.BidiStreamForClient[capsule.PortForwardRequest, capsule.PortForwardResponse]
	GetCustomInstanceMetrics(context.Context, *connect.Request[capsule.GetCustomInstanceMetricsRequest]) (*connect.Response[capsule.GetCustomInstanceMetricsResponse], error)
	// Get list of job executions performed by the Capsule.
	GetJobExecutions(context.Context, *connect.Request[capsule.GetJobExecutionsRequest]) (*connect.Response[capsule.GetJobExecutionsResponse], error)
	GetStatus(context.Context, *connect.Request[capsule.GetStatusRequest]) (*connect.Response[capsule.GetStatusResponse], error)
	GetRevision(context.Context, *connect.Request[capsule.GetRevisionRequest]) (*connect.Response[capsule.GetRevisionResponse], error)
	GetRolloutOfRevisions(context.Context, *connect.Request[capsule.GetRolloutOfRevisionsRequest]) (*connect.Response[capsule.GetRolloutOfRevisionsResponse], error)
	// Stream the status of a capsule.
	WatchStatus(context.Context, *connect.Request[capsule.WatchStatusRequest]) (*connect.ServerStreamForClient[capsule.WatchStatusResponse], error)
	GetEffectiveGitSettings(context.Context, *connect.Request[capsule.GetEffectiveGitSettingsRequest]) (*connect.Response[capsule.GetEffectiveGitSettingsResponse], error)
	// Will initiate the pipeline, from the initial environment and it's current
	// rollout.
	StartPipeline(context.Context, *connect.Request[capsule.StartPipelineRequest]) (*connect.Response[capsule.StartPipelineResponse], error)
	GetPipelineStatus(context.Context, *connect.Request[capsule.GetPipelineStatusRequest]) (*connect.Response[capsule.GetPipelineStatusResponse], error)
	// Progress the pipeline to the next environment.
	PromotePipeline(context.Context, *connect.Request[capsule.PromotePipelineRequest]) (*connect.Response[capsule.PromotePipelineResponse], error)
	// Abort the pipeline execution. This will stop the pipeline from any further
	// promotions.
	AbortPipeline(context.Context, *connect.Request[capsule.AbortPipelineRequest]) (*connect.Response[capsule.AbortPipelineResponse], error)
	ListPipelineStatuses(context.Context, *connect.Request[capsule.ListPipelineStatusesRequest]) (*connect.Response[capsule.ListPipelineStatusesResponse], error)
}

ServiceClient is a client for the api.v1.capsule.Service service.

func NewServiceClient

func NewServiceClient(httpClient connect.HTTPClient, baseURL string, opts ...connect.ClientOption) ServiceClient

NewServiceClient constructs a client for the api.v1.capsule.Service service. By default, it uses the Connect protocol with the binary Protobuf Codec, asks for gzipped responses, and sends uncompressed requests. To use the gRPC or gRPC-Web protocols, supply the connect.WithGRPC() or connect.WithGRPCWeb() options.

The URL supplied here should be the base URL for the Connect or gRPC server (for example, http://api.acme.com or https://acme.com/grpc).

type ServiceHandler

type ServiceHandler interface {
	// Create a new capsule.
	Create(context.Context, *connect.Request[capsule.CreateRequest]) (*connect.Response[capsule.CreateResponse], error)
	// Get a capsule by id.
	Get(context.Context, *connect.Request[capsule.GetRequest]) (*connect.Response[capsule.GetResponse], error)
	// Delete a capsule.
	Delete(context.Context, *connect.Request[capsule.DeleteRequest]) (*connect.Response[capsule.DeleteResponse], error)
	// Logs returns (and streams) the log output of a capsule.
	Logs(context.Context, *connect.Request[capsule.LogsRequest], *connect.ServerStream[capsule.LogsResponse]) error
	// Update a capsule.
	Update(context.Context, *connect.Request[capsule.UpdateRequest]) (*connect.Response[capsule.UpdateResponse], error)
	// Lists all capsules for current project.
	List(context.Context, *connect.Request[capsule.ListRequest]) (*connect.Response[capsule.ListResponse], error)
	// Deploy changes to a capsule.
	// When deploying, a new rollout will be initiated. Only one rollout can be
	// running at a single point in time.
	// Use `Abort` to abort an already running rollout.
	Deploy(context.Context, *connect.Request[capsule.DeployRequest]) (*connect.Response[capsule.DeployResponse], error)
	DeploySet(context.Context, *connect.Request[capsule.DeploySetRequest]) (*connect.Response[capsule.DeploySetResponse], error)
	ProposeRollout(context.Context, *connect.Request[capsule.ProposeRolloutRequest]) (*connect.Response[capsule.ProposeRolloutResponse], error)
	ProposeSetRollout(context.Context, *connect.Request[capsule.ProposeSetRolloutRequest]) (*connect.Response[capsule.ProposeSetRolloutResponse], error)
	ListProposals(context.Context, *connect.Request[capsule.ListProposalsRequest]) (*connect.Response[capsule.ListProposalsResponse], error)
	ListSetProposals(context.Context, *connect.Request[capsule.ListSetProposalsRequest]) (*connect.Response[capsule.ListSetProposalsResponse], error)
	GetProposalsEnabled(context.Context, *connect.Request[capsule.GetProposalsEnabledRequest]) (*connect.Response[capsule.GetProposalsEnabledResponse], error)
	// Lists all instances for the capsule.
	ListInstances(context.Context, *connect.Request[capsule.ListInstancesRequest]) (*connect.Response[capsule.ListInstancesResponse], error)
	// Restart a single capsule instance.
	RestartInstance(context.Context, *connect.Request[capsule.RestartInstanceRequest]) (*connect.Response[capsule.RestartInstanceResponse], error)
	// Get a single rollout by ID.
	GetRollout(context.Context, *connect.Request[capsule.GetRolloutRequest]) (*connect.Response[capsule.GetRolloutResponse], error)
	// Lists all rollouts for the capsule.
	ListRollouts(context.Context, *connect.Request[capsule.ListRolloutsRequest]) (*connect.Response[capsule.ListRolloutsResponse], error)
	// Stream rollouts for a capsule.
	WatchRollouts(context.Context, *connect.Request[capsule.WatchRolloutsRequest], *connect.ServerStream[capsule.WatchRolloutsResponse]) error
	// Abort the rollout.
	AbortRollout(context.Context, *connect.Request[capsule.AbortRolloutRequest]) (*connect.Response[capsule.AbortRolloutResponse], error)
	// Stop a Rollout, removing all resources associated with it.
	StopRollout(context.Context, *connect.Request[capsule.StopRolloutRequest]) (*connect.Response[capsule.StopRolloutResponse], error)
	// List capsule events.
	ListEvents(context.Context, *connect.Request[capsule.ListEventsRequest]) (*connect.Response[capsule.ListEventsResponse], error)
	// Get metrics for a capsule
	CapsuleMetrics(context.Context, *connect.Request[capsule.CapsuleMetricsRequest]) (*connect.Response[capsule.CapsuleMetricsResponse], error)
	// GetInstanceStatus returns the current status for the given instance.
	GetInstanceStatus(context.Context, *connect.Request[capsule.GetInstanceStatusRequest]) (*connect.Response[capsule.GetInstanceStatusResponse], error)
	// ListInstanceStatuses lists the status of all instances.
	ListInstanceStatuses(context.Context, *connect.Request[capsule.ListInstanceStatusesRequest]) (*connect.Response[capsule.ListInstanceStatusesResponse], error)
	// Stream Instance Statuses of a capsule.
	WatchInstanceStatuses(context.Context, *connect.Request[capsule.WatchInstanceStatusesRequest], *connect.ServerStream[capsule.WatchInstanceStatusesResponse]) error
	// Execute executes a command in a given in instance,
	// and returns the output along with an exit code.
	Execute(context.Context, *connect.BidiStream[capsule.ExecuteRequest, capsule.ExecuteResponse]) error
	// PortForward establishes a port-forwarding for the port to the given
	// instance.
	PortForward(context.Context, *connect.BidiStream[capsule.PortForwardRequest, capsule.PortForwardResponse]) error
	GetCustomInstanceMetrics(context.Context, *connect.Request[capsule.GetCustomInstanceMetricsRequest]) (*connect.Response[capsule.GetCustomInstanceMetricsResponse], error)
	// Get list of job executions performed by the Capsule.
	GetJobExecutions(context.Context, *connect.Request[capsule.GetJobExecutionsRequest]) (*connect.Response[capsule.GetJobExecutionsResponse], error)
	GetStatus(context.Context, *connect.Request[capsule.GetStatusRequest]) (*connect.Response[capsule.GetStatusResponse], error)
	GetRevision(context.Context, *connect.Request[capsule.GetRevisionRequest]) (*connect.Response[capsule.GetRevisionResponse], error)
	GetRolloutOfRevisions(context.Context, *connect.Request[capsule.GetRolloutOfRevisionsRequest]) (*connect.Response[capsule.GetRolloutOfRevisionsResponse], error)
	// Stream the status of a capsule.
	WatchStatus(context.Context, *connect.Request[capsule.WatchStatusRequest], *connect.ServerStream[capsule.WatchStatusResponse]) error
	GetEffectiveGitSettings(context.Context, *connect.Request[capsule.GetEffectiveGitSettingsRequest]) (*connect.Response[capsule.GetEffectiveGitSettingsResponse], error)
	// Will initiate the pipeline, from the initial environment and it's current
	// rollout.
	StartPipeline(context.Context, *connect.Request[capsule.StartPipelineRequest]) (*connect.Response[capsule.StartPipelineResponse], error)
	GetPipelineStatus(context.Context, *connect.Request[capsule.GetPipelineStatusRequest]) (*connect.Response[capsule.GetPipelineStatusResponse], error)
	// Progress the pipeline to the next environment.
	PromotePipeline(context.Context, *connect.Request[capsule.PromotePipelineRequest]) (*connect.Response[capsule.PromotePipelineResponse], error)
	// Abort the pipeline execution. This will stop the pipeline from any further
	// promotions.
	AbortPipeline(context.Context, *connect.Request[capsule.AbortPipelineRequest]) (*connect.Response[capsule.AbortPipelineResponse], error)
	ListPipelineStatuses(context.Context, *connect.Request[capsule.ListPipelineStatusesRequest]) (*connect.Response[capsule.ListPipelineStatusesResponse], error)
}

ServiceHandler is an implementation of the api.v1.capsule.Service service.

type UnimplementedServiceHandler

type UnimplementedServiceHandler struct{}

UnimplementedServiceHandler returns CodeUnimplemented from all methods.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL