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.
Kubernetes uses a prow
instance at prow.k8s.io 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
testgrid
)triage
)prow/cmd/deck
)gubernator
)prow/cmd/tide
)prow/cmd/tide
)prow/cmd/tide
)boskos
manages pools of resources; our CI leases GCP projects from these poolsexperiment
is a catchall directory for one-shot tools or scriptsgcsweb
is a UI we use to display test artifacts stored in public GCS bucketsghproxy
is a GitHub-aware reverse proxy cache to help keep our GitHub API token usage within rate limitsgopherage
is a tool for manipulating Go coverage filesgreenhouse
is a shared bazel cache we use to ensure faster build and test presubmit jobslabel_sync
creates, updates and migrates GitHub labels across orgs and repos based on labels.yaml
filekettle
extracts test results from GCS and puts them into bigquerykubetest
is how our CI creates and e2e tests kubernetes clustersmaintenance/migratestatus
is used to migrate or retire GitHub status contexts on PRs across orgs and reposmetrics
runs queries against bigquery to generate metrics based on test resultsrobots/commenter
is used by some of our jobs to comment on GitHub issuesPlease see CONTRIBUTING.MD