provisioner

package
v1.510.0 Latest Latest
Warning

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

Go to latest
Published: Jul 10, 2026 License: MIT Imports: 25 Imported by: 0

Documentation

Overview

Package provisioner provides the session Pod provisioner. The provisioner exposes local health/status endpoints and pulls provision requests from the proxy internal API.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func RunPullClient added in v1.448.0

func RunPullClient(ctx context.Context, srv *Server, cfg PullClientConfig) error

RunPullClient connects this session Pod to the proxy and claims provision requests.

Types

type PullClientConfig added in v1.448.0

type PullClientConfig struct {
	ProxyURL  string
	Token     string
	SessionID string
	PodName   string
	Namespace string
}

type Server

type Server struct {
	// contains filtered or unexported fields
}

Server is the agent-provisioner HTTP server.

func New

func New(port int, settingsFile string) *Server

New creates a new Server.

  • port: TCP port to listen on (e.g. 9001)
  • settingsFile: path to /session-settings/settings.yaml; if this file exists at startup the server auto-provisions from it (Pod restart case).

func (*Server) GetStatus

func (s *Server) GetStatus() Status

GetStatus returns the current status (used by tests).

func (*Server) SetStatusReporter added in v1.448.0

func (s *Server) SetStatusReporter(fn func(Status, string))

SetStatusReporter installs a callback invoked on every status transition.

func (*Server) Start

func (s *Server) Start(ctx context.Context) error

Start starts the HTTP server and blocks until ctx is cancelled or a fatal error occurs.

If settingsFile exists at startup (Pod restart case), provisioning is started automatically in the background before the HTTP server begins accepting requests.

type Status

type Status string

Status represents the provisioning lifecycle state.

const (
	// StatusPending means no provisioning has been triggered yet.
	StatusPending Status = "pending"
	// StatusProvisioning means provisioning is currently in progress.
	StatusProvisioning Status = "provisioning"
	// StatusReady means provisioning completed successfully and agentapi is running.
	StatusReady Status = "ready"
	// StatusError means provisioning failed.
	StatusError Status = "error"
)

type StatusResponse

type StatusResponse struct {
	Status  Status `json:"status"`
	Message string `json:"message,omitempty"`
}

StatusResponse is the JSON body returned by GET /status.

Jump to

Keyboard shortcuts

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