sigs.k8s.io/prow@v0.0.0-20240503223140-c5e374dc7eb1/pkg/config/prow-config-documented.yaml (about) 1 branch-protection: 2 # AllowDeletions allows deletion of the protected branch by anyone with write access to the repository. 3 allow_deletions: false 4 # AllowDisabledJobPolicies allows a branch to choose to opt out of branch protection 5 # even if Prow has registered required jobs for that branch. 6 allow_disabled_job_policies: false 7 # AllowDisabledPolicies allows a child to disable all protection even if the 8 # branch has inherited protection options from a parent. 9 allow_disabled_policies: false 10 # AllowForcePushes permits force pushes to the protected branch by anyone with write access to the repository. 11 allow_force_pushes: false 12 # Admins overrides whether protections apply to admins if set. 13 enforce_admins: false 14 # Exclude specifies a set of regular expressions which identify branches 15 # that should be excluded from the protection policy, mutually exclusive with Include 16 exclude: 17 - "" 18 # Include specifies a set of regular expressions which identify branches 19 # that should be included from the protection policy, mutually exclusive with Exclude 20 include: 21 - "" 22 # Orgs holds branch protection options for orgs by name 23 orgs: 24 "": 25 # AllowDeletions allows deletion of the protected branch by anyone with write access to the repository. 26 allow_deletions: false 27 # AllowForcePushes permits force pushes to the protected branch by anyone with write access to the repository. 28 allow_force_pushes: false 29 # Admins overrides whether protections apply to admins if set. 30 enforce_admins: false 31 # Exclude specifies a set of regular expressions which identify branches 32 # that should be excluded from the protection policy, mutually exclusive with Include 33 exclude: 34 - "" 35 # Include specifies a set of regular expressions which identify branches 36 # that should be included from the protection policy, mutually exclusive with Exclude 37 include: 38 - "" 39 # Protect overrides whether branch protection is enabled if set. 40 protect: false 41 repos: 42 "": 43 # AllowDeletions allows deletion of the protected branch by anyone with write access to the repository. 44 allow_deletions: false 45 # AllowForcePushes permits force pushes to the protected branch by anyone with write access to the repository. 46 allow_force_pushes: false 47 branches: 48 "": 49 # AllowDeletions allows deletion of the protected branch by anyone with write access to the repository. 50 allow_deletions: false 51 # AllowForcePushes permits force pushes to the protected branch by anyone with write access to the repository. 52 allow_force_pushes: false 53 # Admins overrides whether protections apply to admins if set. 54 enforce_admins: false 55 # Exclude specifies a set of regular expressions which identify branches 56 # that should be excluded from the protection policy, mutually exclusive with Include 57 exclude: 58 - "" 59 # Include specifies a set of regular expressions which identify branches 60 # that should be included from the protection policy, mutually exclusive with Exclude 61 include: 62 - "" 63 # Protect overrides whether branch protection is enabled if set. 64 protect: false 65 # RequireManuallyTriggeredJobs enforces a context presence when job runs conditionally, but not automatically, 66 # that results in params always_run: false, optional: false, and skip_if_only_change, run_if_changed not present. 67 require_manually_triggered_jobs: false 68 # RequiredLinearHistory enforces a linear commit Git history, which prevents anyone from pushing merge commits to a branch. 69 required_linear_history: false 70 # RequiredPullRequestReviews specifies github approval/review criteria. 71 required_pull_request_reviews: 72 # BypassRestrictions appends users/teams that are allowed to bypass PR restrictions 73 bypass_pull_request_allowances: 74 teams: 75 - "" 76 users: 77 - "" 78 # DismissStale overrides whether new commits automatically dismiss old reviews if set 79 dismiss_stale_reviews: false 80 # DismissalRestrictions appends users/teams that are allowed to merge 81 dismissal_restrictions: 82 teams: 83 - "" 84 users: 85 - "" 86 # RequireOwners overrides whether CODEOWNERS must approve PRs if set 87 require_code_owner_reviews: false 88 # Approvals overrides the number of approvals required if set 89 required_approving_review_count: 0 90 # RequiredStatusChecks configures github contexts 91 required_status_checks: 92 # Contexts appends required contexts that must be green to merge 93 contexts: 94 - "" 95 # Strict overrides whether new commits in the base branch require updating the PR if set 96 strict: false 97 # Restrictions limits who can merge 98 restrictions: 99 apps: 100 - "" 101 teams: 102 - "" 103 users: 104 - "" 105 # Unmanaged makes us not manage the branchprotection. 106 unmanaged: false 107 # Admins overrides whether protections apply to admins if set. 108 enforce_admins: false 109 # Exclude specifies a set of regular expressions which identify branches 110 # that should be excluded from the protection policy, mutually exclusive with Include 111 exclude: 112 - "" 113 # Include specifies a set of regular expressions which identify branches 114 # that should be included from the protection policy, mutually exclusive with Exclude 115 include: 116 - "" 117 # Protect overrides whether branch protection is enabled if set. 118 protect: false 119 # RequireManuallyTriggeredJobs enforces a context presence when job runs conditionally, but not automatically, 120 # that results in params always_run: false, optional: false, and skip_if_only_change, run_if_changed not present. 121 require_manually_triggered_jobs: false 122 # RequiredLinearHistory enforces a linear commit Git history, which prevents anyone from pushing merge commits to a branch. 123 required_linear_history: false 124 # RequiredPullRequestReviews specifies github approval/review criteria. 125 required_pull_request_reviews: 126 # BypassRestrictions appends users/teams that are allowed to bypass PR restrictions 127 bypass_pull_request_allowances: 128 teams: 129 - "" 130 users: 131 - "" 132 # DismissStale overrides whether new commits automatically dismiss old reviews if set 133 dismiss_stale_reviews: false 134 # DismissalRestrictions appends users/teams that are allowed to merge 135 dismissal_restrictions: 136 teams: 137 - "" 138 users: 139 - "" 140 # RequireOwners overrides whether CODEOWNERS must approve PRs if set 141 require_code_owner_reviews: false 142 # Approvals overrides the number of approvals required if set 143 required_approving_review_count: 0 144 # RequiredStatusChecks configures github contexts 145 required_status_checks: 146 # Contexts appends required contexts that must be green to merge 147 contexts: 148 - "" 149 # Strict overrides whether new commits in the base branch require updating the PR if set 150 strict: false 151 # Restrictions limits who can merge 152 restrictions: 153 apps: 154 - "" 155 teams: 156 - "" 157 users: 158 - "" 159 # Unmanaged makes us not manage the branchprotection. 160 unmanaged: false 161 # RequireManuallyTriggeredJobs enforces a context presence when job runs conditionally, but not automatically, 162 # that results in params always_run: false, optional: false, and skip_if_only_change, run_if_changed not present. 163 require_manually_triggered_jobs: false 164 # RequiredLinearHistory enforces a linear commit Git history, which prevents anyone from pushing merge commits to a branch. 165 required_linear_history: false 166 # RequiredPullRequestReviews specifies github approval/review criteria. 167 required_pull_request_reviews: 168 # BypassRestrictions appends users/teams that are allowed to bypass PR restrictions 169 bypass_pull_request_allowances: 170 teams: 171 - "" 172 users: 173 - "" 174 # DismissStale overrides whether new commits automatically dismiss old reviews if set 175 dismiss_stale_reviews: false 176 # DismissalRestrictions appends users/teams that are allowed to merge 177 dismissal_restrictions: 178 teams: 179 - "" 180 users: 181 - "" 182 # RequireOwners overrides whether CODEOWNERS must approve PRs if set 183 require_code_owner_reviews: false 184 # Approvals overrides the number of approvals required if set 185 required_approving_review_count: 0 186 # RequiredStatusChecks configures github contexts 187 required_status_checks: 188 # Contexts appends required contexts that must be green to merge 189 contexts: 190 - "" 191 # Strict overrides whether new commits in the base branch require updating the PR if set 192 strict: false 193 # Restrictions limits who can merge 194 restrictions: 195 apps: 196 - "" 197 teams: 198 - "" 199 users: 200 - "" 201 # Unmanaged makes us not manage the branchprotection. 202 unmanaged: false 203 # Protect overrides whether branch protection is enabled if set. 204 protect: false 205 # ProtectTested determines if branch protection rules are set for all repos 206 # that Prow has registered jobs for, regardless of if those repos are in the 207 # branch protection config. 208 protect-tested-repos: false 209 # ProtectReposWithOptionalJobs will make the Branchprotector manage required status 210 # contexts on repositories that only have optional jobs (default: false) 211 protect_repos_with_optional_jobs: false 212 # RequireManuallyTriggeredJobs enforces a context presence when job runs conditionally, but not automatically, 213 # that results in params always_run: false, optional: false, and skip_if_only_change, run_if_changed not present. 214 require_manually_triggered_jobs: false 215 # RequiredLinearHistory enforces a linear commit Git history, which prevents anyone from pushing merge commits to a branch. 216 required_linear_history: false 217 # RequiredPullRequestReviews specifies github approval/review criteria. 218 required_pull_request_reviews: 219 # BypassRestrictions appends users/teams that are allowed to bypass PR restrictions 220 bypass_pull_request_allowances: 221 teams: 222 - "" 223 users: 224 - "" 225 # DismissStale overrides whether new commits automatically dismiss old reviews if set 226 dismiss_stale_reviews: false 227 # DismissalRestrictions appends users/teams that are allowed to merge 228 dismissal_restrictions: 229 teams: 230 - "" 231 users: 232 - "" 233 # RequireOwners overrides whether CODEOWNERS must approve PRs if set 234 require_code_owner_reviews: false 235 # Approvals overrides the number of approvals required if set 236 required_approving_review_count: 0 237 # RequiredStatusChecks configures github contexts 238 required_status_checks: 239 # Contexts appends required contexts that must be green to merge 240 contexts: 241 - "" 242 # Strict overrides whether new commits in the base branch require updating the PR if set 243 strict: false 244 # Restrictions limits who can merge 245 restrictions: 246 apps: 247 - "" 248 teams: 249 - "" 250 users: 251 - "" 252 # Unmanaged makes us not manage the branchprotection. 253 unmanaged: false 254 # The git sha from which this config was generated. 255 config_version_sha: ' ' 256 deck: 257 # AdditionalAllowedBuckets is a list of storage buckets to allow in artifact requests 258 # (in addition to those listed in the GCSConfiguration). 259 # Setting this field requires "SkipStoragePathValidation" also be set to `false`. 260 additional_allowed_buckets: 261 - "" 262 # Branding of the frontend 263 branding: 264 # BackgroundColor is the color of the background. 265 background_color: ' ' 266 # Favicon is the location of the favicon that will be loaded in deck. 267 favicon: ' ' 268 # HeaderColor is the color of the header. 269 header_color: ' ' 270 # Logo is the location of the logo that will be loaded in deck. 271 logo: ' ' 272 # DefaultRerunAuthConfigs is a list of DefaultRerunAuthConfigEntry structures that specify who can 273 # trigger job reruns. Reruns are based on whether the entry's org/repo or cluster matches with the 274 # expected fields in the given configuration. 275 276 # Each entry in the slice specifies Repo and Cluster regexp filter fields to 277 # match against jobs and a corresponding RerunAuthConfig. The entry matching the job with the 278 # most specification is for authentication purposes. 279 280 # This field is smarter than the RerunAuthConfigs, because each 281 # entry includes additional Cluster regexp information that the old format 282 # does not consider. 283 284 # This field is mutually exclusive with the RerunAuthConfigs field. 285 default_rerun_auth_configs: 286 - # Cluster matches against the cluster alias of the build cluster that the 287 # ProwJob is configured to run on. Recall that ProwJobs default to running on 288 # the "default" build cluster if they omit the "cluster" field in config. 289 cluster: ' ' 290 # OrgRepo matches against the "org" or "org/repo" that the presubmit or postsubmit 291 # is associated with. If the job is a periodic, extra_refs[0] is used. If the 292 # job is a periodic without extra_refs, the empty string will be used. 293 # If this field is omitted all jobs will match. 294 repo: ' ' 295 # Config is the RerunAuthConfig to apply if the filter fields all match the 296 # ProwJob. Note that when multiple entries match a ProwJob the entry with the 297 # highest specification is used. 298 rerun_auth_configs: 299 # If AllowAnyone is set to true, any user can rerun the job 300 allow_anyone: true 301 # GitHubOrgs contains names of GitHub organizations whose members can rerun the job 302 github_orgs: 303 - "" 304 # GitHubTeams contains IDs of GitHub teams of users who can rerun the job 305 # If you know the name of a team and the org it belongs to, 306 # you can look up its ID using this command, where the team slug is the hyphenated name: 307 # curl -H "Authorization: token <token>" "https://api.github.com/orgs/<org-name>/teams/<team slug>" 308 # or, to list all teams in a given org, use 309 # curl -H "Authorization: token <token>" "https://api.github.com/orgs/<org-name>/teams" 310 github_team_ids: 311 - 0 312 # GitHubTeamSlugs contains slugs and orgs of teams of users who can rerun the job 313 github_team_slugs: 314 - org: ' ' 315 slug: ' ' 316 # GitHubUsers contains names of individual users who can rerun the job 317 github_users: 318 - "" 319 # ExternalAgentLogs ensures external agents can expose 320 # their logs in prow. 321 external_agent_logs: 322 - # Agent is an external prow agent that supports exposing 323 # logs via deck. 324 agent: ' ' 325 # SelectorString compiles into Selector at load time. 326 selector: ' ' 327 # URLTemplateString compiles into URLTemplate at load time. 328 url_template: ' ' 329 # GoogleAnalytics, if specified, include a Google Analytics tracking code on each page. 330 google_analytics: ' ' 331 # HiddenRepos is a list of orgs and/or repos that should not be displayed by Deck. 332 hidden_repos: 333 - "" 334 # RerunAuthConfigs is not deprecated but DefaultRerunAuthConfigs should be used in favor. 335 # It remains a part of Deck for the purposes of backwards compatibility. 336 # RerunAuthConfigs is a map of configs that specify who is able to trigger job reruns. The field 337 # accepts a key of: `org/repo`, `org` or `*` (wildcard) to define what GitHub org (or repo) a particular 338 # config applies to and a value of: `RerunAuthConfig` struct to define the users/groups authorized to rerun jobs. 339 rerun_auth_configs: 340 "": 341 allow_anyone: true 342 github_orgs: 343 - "" 344 github_team_ids: 345 - 0 346 github_team_slugs: 347 - org: ' ' 348 slug: ' ' 349 github_users: 350 - "" 351 # SkipStoragePathValidation skips validation that restricts artifact requests to specific buckets. 352 # By default, buckets listed in the GCSConfiguration are automatically allowed. 353 # Additional locations can be allowed via `AdditionalAllowedBuckets` fields. 354 # When unspecified (nil), it defaults to false 355 skip_storage_path_validation: false 356 # Spyglass specifies which viewers will be used for which artifacts when viewing a job in Deck. 357 spyglass: 358 # If set, Announcement is used as a Go HTML template string to be displayed at the top of 359 # each spyglass page. Using HTML in the template is acceptable. 360 # Currently the only variable available is .ArtifactPath, which contains the GCS path for the job artifacts. 361 announcement: ' ' 362 # BucketAliases permits a naive URL rewriting functionality. 363 # Keys represent aliases and their values are the authoritative 364 # bucket names they will be substituted with 365 bucket_aliases: 366 "": "" 367 # GCSBrowserPrefix is used to generate a link to a human-usable GCS browser. 368 # If left empty, the link will be not be shown. Otherwise, a GCS path (with no 369 # prefix or scheme) will be appended to GCSBrowserPrefix and shown to the user. 370 gcs_browser_prefix: ' ' 371 # GCSBrowserPrefixesByRepo are used to generate a link to a human-usable GCS browser. 372 # They are mapped by org, org/repo or '*' which is the default value. 373 # These are the most specific and will override GCSBrowserPrefixesByBucket if both are resolved. 374 gcs_browser_prefixes: 375 "": "" 376 # GCSBrowserPrefixesByBucket are used to generate a link to a human-usable GCS browser. 377 # They are mapped by bucket name or '*' which is the default value. 378 # They will only be utilized if there is not a GCSBrowserPrefixesByRepo for the org/repo. 379 gcs_browser_prefixes_by_bucket: 380 "": "" 381 # HidePRHistLink allows prow hiding PR History link from deck, this is handy especially for 382 # prow instances that only serves gerrit. 383 # This might become obsolete once https://github.com/kubernetes/test-infra/issues/24130 is fixed. 384 hide_pr_history_link: true 385 # Lenses is a list of lens configurations. 386 lenses: 387 - # Lens is the lens to use, alongside any lens-specific configuration. 388 lens: 389 # Name is the name of the lens. 390 name: ' ' 391 # OptionalFiles is a list of regexes of file paths that will be provided to the lens if they are 392 # present, but will not preclude the lens being rendered by their absence. 393 # The list entries are ORed together, so if only one of them is present it will be provided to 394 # the lens even if the others are not. 395 optional_files: 396 - "" 397 # RemoteConfig specifies how to access remote lenses. 398 remote_config: 399 # The endpoint for the lense. 400 endpoint: ' ' 401 # HideTitle defines if we will keep showing the title after lens loads. 402 hide_title: false 403 # Priority for lens ordering, lowest priority first. 404 priority: 0 405 # The endpoint for static resources. 406 static_root: ' ' 407 # The human-readable title for the lens. 408 title: ' ' 409 # RequiredFiles is a list of regexes of file paths that must all be present for a lens to appear. 410 # The list entries are ANDed together, i.e. all of them are required. You can achieve an OR 411 # by using a pipe in a regex. 412 required_files: 413 - "" 414 # PRHistLinkTemplate is the template for constructing href of `PR History` button, 415 # by default it's "/pr-history?org={{.Org}}&repo={{.Repo}}&pr={{.Number}}" 416 pr_history_link_template: ' ' 417 # TestGridConfig is the path to the TestGrid config proto. If the path begins with 418 # "gs://" it is assumed to be a GCS reference, otherwise it is read from the local filesystem. 419 # If left blank, TestGrid links will not appear. 420 testgrid_config: ' ' 421 # TestGridRoot is the root URL to the TestGrid frontend, e.g. "https://testgrid.k8s.io/". 422 # If left blank, TestGrid links will not appear. 423 testgrid_root: ' ' 424 # Viewers is deprecated, prefer Lenses instead. 425 # Viewers was a map of Regexp strings to viewer names that defines which sets 426 # of artifacts need to be consumed by which viewers. It is copied in to Lenses at load time. 427 viewers: 428 "": null 429 # TideUpdatePeriod specifies how often Deck will fetch status from Tide. Defaults to 10s. 430 tide_update_period: 0s 431 # DefaultJobTimeout this is default deadline for prow jobs. This value is used when 432 # no timeout is configured at the job level. This value is set to 24 hours. 433 default_job_timeout: 0s 434 # DisabledClusters holds a list of disabled build cluster names. The same context names will be ignored while 435 # Prow components load the kubeconfig files. 436 disabled_clusters: 437 - "" 438 # Gangway contains configurations needed by the the Prow API server of the 439 # same name. It encodes an allowlist of API clients and what kinds of Prow 440 # Jobs they are authorized to trigger. 441 gangway: 442 # AllowedApiClients encodes identifying information about API clients 443 # (AllowedApiClient). An AllowedApiClient has authority to trigger a subset 444 # of Prow Jobs. 445 allowed_api_clients: 446 - # AllowedJobsFilters contains information about what kinds of Prow jobs this 447 # API client is authorized to trigger. 448 allowed_jobs_filters: 449 - tenant_id: ' ' 450 # ApiClientGcp contains GoogleCloudPlatform details about a web API client. 451 # We currently only support GoogleCloudPlatform but other cloud vendors are 452 # possible as additional fields in this struct. 453 gcp: 454 # EndpointApiConsumerNumber is the expected value of the 455 # x-endpoint-api-consumer-number HTTP metadata header. Typically this 456 # encodes the GCP Project number value, which uniquely identifies a GCP 457 # Project. 458 endpoint_api_consumer_number: ' ' 459 # EndpointApiConsumerType is the expected value of the 460 # x-endpoint-api-consumer-type HTTP metadata header. Typically this will be 461 # "PROJECT". 462 endpoint_api_consumer_type: ' ' 463 gerrit: 464 allowed_presubmit_trigger_re: ' ' 465 # DeckURL is the root URL of Deck. This is used to construct links to 466 # job runs for a given CL. 467 deck_url: ' ' 468 org_repos_config: null 469 # TickInterval is how often we do a sync with bound gerrit instance. 470 tick_interval: 0s 471 # GitHubOptions allows users to control how prow applications display GitHub website links. 472 github: 473 # LinkURLFromConfig is the string representation of the link_url config parameter. 474 # This config parameter allows users to override the default GitHub link url for all plugins. 475 # If this option is not set, we assume "https://github.com". 476 link_url: ' ' 477 github_reporter: 478 # JobTypesToReport is used to determine which type of prowjob 479 # should be reported to github. 480 481 # defaults to both presubmit and postsubmit jobs. 482 job_types_to_report: 483 - "" 484 # NoCommentRepos is a list of orgs and org/repos for which failure report 485 # comments should not be maintained. Status contexts will still be written. 486 no_comment_repos: 487 - "" 488 # SummaryCommentRepos is a list of orgs and org/repos for which failure report 489 # comments is only sent when all jobs from current SHA are finished. Status 490 # contexts will still be written. 491 summary_comment_repos: 492 - "" 493 horologium: 494 # TickInterval is the interval in which we check if new jobs need to be 495 # created. Defaults to one minute. 496 tick_interval: 0s 497 in_repo_config: 498 # AllowedClusters is a list of allowed clusternames that can be used for jobs on 499 # a given repo. All clusters that are allowed for the specific repo, its org or 500 # globally can be used. 501 allowed_clusters: 502 "": null 503 # Enabled describes whether InRepoConfig is enabled for a given repository. This can 504 # be set globally, per org or per repo using '*', 'org' or 'org/repo' as key. The 505 # narrowest match always takes precedence. 506 enabled: 507 "": false 508 jenkins_operators: 509 - # JobURLTemplateString compiles into JobURLTemplate at load time. 510 job_url_template: ' ' 511 # LabelSelectorString compiles into LabelSelector at load time. 512 # If set, this option needs to match --label-selector used by 513 # the desired jenkins-operator. This option is considered 514 # invalid when provided with a single jenkins-operator config. 515 516 # For label selector syntax, see below: 517 # https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/#label-selectors 518 label_selector: ' ' 519 # ReportTemplateString compiles into ReportTemplate at load time. 520 report_template: ' ' 521 # ReportTemplateStrings is a mapping of template comments. 522 # Use `org/repo`, `org` or `*` as a key. 523 report_templates: 524 "": "" 525 # LogLevel enables dynamically updating the log level of the 526 # standard logger that is used by all prow components. 527 528 # Valid values: 529 530 # "debug", "info", "warn", "warning", "error", "fatal", "panic" 531 532 # Defaults to "info". 533 log_level: ' ' 534 # ManagedWebhooks contains information about all github repositories and organizations which are using 535 # non-global Hmac token. 536 managed_webhooks: 537 # Controls whether org/repo invitation for prow bot should be automatically 538 # accepted or not. Only admin level invitations related to orgs and repos 539 # in the managed_webhooks config will be accepted and all other invitations 540 # will be left pending. 541 auto_accept_invitation: false 542 org_repo_config: 543 "": 544 token_created_after: "0001-01-01T00:00:00Z" 545 respect_legacy_global_token: false 546 # Moonraker contains configurations for Moonraker, such as the client 547 # timeout to use for all Prow services that need to send requests to 548 # Moonraker. 549 moonraker: 550 client_timeout: 0s 551 # OwnersDirDenylist is used to configure regular expressions matching directories 552 # to ignore when searching for OWNERS{,_ALIAS} files in a repo. 553 owners_dir_denylist: 554 # Default configures a default denylist for all repos (or orgs). 555 # Some directories like ".git", "_output" and "vendor/.*/OWNERS" 556 # are already preconfigured to be denylisted, and need not be included here. 557 default: 558 - "" 559 # By default, some directories like ".git", "_output" and "vendor/.*/OWNERS" 560 # are preconfigured to be denylisted. 561 # If set, IgnorePreconfiguredDefaults will not add these preconfigured directories 562 # to the denylist. 563 ignore_preconfigured_defaults: true 564 # Repos configures a directory denylist per repo (or org). 565 repos: 566 "": null 567 plank: 568 # BuildClusterStatusFile is an optional field used to specify the blob storage location 569 # to publish cluster status information. 570 # e.g. gs://my-bucket/cluster-status.json 571 build_cluster_status_file: ' ' 572 # DefaultDecorationConfigEntries is used to populate DefaultDecorationConfigs. 573 574 # Each entry in the slice specifies Repo and Cluster regexp filter fields to 575 # match against jobs and a corresponding DecorationConfig. All entries that 576 # match a job are used. Later matching entries override the fields of earlier 577 # matching entries. 578 579 # This field is smarter than the DefaultDecorationConfigsMap, because each 580 # entry includes additional Cluster regexp information that the old format 581 # does not consider. 582 583 # This field is mutually exclusive with the DefaultDecorationConfigsMap field. 584 default_decoration_config_entries: 585 - # Cluster matches against the cluster alias of the build cluster that the 586 # ProwJob is configured to run on. Recall that ProwJobs default to running on 587 # the "default" build cluster if they omit the "cluster" field in config. 588 cluster: ' ' 589 # Config is the DecorationConfig to apply if the filter fields all match the 590 # ProwJob. Note that when multiple entries match a ProwJob they are all used 591 # by sequentially merging with later entries overriding fields from earlier 592 # entries. 593 config: 594 # BloblessFetch tells Prow to avoid fetching objects when cloning using 595 # the --filter=blob:none flag. 596 blobless_fetch: false 597 # CensorSecrets enables censoring output logs and artifacts. 598 censor_secrets: false 599 # CensoringOptions exposes options for censoring output logs and artifacts. 600 censoring_options: 601 # CensoringBufferSize is the size in bytes of the buffer allocated for every file 602 # being censored. We want to keep as little of the file in memory as possible in 603 # order for censoring to be reasonably performant in space. However, to guarantee 604 # that we censor every instance of every secret, our buffer size must be at least 605 # two times larger than the largest secret we are about to censor. While that size 606 # is the smallest possible buffer we could use, if the secrets being censored are 607 # small, censoring will not be performant as the number of I/O actions per file 608 # would increase. If unset, defaults to 10MiB. 609 censoring_buffer_size: 0 610 # CensoringConcurrency is the maximum number of goroutines that should be censoring 611 # artifacts and logs at any time. If unset, defaults to 10. 612 censoring_concurrency: 0 613 # ExcludeDirectories are directories which should not have their content censored. If 614 # present, content in these directories will not be censored even if the directory also 615 # matches a glob in IncludeDirectories. Entries in this list are relative to $ARTIFACTS, 616 # and are parsed with the go-zglob library, allowing for globbed matches. 617 exclude_directories: 618 - "" 619 # IncludeDirectories are directories which should have their content censored. If 620 # present, only content in these directories will be censored. Entries in this list 621 # are relative to $ARTIFACTS and are parsed with the go-zglob library, allowing for 622 # globbed matches. 623 include_directories: 624 - "" 625 # CookieFileSecret is the name of a kubernetes secret that contains 626 # a git http.cookiefile, which should be used during the cloning process. 627 cookiefile_secret: "" 628 # DefaultMemoryRequest is the default requested memory on a test container. 629 # If SetLimitEqualsMemoryRequest is also true then the Limit will also be 630 # set the same as this request. Could be overridden by memory request 631 # defined explicitly on prowjob. 632 default_memory_request: "0" 633 # DefaultServiceAccountName is the name of the Kubernetes service account 634 # that should be used by the pod if one is not specified in the podspec. 635 default_service_account_name: "" 636 # FsGroup defines special supplemental group ID used in all containers in a Pod. 637 # This allows to change the ownership of particular volumes by kubelet. 638 # This field will not override the existing ProwJob's PodSecurityContext. 639 # Equivalent to PodSecurityContext's FsGroup 640 fs_group: 0 641 # GCSConfiguration holds options for pushing logs and 642 # artifacts to GCS from a job. 643 gcs_configuration: 644 # Bucket is the bucket to upload to, it can be: 645 # * a GCS bucket: with gs:// prefix 646 # * a S3 bucket: with s3:// prefix 647 # * a GCS bucket: without a prefix (deprecated, it's discouraged to use Bucket without prefix please add the gs:// prefix) 648 bucket: ' ' 649 # CompressFileTypes specify file types that should be gzipped prior to upload. 650 # Matching files will be compressed prior to upload, and the content-encoding on these files will be set to gzip. 651 # GCS will transcode these gzipped files transparently when viewing. See: https://cloud.google.com/storage/docs/transcoding 652 # Example: "txt", "json" 653 # Use "*" for all 654 compress_file_types: 655 - "" 656 # DefaultOrg is omitted from GCS paths when using the 657 # legacy or simple strategy 658 default_org: ' ' 659 # DefaultRepo is omitted from GCS paths when using the 660 # legacy or simple strategy 661 default_repo: ' ' 662 # JobURLPrefix holds the baseURL under which the jobs output can be viewed. 663 # If unset, this will be derived based on org/repo from the job_url_prefix_config. 664 job_url_prefix: ' ' 665 # LocalOutputDir specifies a directory where files should be copied INSTEAD of uploading to blob storage. 666 # This option is useful for testing jobs that use the pod-utilities without actually uploading. 667 local_output_dir: ' ' 668 # MediaTypes holds additional extension media types to add to Go's 669 # builtin's and the local system's defaults. This maps extensions 670 # to media types, for example: MediaTypes["log"] = "text/plain" 671 mediaTypes: 672 "": "" 673 # PathPrefix is an optional path that follows the 674 # bucket name and comes before any structure 675 path_prefix: ' ' 676 # PathStrategy dictates how the org and repo are used 677 # when calculating the full path to an artifact in GCS 678 path_strategy: ' ' 679 # GCSCredentialsSecret is the name of the Kubernetes secret 680 # that holds GCS push credentials. 681 gcs_credentials_secret: "" 682 # GitHubAPIEndpoints are the endpoints of GitHub APIs. 683 github_api_endpoints: 684 - "" 685 # GitHubAppID is the ID of GitHub App, which is going to be used for fetching a private 686 # repository. 687 github_app_id: ' ' 688 # GitHubAppPrivateKeySecret is a Kubernetes secret that contains the GitHub App private key, 689 # which is going to be used for fetching a private repository. 690 github_app_private_key_secret: 691 # Key is the key of the corresponding kubernetes secret that 692 # holds the value of the GitHub App private key. 693 key: ' ' 694 # Name is the name of a kubernetes secret. 695 name: ' ' 696 # GracePeriod is how long the pod utilities will wait 697 # after sending SIGINT to send SIGKILL when aborting 698 # a job. Only applicable if decorating the PodSpec. 699 grace_period: 0s 700 # OauthTokenSecret is a Kubernetes secret that contains the OAuth token, 701 # which is going to be used for fetching a private repository. 702 oauth_token_secret: 703 # Key is the key of the corresponding kubernetes secret that 704 # holds the value of the OAuth token. 705 key: ' ' 706 # Name is the name of a kubernetes secret. 707 name: ' ' 708 # PodPendingTimeout defines how long the controller will wait to perform garbage 709 # collection on pending pods. Specific for OrgRepo or Cluster. If not set, it has a fallback inside plank field. 710 pod_pending_timeout: 0s 711 # PodRunningTimeout defines how long the controller will wait to abort a prowjob pod 712 # stuck in running state. Specific for OrgRepo or Cluster. If not set, it has a fallback inside plank field. 713 pod_running_timeout: 0s 714 # PodUnscheduledTimeout defines how long the controller will wait to abort a prowjob 715 # stuck in an unscheduled state. Specific for OrgRepo or Cluster. If not set, it has a fallback inside plank field. 716 pod_unscheduled_timeout: 0s 717 # Resources holds resource requests and limits for utility 718 # containers used to decorate a PodSpec. 719 resources: 720 clonerefs: 721 limits: 722 "": "0" 723 requests: 724 "": "0" 725 initupload: 726 limits: 727 "": "0" 728 requests: 729 "": "0" 730 place_entrypoint: 731 limits: 732 "": "0" 733 requests: 734 "": "0" 735 sidecar: 736 limits: 737 "": "0" 738 requests: 739 "": "0" 740 # RunAsGroup defines GID of process in all containers running in a Pod. 741 # This field will not override the existing ProwJob's PodSecurityContext. 742 # Equivalent to PodSecurityContext's RunAsGroup 743 run_as_group: 0 744 # RunAsUser defines UID for process in all containers running in a Pod. 745 # This field will not override the existing ProwJob's PodSecurityContext. 746 # Equivalent to PodSecurityContext's RunAsUser 747 run_as_user: 0 748 # S3CredentialsSecret is the name of the Kubernetes secret 749 # that holds blob storage push credentials. 750 s3_credentials_secret: "" 751 # SetLimitEqualsMemoryRequest sets memory limit equal to request. 752 set_limit_equals_memory_request: false 753 # SkipCloning determines if we should clone source code in the 754 # initcontainers for jobs that specify refs 755 skip_cloning: false 756 # SSHHostFingerprints are the fingerprints of known SSH hosts 757 # that the cloning process can trust. 758 # Create with ssh-keyscan [-t rsa] host 759 ssh_host_fingerprints: 760 - "" 761 # SSHKeySecrets are the names of Kubernetes secrets that contain 762 # SSK keys which should be used during the cloning process. 763 ssh_key_secrets: 764 - "" 765 # Timeout is how long the pod utilities will wait 766 # before aborting a job with SIGINT. 767 timeout: 0s 768 # UploadIgnoresInterrupts causes sidecar to ignore interrupts for the upload process in 769 # hope that the test process exits cleanly before starting an upload. 770 upload_ignores_interrupts: false 771 # UtilityImages holds pull specs for utility container 772 # images used to decorate a PodSpec. 773 utility_images: 774 # CloneRefs is the pull spec used for the clonerefs utility 775 clonerefs: ' ' 776 # Entrypoint is the pull spec used for the entrypoint utility 777 entrypoint: ' ' 778 # InitUpload is the pull spec used for the initupload utility 779 initupload: ' ' 780 # sidecar is the pull spec used for the sidecar utility 781 sidecar: ' ' 782 # OrgRepo matches against the "org" or "org/repo" that the presubmit or postsubmit 783 # is associated with. If the job is a periodic, extra_refs[0] is used. If the 784 # job is a periodic without extra_refs, the empty string will be used. 785 # If this field is omitted all jobs will match. 786 repo: ' ' 787 # DefaultDecorationConfigsMap is a mapping from 'org', 'org/repo', or the 788 # literal string '*', to the default decoration config to use for that key. 789 # The '*' key matches all jobs. (Periodics use extra_refs[0] for matching 790 # if present.) 791 792 # This field is mutually exclusive with the DefaultDecorationConfigEntries field. 793 default_decoration_configs: 794 "": 795 # BloblessFetch tells Prow to avoid fetching objects when cloning using 796 # the --filter=blob:none flag. 797 blobless_fetch: false 798 # CensorSecrets enables censoring output logs and artifacts. 799 censor_secrets: false 800 # CensoringOptions exposes options for censoring output logs and artifacts. 801 censoring_options: 802 # CensoringBufferSize is the size in bytes of the buffer allocated for every file 803 # being censored. We want to keep as little of the file in memory as possible in 804 # order for censoring to be reasonably performant in space. However, to guarantee 805 # that we censor every instance of every secret, our buffer size must be at least 806 # two times larger than the largest secret we are about to censor. While that size 807 # is the smallest possible buffer we could use, if the secrets being censored are 808 # small, censoring will not be performant as the number of I/O actions per file 809 # would increase. If unset, defaults to 10MiB. 810 censoring_buffer_size: 0 811 # CensoringConcurrency is the maximum number of goroutines that should be censoring 812 # artifacts and logs at any time. If unset, defaults to 10. 813 censoring_concurrency: 0 814 # ExcludeDirectories are directories which should not have their content censored. If 815 # present, content in these directories will not be censored even if the directory also 816 # matches a glob in IncludeDirectories. Entries in this list are relative to $ARTIFACTS, 817 # and are parsed with the go-zglob library, allowing for globbed matches. 818 exclude_directories: 819 - "" 820 # IncludeDirectories are directories which should have their content censored. If 821 # present, only content in these directories will be censored. Entries in this list 822 # are relative to $ARTIFACTS and are parsed with the go-zglob library, allowing for 823 # globbed matches. 824 include_directories: 825 - "" 826 # CookieFileSecret is the name of a kubernetes secret that contains 827 # a git http.cookiefile, which should be used during the cloning process. 828 cookiefile_secret: "" 829 # DefaultMemoryRequest is the default requested memory on a test container. 830 # If SetLimitEqualsMemoryRequest is also true then the Limit will also be 831 # set the same as this request. Could be overridden by memory request 832 # defined explicitly on prowjob. 833 default_memory_request: "0" 834 # DefaultServiceAccountName is the name of the Kubernetes service account 835 # that should be used by the pod if one is not specified in the podspec. 836 default_service_account_name: "" 837 # FsGroup defines special supplemental group ID used in all containers in a Pod. 838 # This allows to change the ownership of particular volumes by kubelet. 839 # This field will not override the existing ProwJob's PodSecurityContext. 840 # Equivalent to PodSecurityContext's FsGroup 841 fs_group: 0 842 # GCSConfiguration holds options for pushing logs and 843 # artifacts to GCS from a job. 844 gcs_configuration: 845 # Bucket is the bucket to upload to, it can be: 846 # * a GCS bucket: with gs:// prefix 847 # * a S3 bucket: with s3:// prefix 848 # * a GCS bucket: without a prefix (deprecated, it's discouraged to use Bucket without prefix please add the gs:// prefix) 849 bucket: ' ' 850 # CompressFileTypes specify file types that should be gzipped prior to upload. 851 # Matching files will be compressed prior to upload, and the content-encoding on these files will be set to gzip. 852 # GCS will transcode these gzipped files transparently when viewing. See: https://cloud.google.com/storage/docs/transcoding 853 # Example: "txt", "json" 854 # Use "*" for all 855 compress_file_types: 856 - "" 857 # DefaultOrg is omitted from GCS paths when using the 858 # legacy or simple strategy 859 default_org: ' ' 860 # DefaultRepo is omitted from GCS paths when using the 861 # legacy or simple strategy 862 default_repo: ' ' 863 # JobURLPrefix holds the baseURL under which the jobs output can be viewed. 864 # If unset, this will be derived based on org/repo from the job_url_prefix_config. 865 job_url_prefix: ' ' 866 # LocalOutputDir specifies a directory where files should be copied INSTEAD of uploading to blob storage. 867 # This option is useful for testing jobs that use the pod-utilities without actually uploading. 868 local_output_dir: ' ' 869 # MediaTypes holds additional extension media types to add to Go's 870 # builtin's and the local system's defaults. This maps extensions 871 # to media types, for example: MediaTypes["log"] = "text/plain" 872 mediaTypes: 873 "": "" 874 # PathPrefix is an optional path that follows the 875 # bucket name and comes before any structure 876 path_prefix: ' ' 877 # PathStrategy dictates how the org and repo are used 878 # when calculating the full path to an artifact in GCS 879 path_strategy: ' ' 880 # GCSCredentialsSecret is the name of the Kubernetes secret 881 # that holds GCS push credentials. 882 gcs_credentials_secret: "" 883 # GitHubAPIEndpoints are the endpoints of GitHub APIs. 884 github_api_endpoints: 885 - "" 886 # GitHubAppID is the ID of GitHub App, which is going to be used for fetching a private 887 # repository. 888 github_app_id: ' ' 889 # GitHubAppPrivateKeySecret is a Kubernetes secret that contains the GitHub App private key, 890 # which is going to be used for fetching a private repository. 891 github_app_private_key_secret: 892 # Key is the key of the corresponding kubernetes secret that 893 # holds the value of the GitHub App private key. 894 key: ' ' 895 # Name is the name of a kubernetes secret. 896 name: ' ' 897 # GracePeriod is how long the pod utilities will wait 898 # after sending SIGINT to send SIGKILL when aborting 899 # a job. Only applicable if decorating the PodSpec. 900 grace_period: 0s 901 # OauthTokenSecret is a Kubernetes secret that contains the OAuth token, 902 # which is going to be used for fetching a private repository. 903 oauth_token_secret: 904 # Key is the key of the corresponding kubernetes secret that 905 # holds the value of the OAuth token. 906 key: ' ' 907 # Name is the name of a kubernetes secret. 908 name: ' ' 909 # PodPendingTimeout defines how long the controller will wait to perform garbage 910 # collection on pending pods. Specific for OrgRepo or Cluster. If not set, it has a fallback inside plank field. 911 pod_pending_timeout: 0s 912 # PodRunningTimeout defines how long the controller will wait to abort a prowjob pod 913 # stuck in running state. Specific for OrgRepo or Cluster. If not set, it has a fallback inside plank field. 914 pod_running_timeout: 0s 915 # PodUnscheduledTimeout defines how long the controller will wait to abort a prowjob 916 # stuck in an unscheduled state. Specific for OrgRepo or Cluster. If not set, it has a fallback inside plank field. 917 pod_unscheduled_timeout: 0s 918 # Resources holds resource requests and limits for utility 919 # containers used to decorate a PodSpec. 920 resources: 921 clonerefs: 922 limits: 923 "": "0" 924 requests: 925 "": "0" 926 initupload: 927 limits: 928 "": "0" 929 requests: 930 "": "0" 931 place_entrypoint: 932 limits: 933 "": "0" 934 requests: 935 "": "0" 936 sidecar: 937 limits: 938 "": "0" 939 requests: 940 "": "0" 941 # RunAsGroup defines GID of process in all containers running in a Pod. 942 # This field will not override the existing ProwJob's PodSecurityContext. 943 # Equivalent to PodSecurityContext's RunAsGroup 944 run_as_group: 0 945 # RunAsUser defines UID for process in all containers running in a Pod. 946 # This field will not override the existing ProwJob's PodSecurityContext. 947 # Equivalent to PodSecurityContext's RunAsUser 948 run_as_user: 0 949 # S3CredentialsSecret is the name of the Kubernetes secret 950 # that holds blob storage push credentials. 951 s3_credentials_secret: "" 952 # SetLimitEqualsMemoryRequest sets memory limit equal to request. 953 set_limit_equals_memory_request: false 954 # SkipCloning determines if we should clone source code in the 955 # initcontainers for jobs that specify refs 956 skip_cloning: false 957 # SSHHostFingerprints are the fingerprints of known SSH hosts 958 # that the cloning process can trust. 959 # Create with ssh-keyscan [-t rsa] host 960 ssh_host_fingerprints: 961 - "" 962 # SSHKeySecrets are the names of Kubernetes secrets that contain 963 # SSK keys which should be used during the cloning process. 964 ssh_key_secrets: 965 - "" 966 # Timeout is how long the pod utilities will wait 967 # before aborting a job with SIGINT. 968 timeout: 0s 969 # UploadIgnoresInterrupts causes sidecar to ignore interrupts for the upload process in 970 # hope that the test process exits cleanly before starting an upload. 971 upload_ignores_interrupts: false 972 # UtilityImages holds pull specs for utility container 973 # images used to decorate a PodSpec. 974 utility_images: 975 # CloneRefs is the pull spec used for the clonerefs utility 976 clonerefs: ' ' 977 # Entrypoint is the pull spec used for the entrypoint utility 978 entrypoint: ' ' 979 # InitUpload is the pull spec used for the initupload utility 980 initupload: ' ' 981 # sidecar is the pull spec used for the sidecar utility 982 sidecar: ' ' 983 # JobQueueCapacities is an optional field used to define job queue max concurrency. 984 # Each job can be assigned to a specific queue which has its own max concurrency, 985 # independent from the job's name. Setting the concurrency to 0 will block any job 986 # from being triggered. Setting the concurrency to a negative value will remove the 987 # limit. An example use case would be easier scheduling of jobs using boskos resources. 988 # This mechanism is separate from ProwJob's MaxConcurrency setting. 989 job_queue_capacities: 990 "": 0 991 # JobURLPrefixConfig is the host and path prefix under which job details 992 # will be viewable. Use `org/repo`, `org` or `*`as key and an url as value. 993 job_url_prefix_config: 994 "": "" 995 # JobURLTemplateString compiles into JobURLTemplate at load time. 996 job_url_template: ' ' 997 # JobURLPrefixDisableAppendStorageProvider disables that the storageProvider is 998 # automatically appended to the JobURLPrefix. 999 jobURLPrefixDisableAppendStorageProvider: true 1000 # PodPendingTimeout defines how long the controller will wait to perform a garbage 1001 # collection on pending pods. Defaults to 10 minutes. 1002 pod_pending_timeout: 0s 1003 # PodRunningTimeout defines how long the controller will wait to abort a prowjob pod 1004 # stuck in running state. Defaults to two days. 1005 pod_running_timeout: 0s 1006 # PodUnscheduledTimeout defines how long the controller will wait to abort a prowjob 1007 # stuck in an unscheduled state. Defaults to 5 minutes. 1008 pod_unscheduled_timeout: 0s 1009 # ReportTemplateString compiles into ReportTemplate at load time. 1010 report_template: ' ' 1011 # ReportTemplateStrings is a mapping of template comments. 1012 # Use `org/repo`, `org` or `*` as a key. 1013 report_templates: 1014 "": "" 1015 # PodNamespace is the namespace in the cluster that prow 1016 # components will use for looking up Pods owned by ProwJobs. 1017 # The namespace needs to exist and will not be created by prow. 1018 # Defaults to "default". 1019 pod_namespace: ' ' 1020 # ProwJobDefaultEntries holds a list of defaults for specific values 1021 # Each entry in the slice specifies Repo and CLuster regexp filter fields to 1022 # match against the jobs and a corresponding ProwJobDefault . All entries that 1023 # match a job are used. Later matching entries override the fields of earlier 1024 # matching entires. 1025 prowjob_default_entries: 1026 - # Cluster matches against the cluster alias of the build cluster that the 1027 # ProwJob is configured to run on. Recall that ProwJobs default to running on 1028 # the "default" build cluster if they omit the "cluster" field in config. 1029 cluster: ' ' 1030 # Config is the ProwJobDefault to apply if the filter fields all match the 1031 # ProwJob. Note that when multiple entries match a ProwJob they are all used 1032 # by sequentially merging with later entries overriding fields from earlier 1033 # entries. 1034 config: 1035 resultstore_config: 1036 # ProjectID specifies the ResultStore InvocationAttributes.ProjectID, used 1037 # for various quota and GUI access control purposes. 1038 # In practice, it is generally the same as the Google Cloud Project ID or 1039 # number of the job's GCS storage bucket. 1040 # Required to upload results to ResultStore. 1041 project_id: ' ' 1042 tenant_id: ' ' 1043 # OrgRepo matches against the "org" or "org/repo" that the presubmit or postsubmit 1044 # is associated with. If the job is a periodic, extra_refs[0] is used. If the 1045 # job is a periodic without extra_refs, the empty string will be used. 1046 # If this field is omitted all jobs will match. 1047 repo: ' ' 1048 # ProwJobNamespace is the namespace in the cluster that prow 1049 # components will use for looking up ProwJobs. The namespace 1050 # needs to exist and will not be created by prow. 1051 # Defaults to "default". 1052 prowjob_namespace: ' ' 1053 # Pub/Sub Subscriptions that we want to listen to. 1054 pubsub_subscriptions: 1055 "": null 1056 # PubSubTriggers defines Pub/Sub Subscriptions that we want to listen to, 1057 # can be used to restrict build cluster on a topic. 1058 pubsub_triggers: 1059 - allowed_clusters: 1060 - "" 1061 max_outstanding_messages: 0 1062 project: ' ' 1063 topics: 1064 - "" 1065 # PushGateway is a prometheus push gateway. 1066 push_gateway: 1067 # Endpoint is the location of the prometheus pushgateway 1068 # where prow will push metrics to. 1069 endpoint: ' ' 1070 # Interval specifies how often prow will push metrics 1071 # to the pushgateway. Defaults to 1m. 1072 interval: 0s 1073 # ServeMetrics tells if or not the components serve metrics. 1074 serve_metrics: false 1075 # Scheduler contains configuration for the additional scheduler. 1076 # It has to be explicitly enabled. 1077 scheduler: 1078 enabled: true 1079 # Scheduling strategies 1080 failover: 1081 # ClusterMappings maps a cluster to another one. It is used when we 1082 # want to schedule a ProJob to a cluster other than the one it was 1083 # configured to in the first place. 1084 mappings: 1085 "": "" 1086 sinker: 1087 # ExcludeClusters are build clusters that don't want to be managed by sinker. 1088 exclude_clusters: 1089 - "" 1090 # MaxPodAge is how old a Pod can be before it is garbage-collected. 1091 # Defaults to one day. 1092 max_pod_age: 0s 1093 # MaxProwJobAge is how old a ProwJob can be before it is garbage-collected. 1094 # Defaults to one week. 1095 max_prowjob_age: 0s 1096 # ResyncPeriod is how often the controller will perform a garbage 1097 # collection. Defaults to one hour. 1098 resync_period: 0s 1099 # TerminatedPodTTL is how long a Pod can live after termination before it is 1100 # garbage collected. 1101 # Defaults to matching MaxPodAge. 1102 terminated_pod_ttl: 0s 1103 slack_reporter_configs: 1104 "": 1105 channel: ' ' 1106 host: ' ' 1107 job_states_to_report: 1108 - "" 1109 job_types_to_report: 1110 - "" 1111 report: false 1112 report_template: ' ' 1113 # StatusErrorLink is the url that will be used for jenkins prowJobs that can't be 1114 # found, or have another generic issue. The default that will be used if this is not set 1115 # is: https://github.com/kubernetes/test-infra/issues. 1116 status_error_link: ' ' 1117 tide: 1118 # BatchSizeLimitMap is a key/value pair of an org or org/repo as the key and 1119 # integer batch size limit as the value. Use "*" as key to set a global default. 1120 # Special values: 1121 # 0 => unlimited batch size 1122 # -1 => batch merging disabled :( 1123 batch_size_limit: 1124 "": 0 1125 # BlockerLabel is an optional label that is used to identify merge blocking 1126 # GitHub issues. 1127 # Leave this blank to disable this feature and save 1 API token per sync loop. 1128 blocker_label: ' ' 1129 # TideContextPolicyOptions defines merge options for context. If not set it will infer 1130 # the required and optional contexts from the prow jobs configured and use the github 1131 # combined status; otherwise it may apply the branch protection setting or let user 1132 # define their own options in case branch protection is not used. 1133 context_options: 1134 # Infer required and optional jobs from Branch Protection configuration 1135 from-branch-protection: false 1136 optional-contexts: 1137 - "" 1138 # GitHub Orgs 1139 orgs: 1140 "": 1141 # Infer required and optional jobs from Branch Protection configuration 1142 from-branch-protection: false 1143 optional-contexts: 1144 - "" 1145 repos: 1146 "": 1147 branches: 1148 "": 1149 # Infer required and optional jobs from Branch Protection configuration 1150 from-branch-protection: false 1151 optional-contexts: 1152 - "" 1153 required-contexts: 1154 - "" 1155 required-if-present-contexts: 1156 - "" 1157 # whether to consider unknown contexts optional (skip) or required. 1158 skip-unknown-contexts: false 1159 # Infer required and optional jobs from Branch Protection configuration 1160 from-branch-protection: false 1161 optional-contexts: 1162 - "" 1163 required-contexts: 1164 - "" 1165 required-if-present-contexts: 1166 - "" 1167 # whether to consider unknown contexts optional (skip) or required. 1168 skip-unknown-contexts: false 1169 required-contexts: 1170 - "" 1171 required-if-present-contexts: 1172 - "" 1173 # whether to consider unknown contexts optional (skip) or required. 1174 skip-unknown-contexts: false 1175 required-contexts: 1176 - "" 1177 required-if-present-contexts: 1178 - "" 1179 # whether to consider unknown contexts optional (skip) or required. 1180 skip-unknown-contexts: false 1181 # DisplayAllQueriesInStatus controls if Tide should mention all queries in the status it 1182 # creates. The default is to only mention the one to which we are closest (Calculated 1183 # by total number of requirements - fulfilled number of requirements). 1184 display_all_tide_queries_in_status: true 1185 gerrit: 1186 queries: 1187 - filters: 1188 branches: 1189 - "" 1190 excluded_branches: 1191 - "" 1192 opt_in_by_default: true 1193 opt_out_help: true 1194 org: ' ' 1195 repos: 1196 - "" 1197 # A key/value pair of an org/repo as the key and Go template to override 1198 # the default merge commit title and/or message. Template is passed the 1199 # PullRequest struct (prow/github/types.go#PullRequest) 1200 merge_commit_template: 1201 "": 1202 body: ' ' 1203 title: ' ' 1204 # MergeLabel is an optional label that is used to identify PRs that should 1205 # always be merged with all individual commits from the PR. 1206 # Leave this blank to disable this feature. 1207 merge_label: ' ' 1208 # A key/value pair of an org/repo as the key and merge method to override 1209 # the default method of merge. Valid options are squash, rebase, and merge. 1210 merge_method: 1211 "": ' ' 1212 # PRStatusBaseURL is the base URL for the PR status page. 1213 # This is used to link to a merge requirements overview 1214 # in the tide status context. 1215 # Will be deprecated on June 2020. 1216 pr_status_base_url: ' ' 1217 # PRStatusBaseURLs is the base URL for the PR status page 1218 # mapped by org or org/repo level. 1219 pr_status_base_urls: 1220 "": "" 1221 # PrioritizeExistingBatches configures on org or org/repo level if Tide should continue 1222 # testing pre-existing batches instead of immediately including new PRs as they become 1223 # eligible. Continuing on an old batch allows to re-use all existing test results whereas 1224 # starting a new one requires to start new instances of all tests. 1225 # Use '*' as key to set this globally. Defaults to true. 1226 prioritize_existing_batches: 1227 "": false 1228 # Priority is an ordered list of sets of labels that would be prioritized before other PRs 1229 # PRs should match all labels contained in a set to be prioritized. The first entry has 1230 # the highest priority. 1231 priority: 1232 - labels: 1233 - "" 1234 # Queries represents a list of GitHub search queries that collectively 1235 # specify the set of PRs that meet merge requirements. 1236 queries: 1237 - author: ' ' 1238 excludedBranches: 1239 - "" 1240 excludedRepos: 1241 - "" 1242 includedBranches: 1243 - "" 1244 labels: 1245 - "" 1246 milestone: ' ' 1247 missingLabels: 1248 - "" 1249 orgs: 1250 - "" 1251 repos: 1252 - "" 1253 reviewApprovedRequired: true 1254 # RebaseLabel is an optional label that is used to identify PRs that should 1255 # always be rebased and merged. 1256 # Leave this blank to disable this feature. 1257 rebase_label: ' ' 1258 # SquashLabel is an optional label that is used to identify PRs that should 1259 # always be squash merged. 1260 # Leave this blank to disable this feature. 1261 squash_label: ' ' 1262 # StatusUpdatePeriod specifies how often Tide will update GitHub status contexts. 1263 # Defaults to the value of SyncPeriod. 1264 status_update_period: 0s 1265 # SyncPeriod specifies how often Tide will sync jobs with GitHub. Defaults to 1m. 1266 sync_period: 0s 1267 # URL for tide status contexts. 1268 # We can consider allowing this to be set separately for separate repos, or 1269 # allowing it to be a template. 1270 target_url: ' ' 1271 # TargetURLs is a map from "*", <org>, or <org/repo> to the URL for the tide status contexts. 1272 # The most specific key that matches will be used. 1273 # This field is mutually exclusive with TargetURL. 1274 target_urls: 1275 "": ""