Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Config ¶
type Config struct { Keeper keeper.Config `json:"tide,omitempty"` Plank Plank `json:"plank,omitempty"` BranchProtection branchprotection.Config `json:"branch-protection,omitempty"` Orgs map[string]org.Config `json:"orgs,omitempty"` InRepoConfig InRepoConfig `json:"in_repo_config"` // TODO: Move this out of the main config. Jenkinses []JenkinsConfig `json:"jenkinses,omitempty"` // LighthouseJobNamespace is the namespace in the cluster that lighthouse // components will use for looking up LighthouseJobs. The namespace // needs to exist and will not be created by lighthouse. // Defaults to "default". LighthouseJobNamespace string `json:"prowjob_namespace,omitempty"` // PodNamespace is the namespace in the cluster that lighthouse // components will use for looking up Pods owned by LighthouseJobs. // The namespace needs to exist and will not be created by lighthouse. // Defaults to "default". PodNamespace string `json:"pod_namespace,omitempty"` // LogLevel enables dynamically updating the log level of the // standard logger that is used by all lighthouse components. // // Valid values: // // "debug", "info", "warn", "warning", "error", "fatal", "panic" // // Defaults to "info". LogLevel string `json:"log_level,omitempty"` // PushGateway is a prometheus push gateway. PushGateway PushGateway `json:"push_gateway,omitempty"` // OwnersDirExcludes is used to configure which directories to ignore when // searching for OWNERS{,_ALIAS} files in a repo. OwnersDirExcludes *OwnersDirExcludes `json:"owners_dir_excludes,omitempty"` // Pub/Sub Subscriptions that we want to listen to PubSubSubscriptions PubsubSubscriptions `json:"pubsub_subscriptions,omitempty"` // GitHubOptions allows users to control how lighthouse applications display GitHub website links. GitHubOptions GitHubOptions `json:"github,omitempty"` // ProviderConfig contains optional SCM provider information ProviderConfig *ProviderConfig `json:"providerConfig,omitempty"` }
Config is config for all lighthouse controllers
func (*Config) InRepoConfigEnabled ¶ added in v0.0.825
InRepoConfigEnabled returns whether InRepoConfig is enabled for a given repository.
type Controller ¶
type Controller struct { // JobURLTemplateString compiles into JobURLTemplate at load time. JobURLTemplateString string `json:"job_url_template,omitempty"` // JobURLTemplate is compiled at load time from JobURLTemplateString. It // will be passed a builder.PipelineOptions and is used to set the URL for the // "Details" link on GitHub as well as the link from deck. JobURLTemplate *template.Template `json:"-"` // ReportTemplateString compiles into ReportTemplate at load time. ReportTemplateString string `json:"report_template,omitempty"` // ReportTemplate is compiled at load time from ReportTemplateString. It // will be passed a builder.PipelineOptions and can provide an optional blurb below // the test failures comment. ReportTemplate *template.Template `json:"-"` // MaxConcurrency is the maximum number of tests running concurrently that // will be allowed by the controller. 0 implies no limit. MaxConcurrency int `json:"max_concurrency,omitempty"` // MaxGoroutines is the maximum number of goroutines spawned inside the // controller to handle tests. Defaults to 20. Needs to be a positive // number. MaxGoroutines int `json:"max_goroutines,omitempty"` // AllowCancellations enables aborting presubmit jobs for commits that // have been superseded by newer commits in Github pull requests. AllowCancellations bool `json:"allow_cancellations,omitempty"` }
Controller holds configuration applicable to all agent-specific prow controllers.
func (*Controller) Parse ¶
func (c *Controller) Parse() error
Parse initializes and validates the Config
type GitHubOptions ¶
type GitHubOptions struct { // LinkURLFromConfig is the string representation of the link_url config parameter. // This config parameter allows users to override the default GitHub link url for all plugins. // If this option is not set, we assume "https://github.com". LinkURLFromConfig string `json:"link_url,omitempty"` // LinkURL is the url representation of LinkURLFromConfig. This variable should be used // in all places internally. LinkURL *url.URL }
GitHubOptions allows users to control how prow applications display GitHub website links.
func (*GitHubOptions) Parse ¶
func (c *GitHubOptions) Parse() error
Parse initializes and validates the Config
type InRepoConfig ¶ added in v0.0.825
type InRepoConfig struct { // Enabled describes whether InRepoConfig is enabled for a given repository. This can // be set globally, per org or per repo using '*', 'org' or 'org/repo' as key. The // narrowest match always takes precedence. Enabled map[string]*bool `json:"enabled,omitempty"` }
InRepoConfig to enable configuration inside the source code of a repository
this struct mirrors the similar struct inside lighthouse
type JenkinsConfig ¶ added in v0.0.826
type JenkinsConfig struct { Controller `json:",inline"` // LabelSelectorString compiles into LabelSelector at load time. // If set, this option needs to match --label-selector used by // the desired jenkins-operator. This option is considered // invalid when provided with a single jenkins-operator config. // // For label selector syntax, see below: // https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/#label-selectors LabelSelectorString string `json:"label_selector,omitempty"` // LabelSelector is used so different jenkins-operator replicas // can use their own configuration. LabelSelector labels.Selector `json:"-"` }
JenkinsConfig is config for the Jenkins controller.
func (*JenkinsConfig) Parse ¶ added in v0.0.826
func (c *JenkinsConfig) Parse() error
Parse initializes and validates the Config
type OwnersDirExcludes ¶
type OwnersDirExcludes struct { // Repos configures a directory blacklist per repo (or org) Repos map[string][]string `json:"repos"` // Default configures a default blacklist for repos (or orgs) not // specifically configured Default []string `json:"default"` }
OwnersDirExcludes is used to configure which directories to ignore when searching for OWNERS{,_ALIAS} files in a repo.
type Plank ¶
type Plank struct { // ReportTemplateString compiles into ReportTemplate at load time. ReportTemplateString string `json:"report_template,omitempty"` // ReportTemplate is compiled at load time from ReportTemplateString. It // will be passed a builder.PipelineOptions and can provide an optional blurb below // the test failures comment. ReportTemplate *template.Template `json:"-"` }
Plank is config for the plank controller.
type ProviderConfig ¶
type ProviderConfig struct { // Kind is the go-scm driver name Kind string `json:"kind,omitempty"` // Server is the base URL for the provider, like https://github.com Server string `json:"server,omitempty"` // BotUser is the username on the provider the bot will use BotUser string `json:"botUser,omitempty"` }
ProviderConfig is optionally used to configure information about the SCM provider being used. These values will be used as fallbacks if environment variables aren't set.
type PubsubSubscriptions ¶
PubsubSubscriptions maps GCP projects to a list of Topics.
type PushGateway ¶
type PushGateway struct { // Endpoint is the location of the prometheus pushgateway // where prow will push metrics to. Endpoint string `json:"endpoint,omitempty"` // IntervalString compiles into Interval at load time. IntervalString string `json:"interval,omitempty"` // Interval specifies how often prow will push metrics // to the pushgateway. Defaults to 1m. Interval time.Duration `json:"-"` // ServeMetrics tells if or not the components serve metrics ServeMetrics bool `json:"serve_metrics"` }
PushGateway is a prometheus push gateway.
func (*PushGateway) Parse ¶
func (c *PushGateway) Parse() error
Parse initializes and validates the Config