Documentation
¶
Overview ¶
Package agent provides agent-related API handlers.
Index ¶
- func Handler(logger *slog.Logger, jobClient client.JobClient, signingKey string, ...) []func(e *echo.Echo)
- type Agent
- func (a *Agent) AcceptAgent(ctx context.Context, request gen.AcceptAgentRequestObject) (gen.AcceptAgentResponseObject, error)
- func (a *Agent) DrainAgent(ctx context.Context, request gen.DrainAgentRequestObject) (gen.DrainAgentResponseObject, error)
- func (a *Agent) GetAgentDetails(ctx context.Context, request gen.GetAgentDetailsRequestObject) (gen.GetAgentDetailsResponseObject, error)
- func (a *Agent) GetAgents(ctx context.Context, _ gen.GetAgentsRequestObject) (gen.GetAgentsResponseObject, error)
- func (a *Agent) GetAgentsPending(ctx context.Context, _ gen.GetAgentsPendingRequestObject) (gen.GetAgentsPendingResponseObject, error)
- func (a *Agent) RejectAgent(ctx context.Context, request gen.RejectAgentRequestObject) (gen.RejectAgentResponseObject, error)
- func (a *Agent) UndrainAgent(ctx context.Context, request gen.UndrainAgentRequestObject) (gen.UndrainAgentResponseObject, error)
- type EnrollmentManager
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
Types ¶
type Agent ¶
type Agent struct {
// JobClient provides job-based operations for agent queries.
JobClient client.JobClient
// contains filtered or unexported fields
}
Agent implementation of the Agent APIs operations.
func New ¶
func New( logger *slog.Logger, jobClient client.JobClient, enrollmentMgr EnrollmentManager, ) *Agent
New factory to create a new instance.
func (*Agent) AcceptAgent ¶
func (a *Agent) AcceptAgent( ctx context.Context, request gen.AcceptAgentRequestObject, ) (gen.AcceptAgentResponseObject, error)
AcceptAgent handles POST /agent/{hostname}/accept.
func (*Agent) DrainAgent ¶
func (a *Agent) DrainAgent( ctx context.Context, request gen.DrainAgentRequestObject, ) (gen.DrainAgentResponseObject, error)
DrainAgent handles POST /agent/{hostname}/drain.
func (*Agent) GetAgentDetails ¶
func (a *Agent) GetAgentDetails( ctx context.Context, request gen.GetAgentDetailsRequestObject, ) (gen.GetAgentDetailsResponseObject, error)
GetAgentDetails retrieves detailed information about a specific agent.
func (*Agent) GetAgents ¶
func (a *Agent) GetAgents( ctx context.Context, _ gen.GetAgentsRequestObject, ) (gen.GetAgentsResponseObject, error)
GetAgents discovers all active agents in the fleet.
func (*Agent) GetAgentsPending ¶
func (a *Agent) GetAgentsPending( ctx context.Context, _ gen.GetAgentsPendingRequestObject, ) (gen.GetAgentsPendingResponseObject, error)
GetAgentsPending handles GET /agent/pending.
func (*Agent) RejectAgent ¶
func (a *Agent) RejectAgent( ctx context.Context, request gen.RejectAgentRequestObject, ) (gen.RejectAgentResponseObject, error)
RejectAgent handles POST /agent/{hostname}/reject.
func (*Agent) UndrainAgent ¶
func (a *Agent) UndrainAgent( ctx context.Context, request gen.UndrainAgentRequestObject, ) (gen.UndrainAgentResponseObject, error)
UndrainAgent handles POST /agent/{hostname}/undrain.
type EnrollmentManager ¶
type EnrollmentManager interface {
ListPending(ctx context.Context) ([]enrollment.PendingAgent, error)
AcceptByHostname(ctx context.Context, hostname string) error
AcceptByFingerprint(ctx context.Context, fingerprint string) error
RejectByHostname(ctx context.Context, hostname string, reason string) error
}
EnrollmentManager defines the enrollment operations needed by the agent API handlers. When nil, enrollment endpoints return 500.
Source Files
¶
Click to show internal directories.
Click to hide internal directories.