Documentation
¶
Index ¶
- Variables
- type Client
- func (c *Client) Close() error
- func (c *Client) Ping(ctx context.Context) error
- func (c *Client) SyncComplete(ctx context.Context, unitName unit.ID) error
- func (c *Client) SyncReady(ctx context.Context, unitName unit.ID) (bool, error)
- func (c *Client) SyncStart(ctx context.Context, unitName unit.ID) error
- func (c *Client) SyncStatus(ctx context.Context, unitName unit.ID) (SyncStatusResponse, error)
- func (c *Client) SyncWant(ctx context.Context, unitName, dependsOn unit.ID) error
- func (c *Client) UpdateAppStatus(ctx context.Context, req *agentproto.UpdateAppStatusRequest) (*agentproto.UpdateAppStatusResponse, error)
- type DRPCAgentSocketService
- func (s *DRPCAgentSocketService) ClearAgentAPI()
- func (*DRPCAgentSocketService) Ping(_ context.Context, _ *proto.PingRequest) (*proto.PingResponse, error)
- func (s *DRPCAgentSocketService) SetAgentAPI(api agentproto.DRPCAgentClient28)
- func (s *DRPCAgentSocketService) SyncComplete(_ context.Context, req *proto.SyncCompleteRequest) (*proto.SyncCompleteResponse, error)
- func (s *DRPCAgentSocketService) SyncReady(_ context.Context, req *proto.SyncReadyRequest) (*proto.SyncReadyResponse, error)
- func (s *DRPCAgentSocketService) SyncStart(_ context.Context, req *proto.SyncStartRequest) (*proto.SyncStartResponse, error)
- func (s *DRPCAgentSocketService) SyncStatus(_ context.Context, req *proto.SyncStatusRequest) (*proto.SyncStatusResponse, error)
- func (s *DRPCAgentSocketService) SyncWant(_ context.Context, req *proto.SyncWantRequest) (*proto.SyncWantResponse, error)
- func (s *DRPCAgentSocketService) UpdateAppStatus(ctx context.Context, req *agentproto.UpdateAppStatusRequest) (*agentproto.UpdateAppStatusResponse, error)
- type DependencyInfo
- type Option
- type Server
- type SyncStatusResponse
Constants ¶
This section is empty.
Variables ¶
var ( ErrUnitManagerNotAvailable = xerrors.New("unit manager not available") ErrAgentAPINotConnected = xerrors.New("agent not connected to coderd") )
Functions ¶
This section is empty.
Types ¶
type Client ¶
type Client struct {
// contains filtered or unexported fields
}
Client provides a client for communicating with the workspace agentsocket API.
func NewClient ¶
NewClient creates a new socket client and opens a connection to the socket. If path is not provided via WithPath or is empty, it will auto-discover the default socket path.
func (*Client) SyncComplete ¶
SyncComplete marks a unit as complete in the dependency graph.
func (*Client) SyncReady ¶
SyncReady requests whether a unit is ready to be started. That is, all dependencies are satisfied.
func (*Client) SyncStatus ¶
SyncStatus gets the status of a unit and its dependencies.
func (*Client) UpdateAppStatus ¶ added in v2.32.0
func (c *Client) UpdateAppStatus(ctx context.Context, req *agentproto.UpdateAppStatusRequest) (*agentproto.UpdateAppStatusResponse, error)
UpdateAppStatus forwards an app status update to coderd via the agent.
type DRPCAgentSocketService ¶
type DRPCAgentSocketService struct {
// contains filtered or unexported fields
}
DRPCAgentSocketService implements the DRPC agent socket service.
func (*DRPCAgentSocketService) ClearAgentAPI ¶ added in v2.32.0
func (s *DRPCAgentSocketService) ClearAgentAPI()
ClearAgentAPI clears the agent API client. This is called when the agent disconnects from coderd.
func (*DRPCAgentSocketService) Ping ¶
func (*DRPCAgentSocketService) Ping(_ context.Context, _ *proto.PingRequest) (*proto.PingResponse, error)
Ping responds to a ping request to check if the service is alive.
func (*DRPCAgentSocketService) SetAgentAPI ¶ added in v2.32.0
func (s *DRPCAgentSocketService) SetAgentAPI(api agentproto.DRPCAgentClient28)
SetAgentAPI sets the agent API client used to forward requests to coderd. This is called when the agent connects to coderd.
func (*DRPCAgentSocketService) SyncComplete ¶
func (s *DRPCAgentSocketService) SyncComplete(_ context.Context, req *proto.SyncCompleteRequest) (*proto.SyncCompleteResponse, error)
SyncComplete marks a unit as complete in the dependency graph.
func (*DRPCAgentSocketService) SyncReady ¶
func (s *DRPCAgentSocketService) SyncReady(_ context.Context, req *proto.SyncReadyRequest) (*proto.SyncReadyResponse, error)
SyncReady checks whether a unit is ready to be started. That is, all dependencies are satisfied.
func (*DRPCAgentSocketService) SyncStart ¶
func (s *DRPCAgentSocketService) SyncStart(_ context.Context, req *proto.SyncStartRequest) (*proto.SyncStartResponse, error)
SyncStart starts a unit in the dependency graph.
func (*DRPCAgentSocketService) SyncStatus ¶
func (s *DRPCAgentSocketService) SyncStatus(_ context.Context, req *proto.SyncStatusRequest) (*proto.SyncStatusResponse, error)
SyncStatus gets the status of a unit and lists its dependencies.
func (*DRPCAgentSocketService) SyncWant ¶
func (s *DRPCAgentSocketService) SyncWant(_ context.Context, req *proto.SyncWantRequest) (*proto.SyncWantResponse, error)
SyncWant declares a dependency between units.
func (*DRPCAgentSocketService) UpdateAppStatus ¶ added in v2.32.0
func (s *DRPCAgentSocketService) UpdateAppStatus(ctx context.Context, req *agentproto.UpdateAppStatusRequest) (*agentproto.UpdateAppStatusResponse, error)
UpdateAppStatus forwards an app status update to coderd via the agent API. Returns an error if the agent is not connected.
type DependencyInfo ¶
type DependencyInfo struct {
DependsOn unit.ID `table:"depends on,default_sort" json:"depends_on"`
RequiredStatus unit.Status `table:"required status" json:"required_status"`
CurrentStatus unit.Status `table:"current status" json:"current_status"`
IsSatisfied bool `table:"satisfied" json:"is_satisfied"`
}
DependencyInfo contains information about a unit dependency.
type Server ¶
type Server struct {
// contains filtered or unexported fields
}
Server provides access to the DRPCAgentSocketService via a Unix domain socket. Do not invoke Server{} directly. Use NewServer() instead.
func (*Server) ClearAgentAPI ¶ added in v2.32.0
func (s *Server) ClearAgentAPI()
ClearAgentAPI clears the agent API client.
func (*Server) SetAgentAPI ¶ added in v2.32.0
func (s *Server) SetAgentAPI(api agentproto.DRPCAgentClient28)
SetAgentAPI sets the agent API client used to forward requests to coderd.
type SyncStatusResponse ¶
type SyncStatusResponse struct {
UnitName unit.ID `table:"unit,default_sort" json:"unit_name"`
Status unit.Status `table:"status" json:"status"`
IsReady bool `table:"ready" json:"is_ready"`
Dependencies []DependencyInfo `table:"dependencies" json:"dependencies"`
}
SyncStatusResponse contains the status information for a unit.