controller

package
v0.410.1 Latest Latest
Warning

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

Go to latest
Published: Dec 12, 2024 License: Apache-2.0 Imports: 53 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Start

func Start(
	ctx context.Context,
	config Config,
	storage *artefacts.OCIArtefactService,
	cm *cf.Manager[configuration.Configuration],
	sm *cf.Manager[configuration.Secrets],
	timelineClient *timeline.Client,
	conn *sql.DB,
	devel bool,
) error

Start the Controller. Blocks until the context is cancelled.

Types

type CommonConfig added in v0.162.0

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_CONTROLLER_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) OpenDBAndInstrument added in v0.369.0

func (c *Config) OpenDBAndInstrument() (*sql.DB, error)

func (*Config) SetDefaults added in v0.19.0

func (c *Config) SetDefaults()

type Service

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

func New

func New(
	ctx context.Context,
	conn *sql.DB,
	cm *cf.Manager[configuration.Configuration],
	sm *cf.Manager[configuration.Secrets],
	timelineClient *timeline.Client,
	storage *artefacts.OCIArtefactService,
	config Config,
	devel bool,
) (*Service, error)

func (*Service) Call

func (*Service) GetDeploymentContext added in v0.409.0

GetDeploymentContext retrieves config, secrets and DSNs for a module.

func (*Service) Ping

func (*Service) ProcessList added in v0.14.0

func (*Service) UpdateDeploy

Directories

Path Synopsis
Package scheduledtask implements a task scheduler.
Package scheduledtask implements a task scheduler.
sql
migrate
Package migrate supports a dbmate-compatible superset of migration files.
Package migrate supports a dbmate-compatible superset of migration files.

Jump to

Keyboard shortcuts

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