Documentation ¶
Index ¶
- func Start(ctx context.Context, config Config, storage *artefacts.OCIArtefactService, ...) error
- type CommonConfig
- type Config
- type Service
- func (s *Service) Call(ctx context.Context, req *connect.Request[ftlv1.CallRequest]) (*connect.Response[ftlv1.CallResponse], error)
- func (s *Service) CreateDeployment(ctx context.Context, req *connect.Request[ftlv1.CreateDeploymentRequest]) (*connect.Response[ftlv1.CreateDeploymentResponse], error)
- func (s *Service) GetArtefactDiffs(ctx context.Context, req *connect.Request[ftlv1.GetArtefactDiffsRequest]) (*connect.Response[ftlv1.GetArtefactDiffsResponse], error)
- func (s *Service) GetDeployment(ctx context.Context, req *connect.Request[ftlv1.GetDeploymentRequest]) (*connect.Response[ftlv1.GetDeploymentResponse], error)
- func (s *Service) GetDeploymentArtefacts(ctx context.Context, req *connect.Request[ftlv1.GetDeploymentArtefactsRequest], ...) error
- func (s *Service) GetDeploymentContext(ctx context.Context, ...) error
- func (s *Service) GetSchema(ctx context.Context, c *connect.Request[ftlv1.GetSchemaRequest]) (*connect.Response[ftlv1.GetSchemaResponse], error)
- func (s *Service) Ping(ctx context.Context, req *connect.Request[ftlv1.PingRequest]) (*connect.Response[ftlv1.PingResponse], error)
- func (s *Service) ProcessList(ctx context.Context, req *connect.Request[ftlv1.ProcessListRequest]) (*connect.Response[ftlv1.ProcessListResponse], error)
- func (s *Service) PullSchema(ctx context.Context, req *connect.Request[ftlv1.PullSchemaRequest], ...) error
- func (s *Service) RegisterRunner(ctx context.Context, stream *connect.ClientStream[ftlv1.RegisterRunnerRequest]) (*connect.Response[ftlv1.RegisterRunnerResponse], error)
- func (s *Service) ReplaceDeploy(ctx context.Context, c *connect.Request[ftlv1.ReplaceDeployRequest]) (*connect.Response[ftlv1.ReplaceDeployResponse], error)
- func (s *Service) Status(ctx context.Context, req *connect.Request[ftlv1.StatusRequest]) (*connect.Response[ftlv1.StatusResponse], error)
- func (s *Service) StreamDeploymentLogs(ctx context.Context, ...) (*connect.Response[ftlv1.StreamDeploymentLogsResponse], error)
- func (s *Service) UpdateDeploy(ctx context.Context, req *connect.Request[ftlv1.UpdateDeployRequest]) (response *connect.Response[ftlv1.UpdateDeployResponse], err error)
- func (s *Service) UpdateDeploymentRuntime(ctx context.Context, ...) (*connect.Response[ftlv1.UpdateDeploymentRuntimeResponse], error)
- func (s *Service) UploadArtefact(ctx context.Context, req *connect.Request[ftlv1.UploadArtefactRequest]) (*connect.Response[ftlv1.UploadArtefactResponse], error)
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func Start ¶
func Start( ctx context.Context, config Config, storage *artefacts.OCIArtefactService, adminClient ftlv1connect.AdminServiceClient, timelineClient *timeline.Client, conn *sql.DB, devel bool, ) error
Start the Controller. Blocks until the context is cancelled.
Types ¶
type CommonConfig ¶
type CommonConfig struct { IdleRunners int `help:"Number of idle runners to keep around (not supported in production)." default:"3"` WaitFor []string `help:"Wait for these modules to be deployed before becoming ready." placeholder:"MODULE"` CronJobTimeout time.Duration `help:"Timeout for cron jobs." default:"5m"` }
CommonConfig between the production controller and development server.
type Config ¶
type Config struct { Bind *url.URL `help:"Socket to bind to." default:"http://127.0.0.1:8892" env:"FTL_BIND"` Key model.ControllerKey `help:"Controller key (auto)." placeholder:"KEY"` DSN string `help:"DAL DSN." default:"${dsn}" env:"FTL_DSN"` Advertise *url.URL `` /* 135-byte string literal not displayed */ RunnerTimeout time.Duration `help:"Runner heartbeat timeout." default:"10s"` ControllerTimeout time.Duration `help:"Controller heartbeat timeout." default:"10s"` DeploymentReservationTimeout time.Duration `help:"Deployment reservation timeout." default:"120s"` ModuleUpdateFrequency time.Duration `help:"Frequency to send module updates." default:"30s"` ArtefactChunkSize int `help:"Size of each chunk streamed to the client." default:"1048576"` MaxOpenDBConnections int `help:"Maximum number of database connections." default:"20" env:"FTL_MAX_OPEN_DB_CONNECTIONS"` MaxIdleDBConnections int `help:"Maximum number of idle database connections." default:"20" env:"FTL_MAX_IDLE_DB_CONNECTIONS"` CommonConfig }
func (*Config) SetDefaults ¶
func (c *Config) SetDefaults()
type Service ¶
type Service struct {
// contains filtered or unexported fields
}
func New ¶
func New( ctx context.Context, conn *sql.DB, adminClient ftlv1connect.AdminServiceClient, timelineClient *timeline.Client, storage *artefacts.OCIArtefactService, config Config, devel bool, ) (*Service, error)
func (*Service) CreateDeployment ¶
func (*Service) GetArtefactDiffs ¶
func (*Service) GetDeployment ¶
func (*Service) GetDeploymentArtefacts ¶
func (s *Service) GetDeploymentArtefacts(ctx context.Context, req *connect.Request[ftlv1.GetDeploymentArtefactsRequest], resp *connect.ServerStream[ftlv1.GetDeploymentArtefactsResponse]) error
func (*Service) GetDeploymentContext ¶
func (s *Service) GetDeploymentContext(ctx context.Context, req *connect.Request[ftldeployment.GetDeploymentContextRequest], resp *connect.ServerStream[ftldeployment.GetDeploymentContextResponse]) error
GetDeploymentContext retrieves config, secrets and DSNs for a module.
func (*Service) ProcessList ¶
func (*Service) PullSchema ¶
func (s *Service) PullSchema(ctx context.Context, req *connect.Request[ftlv1.PullSchemaRequest], stream *connect.ServerStream[ftlv1.PullSchemaResponse]) error
func (*Service) RegisterRunner ¶
func (s *Service) RegisterRunner(ctx context.Context, stream *connect.ClientStream[ftlv1.RegisterRunnerRequest]) (*connect.Response[ftlv1.RegisterRunnerResponse], error)
func (*Service) ReplaceDeploy ¶
func (*Service) StreamDeploymentLogs ¶
func (s *Service) StreamDeploymentLogs(ctx context.Context, stream *connect.ClientStream[ftlv1.StreamDeploymentLogsRequest]) (*connect.Response[ftlv1.StreamDeploymentLogsResponse], error)
func (*Service) UpdateDeploy ¶
func (*Service) UpdateDeploymentRuntime ¶
func (*Service) UploadArtefact ¶
Directories ¶
Path | Synopsis |
---|---|
Package scheduledtask implements a task scheduler.
|
Package scheduledtask implements a task scheduler. |
Click to show internal directories.
Click to hide internal directories.