github.com/zppinho/prow@v0.0.0-20240510014325-1738badeb017/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 claims: 722 - name: ' ' 723 limits: 724 "": "0" 725 requests: 726 "": "0" 727 initupload: 728 claims: 729 - name: ' ' 730 limits: 731 "": "0" 732 requests: 733 "": "0" 734 place_entrypoint: 735 claims: 736 - name: ' ' 737 limits: 738 "": "0" 739 requests: 740 "": "0" 741 sidecar: 742 claims: 743 - name: ' ' 744 limits: 745 "": "0" 746 requests: 747 "": "0" 748 # RunAsGroup defines GID of process in all containers running in a Pod. 749 # This field will not override the existing ProwJob's PodSecurityContext. 750 # Equivalent to PodSecurityContext's RunAsGroup 751 run_as_group: 0 752 # RunAsUser defines UID for process in all containers running in a Pod. 753 # This field will not override the existing ProwJob's PodSecurityContext. 754 # Equivalent to PodSecurityContext's RunAsUser 755 run_as_user: 0 756 # S3CredentialsSecret is the name of the Kubernetes secret 757 # that holds blob storage push credentials. 758 s3_credentials_secret: "" 759 # SetLimitEqualsMemoryRequest sets memory limit equal to request. 760 set_limit_equals_memory_request: false 761 # SkipCloning determines if we should clone source code in the 762 # initcontainers for jobs that specify refs 763 skip_cloning: false 764 # SSHHostFingerprints are the fingerprints of known SSH hosts 765 # that the cloning process can trust. 766 # Create with ssh-keyscan [-t rsa] host 767 ssh_host_fingerprints: 768 - "" 769 # SSHKeySecrets are the names of Kubernetes secrets that contain 770 # SSK keys which should be used during the cloning process. 771 ssh_key_secrets: 772 - "" 773 # Timeout is how long the pod utilities will wait 774 # before aborting a job with SIGINT. 775 timeout: 0s 776 # UploadIgnoresInterrupts causes sidecar to ignore interrupts for the upload process in 777 # hope that the test process exits cleanly before starting an upload. 778 upload_ignores_interrupts: false 779 # UtilityImages holds pull specs for utility container 780 # images used to decorate a PodSpec. 781 utility_images: 782 # CloneRefs is the pull spec used for the clonerefs utility 783 clonerefs: ' ' 784 # Entrypoint is the pull spec used for the entrypoint utility 785 entrypoint: ' ' 786 # InitUpload is the pull spec used for the initupload utility 787 initupload: ' ' 788 # sidecar is the pull spec used for the sidecar utility 789 sidecar: ' ' 790 # OrgRepo matches against the "org" or "org/repo" that the presubmit or postsubmit 791 # is associated with. If the job is a periodic, extra_refs[0] is used. If the 792 # job is a periodic without extra_refs, the empty string will be used. 793 # If this field is omitted all jobs will match. 794 repo: ' ' 795 # DefaultDecorationConfigsMap is a mapping from 'org', 'org/repo', or the 796 # literal string '*', to the default decoration config to use for that key. 797 # The '*' key matches all jobs. (Periodics use extra_refs[0] for matching 798 # if present.) 799 800 # This field is mutually exclusive with the DefaultDecorationConfigEntries field. 801 default_decoration_configs: 802 "": 803 # BloblessFetch tells Prow to avoid fetching objects when cloning using 804 # the --filter=blob:none flag. 805 blobless_fetch: false 806 # CensorSecrets enables censoring output logs and artifacts. 807 censor_secrets: false 808 # CensoringOptions exposes options for censoring output logs and artifacts. 809 censoring_options: 810 # CensoringBufferSize is the size in bytes of the buffer allocated for every file 811 # being censored. We want to keep as little of the file in memory as possible in 812 # order for censoring to be reasonably performant in space. However, to guarantee 813 # that we censor every instance of every secret, our buffer size must be at least 814 # two times larger than the largest secret we are about to censor. While that size 815 # is the smallest possible buffer we could use, if the secrets being censored are 816 # small, censoring will not be performant as the number of I/O actions per file 817 # would increase. If unset, defaults to 10MiB. 818 censoring_buffer_size: 0 819 # CensoringConcurrency is the maximum number of goroutines that should be censoring 820 # artifacts and logs at any time. If unset, defaults to 10. 821 censoring_concurrency: 0 822 # ExcludeDirectories are directories which should not have their content censored. If 823 # present, content in these directories will not be censored even if the directory also 824 # matches a glob in IncludeDirectories. Entries in this list are relative to $ARTIFACTS, 825 # and are parsed with the go-zglob library, allowing for globbed matches. 826 exclude_directories: 827 - "" 828 # IncludeDirectories are directories which should have their content censored. If 829 # present, only content in these directories will be censored. Entries in this list 830 # are relative to $ARTIFACTS and are parsed with the go-zglob library, allowing for 831 # globbed matches. 832 include_directories: 833 - "" 834 # CookieFileSecret is the name of a kubernetes secret that contains 835 # a git http.cookiefile, which should be used during the cloning process. 836 cookiefile_secret: "" 837 # DefaultMemoryRequest is the default requested memory on a test container. 838 # If SetLimitEqualsMemoryRequest is also true then the Limit will also be 839 # set the same as this request. Could be overridden by memory request 840 # defined explicitly on prowjob. 841 default_memory_request: "0" 842 # DefaultServiceAccountName is the name of the Kubernetes service account 843 # that should be used by the pod if one is not specified in the podspec. 844 default_service_account_name: "" 845 # FsGroup defines special supplemental group ID used in all containers in a Pod. 846 # This allows to change the ownership of particular volumes by kubelet. 847 # This field will not override the existing ProwJob's PodSecurityContext. 848 # Equivalent to PodSecurityContext's FsGroup 849 fs_group: 0 850 # GCSConfiguration holds options for pushing logs and 851 # artifacts to GCS from a job. 852 gcs_configuration: 853 # Bucket is the bucket to upload to, it can be: 854 # * a GCS bucket: with gs:// prefix 855 # * a S3 bucket: with s3:// prefix 856 # * a GCS bucket: without a prefix (deprecated, it's discouraged to use Bucket without prefix please add the gs:// prefix) 857 bucket: ' ' 858 # CompressFileTypes specify file types that should be gzipped prior to upload. 859 # Matching files will be compressed prior to upload, and the content-encoding on these files will be set to gzip. 860 # GCS will transcode these gzipped files transparently when viewing. See: https://cloud.google.com/storage/docs/transcoding 861 # Example: "txt", "json" 862 # Use "*" for all 863 compress_file_types: 864 - "" 865 # DefaultOrg is omitted from GCS paths when using the 866 # legacy or simple strategy 867 default_org: ' ' 868 # DefaultRepo is omitted from GCS paths when using the 869 # legacy or simple strategy 870 default_repo: ' ' 871 # JobURLPrefix holds the baseURL under which the jobs output can be viewed. 872 # If unset, this will be derived based on org/repo from the job_url_prefix_config. 873 job_url_prefix: ' ' 874 # LocalOutputDir specifies a directory where files should be copied INSTEAD of uploading to blob storage. 875 # This option is useful for testing jobs that use the pod-utilities without actually uploading. 876 local_output_dir: ' ' 877 # MediaTypes holds additional extension media types to add to Go's 878 # builtin's and the local system's defaults. This maps extensions 879 # to media types, for example: MediaTypes["log"] = "text/plain" 880 mediaTypes: 881 "": "" 882 # PathPrefix is an optional path that follows the 883 # bucket name and comes before any structure 884 path_prefix: ' ' 885 # PathStrategy dictates how the org and repo are used 886 # when calculating the full path to an artifact in GCS 887 path_strategy: ' ' 888 # GCSCredentialsSecret is the name of the Kubernetes secret 889 # that holds GCS push credentials. 890 gcs_credentials_secret: "" 891 # GitHubAPIEndpoints are the endpoints of GitHub APIs. 892 github_api_endpoints: 893 - "" 894 # GitHubAppID is the ID of GitHub App, which is going to be used for fetching a private 895 # repository. 896 github_app_id: ' ' 897 # GitHubAppPrivateKeySecret is a Kubernetes secret that contains the GitHub App private key, 898 # which is going to be used for fetching a private repository. 899 github_app_private_key_secret: 900 # Key is the key of the corresponding kubernetes secret that 901 # holds the value of the GitHub App private key. 902 key: ' ' 903 # Name is the name of a kubernetes secret. 904 name: ' ' 905 # GracePeriod is how long the pod utilities will wait 906 # after sending SIGINT to send SIGKILL when aborting 907 # a job. Only applicable if decorating the PodSpec. 908 grace_period: 0s 909 # OauthTokenSecret is a Kubernetes secret that contains the OAuth token, 910 # which is going to be used for fetching a private repository. 911 oauth_token_secret: 912 # Key is the key of the corresponding kubernetes secret that 913 # holds the value of the OAuth token. 914 key: ' ' 915 # Name is the name of a kubernetes secret. 916 name: ' ' 917 # PodPendingTimeout defines how long the controller will wait to perform garbage 918 # collection on pending pods. Specific for OrgRepo or Cluster. If not set, it has a fallback inside plank field. 919 pod_pending_timeout: 0s 920 # PodRunningTimeout defines how long the controller will wait to abort a prowjob pod 921 # stuck in running state. Specific for OrgRepo or Cluster. If not set, it has a fallback inside plank field. 922 pod_running_timeout: 0s 923 # PodUnscheduledTimeout defines how long the controller will wait to abort a prowjob 924 # stuck in an unscheduled state. Specific for OrgRepo or Cluster. If not set, it has a fallback inside plank field. 925 pod_unscheduled_timeout: 0s 926 # Resources holds resource requests and limits for utility 927 # containers used to decorate a PodSpec. 928 resources: 929 clonerefs: 930 claims: 931 - name: ' ' 932 limits: 933 "": "0" 934 requests: 935 "": "0" 936 initupload: 937 claims: 938 - name: ' ' 939 limits: 940 "": "0" 941 requests: 942 "": "0" 943 place_entrypoint: 944 claims: 945 - name: ' ' 946 limits: 947 "": "0" 948 requests: 949 "": "0" 950 sidecar: 951 claims: 952 - name: ' ' 953 limits: 954 "": "0" 955 requests: 956 "": "0" 957 # RunAsGroup defines GID of process in all containers running in a Pod. 958 # This field will not override the existing ProwJob's PodSecurityContext. 959 # Equivalent to PodSecurityContext's RunAsGroup 960 run_as_group: 0 961 # RunAsUser defines UID for process in all containers running in a Pod. 962 # This field will not override the existing ProwJob's PodSecurityContext. 963 # Equivalent to PodSecurityContext's RunAsUser 964 run_as_user: 0 965 # S3CredentialsSecret is the name of the Kubernetes secret 966 # that holds blob storage push credentials. 967 s3_credentials_secret: "" 968 # SetLimitEqualsMemoryRequest sets memory limit equal to request. 969 set_limit_equals_memory_request: false 970 # SkipCloning determines if we should clone source code in the 971 # initcontainers for jobs that specify refs 972 skip_cloning: false 973 # SSHHostFingerprints are the fingerprints of known SSH hosts 974 # that the cloning process can trust. 975 # Create with ssh-keyscan [-t rsa] host 976 ssh_host_fingerprints: 977 - "" 978 # SSHKeySecrets are the names of Kubernetes secrets that contain 979 # SSK keys which should be used during the cloning process. 980 ssh_key_secrets: 981 - "" 982 # Timeout is how long the pod utilities will wait 983 # before aborting a job with SIGINT. 984 timeout: 0s 985 # UploadIgnoresInterrupts causes sidecar to ignore interrupts for the upload process in 986 # hope that the test process exits cleanly before starting an upload. 987 upload_ignores_interrupts: false 988 # UtilityImages holds pull specs for utility container 989 # images used to decorate a PodSpec. 990 utility_images: 991 # CloneRefs is the pull spec used for the clonerefs utility 992 clonerefs: ' ' 993 # Entrypoint is the pull spec used for the entrypoint utility 994 entrypoint: ' ' 995 # InitUpload is the pull spec used for the initupload utility 996 initupload: ' ' 997 # sidecar is the pull spec used for the sidecar utility 998 sidecar: ' ' 999 # JobQueueCapacities is an optional field used to define job queue max concurrency. 1000 # Each job can be assigned to a specific queue which has its own max concurrency, 1001 # independent from the job's name. Setting the concurrency to 0 will block any job 1002 # from being triggered. Setting the concurrency to a negative value will remove the 1003 # limit. An example use case would be easier scheduling of jobs using boskos resources. 1004 # This mechanism is separate from ProwJob's MaxConcurrency setting. 1005 job_queue_capacities: 1006 "": 0 1007 # JobURLPrefixConfig is the host and path prefix under which job details 1008 # will be viewable. Use `org/repo`, `org` or `*`as key and an url as value. 1009 job_url_prefix_config: 1010 "": "" 1011 # JobURLTemplateString compiles into JobURLTemplate at load time. 1012 job_url_template: ' ' 1013 # JobURLPrefixDisableAppendStorageProvider disables that the storageProvider is 1014 # automatically appended to the JobURLPrefix. 1015 jobURLPrefixDisableAppendStorageProvider: true 1016 # PodPendingTimeout defines how long the controller will wait to perform a garbage 1017 # collection on pending pods. Defaults to 10 minutes. 1018 pod_pending_timeout: 0s 1019 # PodRunningTimeout defines how long the controller will wait to abort a prowjob pod 1020 # stuck in running state. Defaults to two days. 1021 pod_running_timeout: 0s 1022 # PodUnscheduledTimeout defines how long the controller will wait to abort a prowjob 1023 # stuck in an unscheduled state. Defaults to 5 minutes. 1024 pod_unscheduled_timeout: 0s 1025 # ReportTemplateString compiles into ReportTemplate at load time. 1026 report_template: ' ' 1027 # ReportTemplateStrings is a mapping of template comments. 1028 # Use `org/repo`, `org` or `*` as a key. 1029 report_templates: 1030 "": "" 1031 # PodNamespace is the namespace in the cluster that prow 1032 # components will use for looking up Pods owned by ProwJobs. 1033 # The namespace needs to exist and will not be created by prow. 1034 # Defaults to "default". 1035 pod_namespace: ' ' 1036 # ProwJobDefaultEntries holds a list of defaults for specific values 1037 # Each entry in the slice specifies Repo and CLuster regexp filter fields to 1038 # match against the jobs and a corresponding ProwJobDefault . All entries that 1039 # match a job are used. Later matching entries override the fields of earlier 1040 # matching entires. 1041 prowjob_default_entries: 1042 - # Cluster matches against the cluster alias of the build cluster that the 1043 # ProwJob is configured to run on. Recall that ProwJobs default to running on 1044 # the "default" build cluster if they omit the "cluster" field in config. 1045 cluster: ' ' 1046 # Config is the ProwJobDefault to apply if the filter fields all match the 1047 # ProwJob. Note that when multiple entries match a ProwJob they are all used 1048 # by sequentially merging with later entries overriding fields from earlier 1049 # entries. 1050 config: 1051 resultstore_config: 1052 # ProjectID specifies the ResultStore InvocationAttributes.ProjectID, used 1053 # for various quota and GUI access control purposes. 1054 # In practice, it is generally the same as the Google Cloud Project ID or 1055 # number of the job's GCS storage bucket. 1056 # Required to upload results to ResultStore. 1057 project_id: ' ' 1058 tenant_id: ' ' 1059 # OrgRepo matches against the "org" or "org/repo" that the presubmit or postsubmit 1060 # is associated with. If the job is a periodic, extra_refs[0] is used. If the 1061 # job is a periodic without extra_refs, the empty string will be used. 1062 # If this field is omitted all jobs will match. 1063 repo: ' ' 1064 # ProwJobNamespace is the namespace in the cluster that prow 1065 # components will use for looking up ProwJobs. The namespace 1066 # needs to exist and will not be created by prow. 1067 # Defaults to "default". 1068 prowjob_namespace: ' ' 1069 # Pub/Sub Subscriptions that we want to listen to. 1070 pubsub_subscriptions: 1071 "": null 1072 # PubSubTriggers defines Pub/Sub Subscriptions that we want to listen to, 1073 # can be used to restrict build cluster on a topic. 1074 pubsub_triggers: 1075 - allowed_clusters: 1076 - "" 1077 max_outstanding_messages: 0 1078 project: ' ' 1079 topics: 1080 - "" 1081 # PushGateway is a prometheus push gateway. 1082 push_gateway: 1083 # Endpoint is the location of the prometheus pushgateway 1084 # where prow will push metrics to. 1085 endpoint: ' ' 1086 # Interval specifies how often prow will push metrics 1087 # to the pushgateway. Defaults to 1m. 1088 interval: 0s 1089 # ServeMetrics tells if or not the components serve metrics. 1090 serve_metrics: false 1091 # Scheduler contains configuration for the additional scheduler. 1092 # It has to be explicitly enabled. 1093 scheduler: 1094 enabled: true 1095 # Scheduling strategies 1096 failover: 1097 # ClusterMappings maps a cluster to another one. It is used when we 1098 # want to schedule a ProJob to a cluster other than the one it was 1099 # configured to in the first place. 1100 mappings: 1101 "": "" 1102 sinker: 1103 # ExcludeClusters are build clusters that don't want to be managed by sinker. 1104 exclude_clusters: 1105 - "" 1106 # MaxPodAge is how old a Pod can be before it is garbage-collected. 1107 # Defaults to one day. 1108 max_pod_age: 0s 1109 # MaxProwJobAge is how old a ProwJob can be before it is garbage-collected. 1110 # Defaults to one week. 1111 max_prowjob_age: 0s 1112 # ResyncPeriod is how often the controller will perform a garbage 1113 # collection. Defaults to one hour. 1114 resync_period: 0s 1115 # TerminatedPodTTL is how long a Pod can live after termination before it is 1116 # garbage collected. 1117 # Defaults to matching MaxPodAge. 1118 terminated_pod_ttl: 0s 1119 slack_reporter_configs: 1120 "": 1121 channel: ' ' 1122 host: ' ' 1123 job_states_to_report: 1124 - "" 1125 job_types_to_report: 1126 - "" 1127 report: false 1128 report_template: ' ' 1129 # StatusErrorLink is the url that will be used for jenkins prowJobs that can't be 1130 # found, or have another generic issue. The default that will be used if this is not set 1131 # is: https://github.com/kubernetes/test-infra/issues. 1132 status_error_link: ' ' 1133 tide: 1134 # BatchSizeLimitMap is a key/value pair of an org or org/repo as the key and 1135 # integer batch size limit as the value. Use "*" as key to set a global default. 1136 # Special values: 1137 # 0 => unlimited batch size 1138 # -1 => batch merging disabled :( 1139 batch_size_limit: 1140 "": 0 1141 # BlockerLabel is an optional label that is used to identify merge blocking 1142 # GitHub issues. 1143 # Leave this blank to disable this feature and save 1 API token per sync loop. 1144 blocker_label: ' ' 1145 # TideContextPolicyOptions defines merge options for context. If not set it will infer 1146 # the required and optional contexts from the prow jobs configured and use the github 1147 # combined status; otherwise it may apply the branch protection setting or let user 1148 # define their own options in case branch protection is not used. 1149 context_options: 1150 # Infer required and optional jobs from Branch Protection configuration 1151 from-branch-protection: false 1152 optional-contexts: 1153 - "" 1154 # GitHub Orgs 1155 orgs: 1156 "": 1157 # Infer required and optional jobs from Branch Protection configuration 1158 from-branch-protection: false 1159 optional-contexts: 1160 - "" 1161 repos: 1162 "": 1163 branches: 1164 "": 1165 # Infer required and optional jobs from Branch Protection configuration 1166 from-branch-protection: false 1167 optional-contexts: 1168 - "" 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 # Infer required and optional jobs from Branch Protection configuration 1176 from-branch-protection: false 1177 optional-contexts: 1178 - "" 1179 required-contexts: 1180 - "" 1181 required-if-present-contexts: 1182 - "" 1183 # whether to consider unknown contexts optional (skip) or required. 1184 skip-unknown-contexts: false 1185 required-contexts: 1186 - "" 1187 required-if-present-contexts: 1188 - "" 1189 # whether to consider unknown contexts optional (skip) or required. 1190 skip-unknown-contexts: false 1191 required-contexts: 1192 - "" 1193 required-if-present-contexts: 1194 - "" 1195 # whether to consider unknown contexts optional (skip) or required. 1196 skip-unknown-contexts: false 1197 # DisplayAllQueriesInStatus controls if Tide should mention all queries in the status it 1198 # creates. The default is to only mention the one to which we are closest (Calculated 1199 # by total number of requirements - fulfilled number of requirements). 1200 display_all_tide_queries_in_status: true 1201 gerrit: 1202 queries: 1203 - filters: 1204 branches: 1205 - "" 1206 excluded_branches: 1207 - "" 1208 opt_in_by_default: true 1209 opt_out_help: true 1210 org: ' ' 1211 repos: 1212 - "" 1213 # A key/value pair of an org/repo as the key and Go template to override 1214 # the default merge commit title and/or message. Template is passed the 1215 # PullRequest struct (prow/github/types.go#PullRequest) 1216 merge_commit_template: 1217 "": 1218 body: ' ' 1219 title: ' ' 1220 # MergeLabel is an optional label that is used to identify PRs that should 1221 # always be merged with all individual commits from the PR. 1222 # Leave this blank to disable this feature. 1223 merge_label: ' ' 1224 # A key/value pair of an org/repo as the key and merge method to override 1225 # the default method of merge. Valid options are squash, rebase, and merge. 1226 merge_method: 1227 "": ' ' 1228 # PRStatusBaseURL is the base URL for the PR status page. 1229 # This is used to link to a merge requirements overview 1230 # in the tide status context. 1231 # Will be deprecated on June 2020. 1232 pr_status_base_url: ' ' 1233 # PRStatusBaseURLs is the base URL for the PR status page 1234 # mapped by org or org/repo level. 1235 pr_status_base_urls: 1236 "": "" 1237 # PrioritizeExistingBatches configures on org or org/repo level if Tide should continue 1238 # testing pre-existing batches instead of immediately including new PRs as they become 1239 # eligible. Continuing on an old batch allows to re-use all existing test results whereas 1240 # starting a new one requires to start new instances of all tests. 1241 # Use '*' as key to set this globally. Defaults to true. 1242 prioritize_existing_batches: 1243 "": false 1244 # Priority is an ordered list of sets of labels that would be prioritized before other PRs 1245 # PRs should match all labels contained in a set to be prioritized. The first entry has 1246 # the highest priority. 1247 priority: 1248 - labels: 1249 - "" 1250 # Queries represents a list of GitHub search queries that collectively 1251 # specify the set of PRs that meet merge requirements. 1252 queries: 1253 - author: ' ' 1254 excludedBranches: 1255 - "" 1256 excludedRepos: 1257 - "" 1258 includedBranches: 1259 - "" 1260 labels: 1261 - "" 1262 milestone: ' ' 1263 missingLabels: 1264 - "" 1265 orgs: 1266 - "" 1267 repos: 1268 - "" 1269 reviewApprovedRequired: true 1270 # RebaseLabel is an optional label that is used to identify PRs that should 1271 # always be rebased and merged. 1272 # Leave this blank to disable this feature. 1273 rebase_label: ' ' 1274 # SquashLabel is an optional label that is used to identify PRs that should 1275 # always be squash merged. 1276 # Leave this blank to disable this feature. 1277 squash_label: ' ' 1278 # StatusUpdatePeriod specifies how often Tide will update GitHub status contexts. 1279 # Defaults to the value of SyncPeriod. 1280 status_update_period: 0s 1281 # SyncPeriod specifies how often Tide will sync jobs with GitHub. Defaults to 1m. 1282 sync_period: 0s 1283 # URL for tide status contexts. 1284 # We can consider allowing this to be set separately for separate repos, or 1285 # allowing it to be a template. 1286 target_url: ' ' 1287 # TargetURLs is a map from "*", <org>, or <org/repo> to the URL for the tide status contexts. 1288 # The most specific key that matches will be used. 1289 # This field is mutually exclusive with TargetURL. 1290 target_urls: 1291 "": ""