Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?


Failed to load latest commit information.
Latest commit message
Commit time


GoDoc Build status

This repository contains tools and configuration files for the testing and automation needs of the Kubernetes project.

Our architecture diagram provides an (updated #13063) overview of how the different tools and services interact.

CI Job Management

Kubernetes uses a prow instance at to handle CI and automation for the entire project. Everyone can participate in a self-service PR-based workflow, where changes are automatically deployed after they have been reviewed. All job configs are located in config/jobs


Test Result Dashboards

Job and PR Dashboards

Other Tools

  • boskos manages pools of resources; our CI leases GCP projects from these pools
  • experiment is a catchall directory for one-shot tools or scripts
  • gcsweb is a UI we use to display test artifacts stored in public GCS buckets
  • ghproxy is a GitHub-aware reverse proxy cache to help keep our GitHub API token usage within rate limits
  • gopherage is a tool for manipulating Go coverage files
  • greenhouse is a shared bazel cache we use to ensure faster build and test presubmit jobs
  • label_sync creates, updates and migrates GitHub labels across orgs and repos based on labels.yaml file
  • kettle extracts test results from GCS and puts them into bigquery
  • kubetest is how our CI creates and e2e tests kubernetes clusters
  • maintenance/migratestatus is used to migrate or retire GitHub status contexts on PRs across orgs and repos
  • metrics runs queries against bigquery to generate metrics based on test results
  • robots/commenter is used by some of our jobs to comment on GitHub issues