Documentation
¶
Overview ¶
Package daemon configures and starts the otfd daemon and its subsystems.
Index ¶
Constants ¶
This section is empty.
Variables ¶
View Source
var ErrInvalidSecretLength = errors.New("secret must be 16 bytes in size")
Functions ¶
func ApplyDefaults ¶
func ApplyDefaults(cfg *Config)
Types ¶
type Config ¶
type Config struct {
AgentConfig *agent.Config
CacheConfig *inmem.CacheConfig
GithubHostname string
GithubClientID string
GithubClientSecret string
GitlabHostname string
GitlabClientID string
GitlabClientSecret string
BitbucketServerHostname string
OIDC authenticator.OIDCConfig
Secret []byte // 16-byte secret for signing URLs and encrypting payloads
SiteToken string
Host string
WebhookHost string
Address string
Database string
MaxConfigSize int64
SSL bool
CertFile, KeyFile string
EnableRequestLogging bool
DevMode bool
DisableScheduler bool
RestrictOrganizationCreation bool
SiteAdmins []string
SkipTLSVerification bool
// skip checks for latest terraform version
DisableLatestChecker *bool
// ProviderProxy configures tofutf's built in provider proxy.
ProviderProxy struct {
URL string
IsArtifactory bool
}
tokens.GoogleIAPConfig
}
Config configures the otfd daemon. Descriptions of each field can be found in the flag definitions in ./cmd/otfd
type Daemon ¶
type Daemon struct {
Config
logr.Logger
*sql.DB
Organizations *organization.Service
Runs *run.Service
Workspaces *workspace.Service
Variables *variable.Service
Notifications *notifications.Service
Logs *logs.Service
State *state.Service
Configs *configversion.Service
Modules *module.Service
Providers *provider.Service
VCSProviders *vcsprovider.Service
Tokens *tokens.Service
Teams *team.Service
Users *user.Service
GithubApp *github.Service
RepoHooks *repohooks.Service
Agents *agent.Service
Connections *connections.Service
System *internal.HostnameService
// contains filtered or unexported fields
}
type Startable ¶
Startable is a blocking process that is started at least once, and upon error, may need re-starting.
type Subsystem ¶
type Subsystem struct {
// Name of subsystem
Name string
// System is the underlying system to be invoked and supervised.
System Startable
// Exclusive: permit only one instance of this subsystem on an OTF
// cluster
Exclusive bool
// DB for obtaining cluster-wide lock. Must be non-nil if Exclusive is
// true.
DB subsystemDB
// Cluster-unique lock ID. Must be non-nil if Exclusive is true.
LockID *int64
logr.Logger
}
Subsystem is an automonous system subordinate to the main daemon (otfd).
Click to show internal directories.
Click to hide internal directories.