github.com/munnerz/test-infra@v0.0.0-20190108210205-ce3d181dc989/prow/config.yaml (about) 1 plank: 2 job_url_template: '{{if .Spec.Refs}}{{if eq .Spec.Refs.Org "kubernetes-security"}}https://console.cloud.google.com/storage/browser/kubernetes-security-prow/{{else}}https://gubernator.k8s.io/build/kubernetes-jenkins/{{end}}{{else}}https://gubernator.k8s.io/build/kubernetes-jenkins/{{end}}{{if eq .Spec.Type "presubmit"}}pr-logs/pull{{else if eq .Spec.Type "batch"}}pr-logs/pull{{else}}logs{{end}}{{if .Spec.Refs}}{{if ne .Spec.Refs.Org ""}}{{if ne .Spec.Refs.Org "kubernetes"}}/{{if and (eq .Spec.Refs.Org "kubernetes-sigs") (ne .Spec.Refs.Repo "poseidon")}}sigs.k8s.io{{else}}{{.Spec.Refs.Org}}{{end}}_{{.Spec.Refs.Repo}}{{else if ne .Spec.Refs.Repo "kubernetes"}}/{{.Spec.Refs.Repo}}{{end}}{{end}}{{end}}{{if eq .Spec.Type "presubmit"}}/{{with index .Spec.Refs.Pulls 0}}{{.Number}}{{end}}{{else if eq .Spec.Type "batch"}}/batch{{end}}/{{.Spec.Job}}/{{.Status.BuildID}}/' 3 report_template: '[Full PR test history](https://gubernator.k8s.io/pr/{{if eq .Spec.Refs.Org "kubernetes"}}{{if eq .Spec.Refs.Repo "kubernetes"}}{{else}}{{.Spec.Refs.Repo}}/{{end}}{{else}}{{.Spec.Refs.Org}}_{{.Spec.Refs.Repo}}/{{end}}{{with index .Spec.Refs.Pulls 0}}{{.Number}}{{end}}). [Your PR dashboard](https://gubernator.k8s.io/pr/{{with index .Spec.Refs.Pulls 0}}{{.Author}}{{end}}). Please help us cut down on flakes by [linking to](https://git.k8s.io/community/contributors/devel/flaky-tests.md#filing-issues-for-flaky-tests) an [open issue](https://github.com/{{.Spec.Refs.Org}}/{{.Spec.Refs.Repo}}/issues?q=is:issue+is:open) when you hit one in your PR.' 4 job_url_prefix: https://gubernator.k8s.io/build/ 5 pod_pending_timeout: 60m 6 default_decoration_config: 7 timeout: 7200000000000 # 2h 8 grace_period: 15000000000 # 15s 9 utility_images: 10 clonerefs: "gcr.io/k8s-prow/clonerefs:v20190108-6c7cbf7" 11 initupload: "gcr.io/k8s-prow/initupload:v20190108-6c7cbf7" 12 entrypoint: "gcr.io/k8s-prow/entrypoint:v20190108-6c7cbf7" 13 sidecar: "gcr.io/k8s-prow/sidecar:v20190108-6c7cbf7" 14 gcs_configuration: 15 bucket: "kubernetes-jenkins" 16 path_strategy: "legacy" 17 default_org: "kubernetes" 18 default_repo: "kubernetes" 19 gcs_credentials_secret: "service-account" 20 21 sinker: 22 resync_period: 1m 23 max_prowjob_age: 48h 24 max_pod_age: 30m 25 26 deck: 27 spyglass: 28 size_limit: 500000000 # 500MB 29 viewers: 30 "started.json|finished.json": 31 - "metadata" 32 "build-log.txt": 33 - "buildlog" 34 "artifacts/junit.*\\.xml": 35 - "junit" 36 tide_update_period: 1s 37 hidden_repos: 38 - kubernetes-security 39 40 prowjob_namespace: default 41 pod_namespace: test-pods 42 log_level: debug 43 44 branch-protection: 45 allow_disabled_policies: true # TODO(fejta): remove, needed by k/website 46 orgs: 47 kubernetes: 48 protect: true 49 required_status_checks: 50 contexts: 51 - cla/linuxfoundation 52 repos: 53 api: 54 restrictions: 55 users: [] 56 teams: 57 - stage-bots 58 apiextensions-apiserver: 59 restrictions: 60 users: [] 61 teams: 62 - stage-bots 63 apimachinery: 64 restrictions: 65 users: [] 66 teams: 67 - stage-bots 68 apiserver: 69 restrictions: 70 users: [] 71 teams: 72 - stage-bots 73 client-go: 74 restrictions: 75 users: [] 76 teams: 77 - stage-bots 78 cli-runtime: 79 restrictions: 80 users: [] 81 teams: 82 - stage-bots 83 cloud-provider: 84 restrictions: 85 users: [] 86 teams: 87 - stage-bots 88 cluster-bootstrap: 89 restrictions: 90 users: [] 91 teams: 92 - stage-bots 93 code-generator: 94 restrictions: 95 users: [] 96 teams: 97 - stage-bots 98 component-base: 99 restrictions: 100 users: [] 101 teams: 102 - stage-bots 103 dashboard: 104 required_pull_request_reviews: 105 required_approving_review_count: 1 106 dns: 107 required_status_checks: 108 strict: true 109 contexts: 110 - continuous-integration/travis-ci 111 required_pull_request_reviews: 112 required_approving_review_count: 1 113 git-sync: 114 enforce_admins: true 115 required_status_checks: 116 strict: true 117 restrictions: # only allow admins 118 users: [] 119 teams: [] 120 kompose: 121 required_status_checks: 122 contexts: 123 - continuous-integration/travis-ci 124 required_pull_request_reviews: 125 required_approving_review_count: 1 126 kubectl: 127 required_status_checks: 128 contexts: 129 - continuous-integration/travis-ci 130 kubelet: 131 restrictions: 132 users: [] 133 teams: 134 - stage-bots 135 kubernetes: 136 restrictions: # only allow admins 137 users: [] 138 teams: [] 139 kube-aggregator: 140 restrictions: 141 users: [] 142 teams: 143 - stage-bots 144 kube-controller-manager: 145 restrictions: 146 users: [] 147 teams: 148 - stage-bots 149 kube-proxy: 150 restrictions: 151 users: [] 152 teams: 153 - stage-bots 154 kube-scheduler: 155 restrictions: 156 users: [] 157 teams: 158 - stage-bots 159 metrics: 160 restrictions: 161 users: [] 162 teams: 163 - stage-bots 164 node-api: 165 restrictions: 166 users: [] 167 teams: 168 - stage-bots 169 org: 170 restrictions: # only allow admins 171 users: [] 172 teams: [] 173 repo-infra: 174 required_status_checks: 175 contexts: 176 - continuous-integration/travis-ci 177 sample-apiserver: 178 restrictions: 179 users: [] 180 teams: 181 - stage-bots 182 sample-cli-plugin: 183 restrictions: 184 users: [] 185 teams: 186 - stage-bots 187 sample-controller: 188 restrictions: 189 users: [] 190 teams: 191 - stage-bots 192 utils: 193 required_status_checks: 194 contexts: 195 - continuous-integration/travis-ci 196 website: 197 protect: false # TODO(fejta): protect all branches soon 198 required_status_checks: 199 contexts: 200 - continuous-integration/travis-ci 201 branches: 202 master: 203 protect: true 204 release-1.4: 205 protect: true 206 release-1.5: 207 protect: true 208 release-1.6: 209 protect: true 210 release-1.7: 211 protect: true 212 release-1.8: 213 protect: true 214 release-1.9: 215 protect: true 216 kubernetes-client: 217 protect: true 218 required_status_checks: 219 contexts: 220 - cla/linuxfoundation 221 repos: 222 python: 223 required_status_checks: 224 contexts: 225 - continuous-integration/travis-ci 226 python-base: 227 required_status_checks: 228 contexts: 229 - continuous-integration/travis-ci 230 kubernetes-csi: 231 protect: true 232 required_status_checks: 233 contexts: 234 - cla/linuxfoundation 235 repos: 236 csi-test: 237 required_status_checks: 238 contexts: 239 - continuous-integration/travis-ci 240 drivers: 241 required_status_checks: 242 contexts: 243 - continuous-integration/travis-ci 244 external-attacher: 245 required_status_checks: 246 contexts: 247 - continuous-integration/travis-ci 248 external-provisioner: 249 required_status_checks: 250 contexts: 251 - continuous-integration/travis-ci 252 external-snapshotter: 253 required_status_checks: 254 contexts: 255 - continuous-integration/travis-ci 256 livenessprobe: 257 required_status_checks: 258 contexts: 259 - continuous-integration/travis-ci 260 kubernetes-incubator: 261 protect: true 262 required_status_checks: 263 contexts: 264 - cla/linuxfoundation 265 repos: 266 apiserver-builder: 267 required_status_checks: 268 contexts: 269 - continuous-integration/travis-ci 270 bootkube: 271 required_status_checks: 272 contexts: 273 - continuous-integration/travis-ci 274 cluster-proportional-autoscaler: 275 required_status_checks: 276 contexts: 277 - continuous-integration/travis-ci 278 external-storage: 279 required_status_checks: 280 contexts: 281 - continuous-integration/travis-ci 282 kube-aws: 283 required_status_checks: 284 contexts: 285 - continuous-integration/travis-ci 286 metrics-server: 287 required_status_checks: 288 contexts: 289 - continuous-integration/travis-ci 290 kubernetes-sigs: 291 protect: true 292 required_status_checks: 293 contexts: 294 - cla/linuxfoundation 295 repos: 296 kube-batch: 297 required_status_checks: 298 contexts: 299 - continuous-integration/travis-ci 300 kubespray: 301 required_status_checks: 302 contexts: 303 - Kubespray CI Pipeline 304 node-feature-discovery: 305 required_status_checks: 306 contexts: 307 - continuous-integration/travis-ci 308 309 tide: 310 queries: 311 - orgs: 312 - kubeflow 313 labels: 314 - lgtm 315 - approved 316 missingLabels: 317 - do-not-merge 318 - do-not-merge/hold 319 - do-not-merge/invalid-owners-file 320 - do-not-merge/work-in-progress 321 - needs-rebase 322 - repos: 323 - helm/charts 324 labels: 325 - lgtm 326 - approved 327 - "Contribution Allowed" 328 missingLabels: 329 - do-not-merge 330 - do-not-merge/blocked-paths 331 - do-not-merge/cherry-pick-not-approved 332 - do-not-merge/hold 333 - do-not-merge/invalid-owners-file 334 - do-not-merge/release-note-label-needed 335 - do-not-merge/work-in-progress 336 - needs-rebase 337 - orgs: 338 - kubernetes-client 339 - kubernetes-csi 340 - kubernetes-incubator 341 - kubernetes-sigs 342 repos: 343 - client-go/unofficial-docs 344 - kubernetes/autoscaler 345 - kubernetes/client-go 346 - kubernetes/cloud-provider-aws 347 - kubernetes/cloud-provider-alibaba-cloud 348 - kubernetes/cloud-provider-azure 349 - kubernetes/cloud-provider-gcp 350 - kubernetes/cloud-provider-openstack 351 - kubernetes/cloud-provider-vsphere 352 - kubernetes/cluster-registry 353 - kubernetes/community 354 - kubernetes/contrib 355 - kubernetes/dashboard 356 - kubernetes/dns 357 - kubernetes/enhancements 358 - kubernetes/examples 359 - kubernetes/federation 360 - kubernetes/frakti 361 - kubernetes/gengo 362 - kubernetes/git-sync 363 - kubernetes/ingress-gce 364 - kubernetes/ingress-nginx 365 - kubernetes/k8s.io 366 - kubernetes/klog 367 - kubernetes/komposer 368 - kubernetes/kops 369 - kubernetes/kube-deploy 370 - kubernetes/kube-openapi 371 - kubernetes/kube-state-metrics 372 - kubernetes/kubeadm 373 - kubernetes/kubectl 374 - kubernetes/kubernetes-anywhere 375 - kubernetes/kubernetes-template-project 376 - kubernetes/minikube 377 - kubernetes/node-problem-detector 378 - kubernetes/org 379 - kubernetes/perf-tests 380 - kubernetes/publishing-bot 381 - kubernetes/release 382 - kubernetes/repo-infra 383 - kubernetes/sig-release 384 - kubernetes/steering 385 - kubernetes/test-infra 386 - kubernetes/utils 387 - kubernetes/website 388 labels: 389 - lgtm 390 - approved 391 - "cncf-cla: yes" 392 missingLabels: 393 - do-not-merge 394 - do-not-merge/blocked-paths 395 - do-not-merge/cherry-pick-not-approved 396 - do-not-merge/hold 397 - do-not-merge/invalid-owners-file 398 - do-not-merge/release-note-label-needed 399 - do-not-merge/work-in-progress 400 - needs-rebase 401 - repos: 402 - kubernetes/kubernetes 403 labels: 404 - lgtm 405 - approved 406 - "cncf-cla: yes" 407 missingLabels: 408 - do-not-merge 409 - do-not-merge/blocked-paths 410 - do-not-merge/cherry-pick-not-approved 411 - do-not-merge/hold 412 - do-not-merge/invalid-owners-file 413 - do-not-merge/release-note-label-needed 414 - do-not-merge/work-in-progress 415 - needs-kind 416 - needs-rebase 417 - needs-sig 418 - repos: 419 - GoogleCloudPlatform/netd 420 labels: 421 - lgtm 422 - approved 423 missingLabels: 424 - do-not-merge 425 - do-not-merge/blocked-paths 426 - do-not-merge/hold 427 - do-not-merge/invalid-owners-file 428 - do-not-merge/work-in-progress 429 430 merge_method: 431 helm/charts: squash 432 kubeflow: squash 433 kubernetes-client/csharp: squash 434 kubernetes-client/gen: squash 435 kubernetes-incubator/service-catalog: squash 436 kubernetes-sigs/cluster-api-provider-aws: squash 437 kubernetes-sigs/cluster-api-provider-digitalocean: squash 438 kubernetes-sigs/cluster-api-provider-gcp: squash 439 kubernetes-sigs/cluster-api-provider-openstack: squash 440 kubernetes-sigs/cluster-api-provider-vsphere: squash 441 kubernetes-sigs/cluster-api: squash 442 kubernetes-sigs/kubespray: squash 443 kubernetes/dashboard: squash 444 kubernetes/kube-deploy: squash 445 kubernetes/website: squash 446 pr_status_base_url: https://prow.k8s.io/pr 447 blocker_label: merge-blocker 448 squash_label: tide/squash 449 context_options: 450 optional-contexts: 451 - "Submit Queue" 452 453 push_gateway: 454 endpoint: pushgateway 455 456 457 presets: 458 # credential presets 459 - labels: 460 preset-service-account: "true" 461 env: 462 - name: GOOGLE_APPLICATION_CREDENTIALS 463 value: /etc/service-account/service-account.json 464 # storage e2e tests borrow this as a preconfigured key instead of creating and 465 # injecting a new key. this allows us to avoid mass key download warnings 466 - name: E2E_GOOGLE_APPLICATION_CREDENTIALS 467 value: /etc/service-account/service-account.json 468 volumes: 469 - name: service 470 secret: 471 secretName: service-account 472 volumeMounts: 473 - name: service 474 mountPath: /etc/service-account 475 readOnly: true 476 - labels: 477 preset-gke-alpha-service: "true" 478 env: 479 - name: GOOGLE_APPLICATION_CREDENTIALS 480 value: /etc/service-account/service-account.json 481 # storage e2e tests borrow this as a preconfigured key instead of creating and 482 # injecting a new key. this allows us to avoid mass key download warnings 483 - name: E2E_GOOGLE_APPLICATION_CREDENTIALS 484 value: /etc/service-account/service-account.json 485 volumes: 486 - name: service 487 secret: 488 secretName: gke-alpha-service-account 489 volumeMounts: 490 - name: service 491 mountPath: /etc/service-account 492 readOnly: true 493 - labels: 494 preset-istio-service: "true" 495 env: 496 - name: GOOGLE_APPLICATION_CREDENTIALS 497 value: /etc/service-account/istio-service-account.json 498 # storage e2e tests borrow this as a preconfigured key instead of creating and 499 # injecting a new key. this allows us to avoid mass key download warnings 500 - name: E2E_GOOGLE_APPLICATION_CREDENTIALS 501 value: /etc/service-account/service-account.json 502 volumes: 503 - name: service 504 secret: 505 secretName: istio-service-account 506 volumeMounts: 507 - name: service 508 mountPath: /etc/service-account 509 readOnly: true 510 - labels: 511 preset-k8s-ssh: "true" 512 env: 513 - name: USER 514 value: prow 515 - name: JENKINS_GCE_SSH_PRIVATE_KEY_FILE 516 value: /etc/ssh-key-secret/ssh-private 517 - name: JENKINS_GCE_SSH_PUBLIC_KEY_FILE 518 value: /etc/ssh-key-secret/ssh-public 519 volumes: 520 - name: ssh 521 secret: 522 defaultMode: 0400 523 secretName: ssh-key-secret 524 volumeMounts: 525 - name: ssh 526 mountPath: /etc/ssh-key-secret 527 readOnly: true 528 - labels: 529 preset-aws-ssh: "true" 530 env: 531 - name: USER 532 value: prow 533 - name: JENKINS_AWS_SSH_PRIVATE_KEY_FILE 534 value: /etc/aws-ssh/aws-ssh-private 535 - name: JENKINS_AWS_SSH_PUBLIC_KEY_FILE 536 value: /etc/aws-ssh/aws-ssh-public 537 volumes: 538 - name: aws-ssh 539 secret: 540 defaultMode: 0400 541 secretName: aws-ssh-key-secret 542 volumeMounts: 543 - name: aws-ssh 544 mountPath: /etc/aws-ssh 545 readOnly: true 546 - labels: 547 preset-aws-credential: "true" 548 env: 549 - name: JENKINS_AWS_CREDENTIALS_FILE 550 value: /etc/aws-cred/credentials 551 volumes: 552 - name: aws-cred 553 secret: 554 defaultMode: 0400 555 secretName: aws-cred-new 556 volumeMounts: 557 - name: aws-cred 558 mountPath: /etc/aws-cred 559 readOnly: true 560 # storage / caching presets 561 - labels: 562 preset-bazel-scratch-dir: "true" 563 env: 564 - name: TEST_TMPDIR 565 value: /bazel-scratch/.cache/bazel 566 volumes: 567 - name: bazel-scratch 568 emptyDir: {} 569 volumeMounts: 570 - name: bazel-scratch 571 mountPath: /bazel-scratch/.cache 572 - labels: 573 preset-bazel-remote-cache-enabled: "true" 574 env: 575 - name: BAZEL_REMOTE_CACHE_ENABLED 576 value: "true" 577 # docker-in-docker (with images/bootstrap) preset 578 # NOTE: using this also requires using that image, 579 # ensuring you run your test under either the ENTRYPOINT or: 580 # /usr/local/bin/runner my-test-command --foo --bar 581 # AND setting the following on your PodSpec: 582 # securityContext: 583 # privileged: true 584 - labels: 585 preset-dind-enabled: "true" 586 env: 587 - name: DOCKER_IN_DOCKER_ENABLED 588 value: "true" 589 volumes: 590 - name: docker-graph 591 emptyDir: {} 592 volumeMounts: 593 - name: docker-graph 594 mountPath: /docker-graph 595 # experimental preset for dind, prefer the one above 596 - labels: 597 preset-dind-memory-backed: "true" 598 env: 599 - name: DOCKER_IN_DOCKER_ENABLED 600 value: "true" 601 volumes: 602 - name: docker-graph 603 emptyDir: 604 medium: "Memory" 605 volumeMounts: 606 - name: docker-graph 607 mountPath: /docker-graph