├── .gitmodules ├── .go-version ├── cmd ├── deck │ ├── .gitignore │ ├── static │ │ ├── extensions │ │ │ ├── script.js │ │ │ └── style.css │ │ ├── favicon.ico │ │ ├── logo-dark.png │ │ ├── logo-light.png │ │ ├── api │ │ │ ├── tide-history.ts │ │ │ ├── github.ts │ │ │ ├── help.ts │ │ │ ├── pr.ts │ │ │ └── tide.ts │ │ ├── job-history │ │ │ └── tsconfig.json │ │ ├── tide │ │ │ └── tsconfig.json │ │ ├── tide-history │ │ │ └── tsconfig.json │ │ ├── spyglass │ │ │ ├── tsconfig.json │ │ │ └── lens.css │ │ ├── prow │ │ │ └── tsconfig.json │ │ ├── configured-jobs │ │ │ └── tsconfig.json │ │ ├── plugin-help │ │ │ └── tsconfig.json │ │ ├── pr │ │ │ └── tsconfig.json │ │ ├── command-help │ │ │ └── tsconfig.json │ │ ├── common │ │ │ └── prettify.ts │ │ └── vendor.d.ts │ ├── rerun_button.png │ ├── static-map │ ├── localdata │ │ └── .gitignore │ ├── OWNERS │ └── template │ │ ├── github-login.html │ │ ├── configured-jobs-index.html │ │ └── plugins.html ├── external-plugins │ └── cherrypicker │ │ └── OWNERS ├── hmac │ └── OWNERS ├── sinker │ └── OWNERS ├── gangway │ └── OWNERS ├── moonraker │ └── OWNERS ├── tide │ ├── status-context.png │ └── OWNERS ├── branchprotector │ ├── OWNERS │ └── oneshot-job.yaml ├── jenkins-operator │ └── OWNERS ├── phony │ └── examples │ │ └── .gitattributes ├── mkpod │ └── OWNERS ├── hook │ └── OWNERS ├── clonerefs │ ├── ssh_config │ ├── OWNERS │ └── github_known_hosts ├── cm2kc │ └── testdata │ │ ├── single_cluster │ │ ├── single_cluster_in.yaml │ │ └── single_cluster_out.yaml │ │ └── multiple_clusters │ │ ├── multiple_clusters_in.yaml │ │ └── multiple_clusters_out.yaml ├── config-bootstrapper │ └── OWNERS ├── sidecar │ └── OWNERS ├── entrypoint │ └── OWNERS ├── gcsupload │ └── OWNERS ├── initupload │ └── OWNERS ├── status-reconciler │ └── OWNERS ├── generic-autobumper │ └── OWNERS ├── checkconfig │ └── OWNERS ├── ghproxy │ ├── OWNERS │ ├── README.md │ └── throttling-algorithm.md ├── crier │ └── OWNERS ├── horologium │ └── OWNERS ├── prow-controller-manager │ └── OWNERS ├── sub │ └── OWNERS ├── gerrit │ └── OWNERS └── peribolos │ ├── OWNERS │ ├── test-config.yaml │ └── dev.yaml ├── pkg ├── ghhook │ └── testdata │ │ └── token ├── plugins │ ├── cat │ │ └── .gitignore │ ├── goose │ │ └── .gitignore │ ├── jira │ │ └── OWNERS │ ├── testfreeze │ │ ├── OWNERS │ │ └── tools │ │ │ └── tools.go │ ├── bugzilla │ │ └── OWNERS │ ├── approve │ │ └── approvers │ │ │ └── images │ │ │ ├── directory_structure.png │ │ │ └── bot_notification_for_approval_selection_mechanism.png │ ├── cherrypickapproved │ │ ├── OWNERS │ │ └── tools │ │ │ └── tools.go │ └── OWNERS ├── sidecar │ ├── testdata │ │ ├── input │ │ │ ├── artifacts │ │ │ │ ├── empty │ │ │ │ ├── link │ │ │ │ ├── first │ │ │ │ │ ├── encoded.txt │ │ │ │ │ ├── link │ │ │ │ │ ├── exclude │ │ │ │ │ └── log.txt │ │ │ │ ├── archive │ │ │ │ │ ├── nested │ │ │ │ │ │ └── quote.log │ │ │ │ │ └── quote.txt │ │ │ │ └── second │ │ │ │ │ ├── output.log │ │ │ │ │ └── output.encoded │ │ │ └── logs │ │ │ │ ├── one.log │ │ │ │ ├── two.log │ │ │ │ └── three.log │ │ ├── output │ │ │ ├── artifacts │ │ │ │ ├── empty │ │ │ │ ├── first │ │ │ │ │ ├── encoded.txt │ │ │ │ │ ├── exclude │ │ │ │ │ └── log.txt │ │ │ │ ├── archive │ │ │ │ │ ├── nested │ │ │ │ │ │ └── quote.log │ │ │ │ │ └── quote.txt │ │ │ │ ├── second │ │ │ │ │ ├── output.log │ │ │ │ │ └── output.encoded │ │ │ │ └── docker │ │ │ │ │ └── file.txt │ │ │ └── logs │ │ │ │ ├── one.log │ │ │ │ ├── two.log │ │ │ │ └── three.log │ │ ├── secrets │ │ │ ├── a │ │ │ │ └── friend.txt │ │ │ ├── b │ │ │ │ └── advice.txt │ │ │ ├── awscred │ │ │ │ └── .awscred │ │ │ ├── dockercfg │ │ │ │ └── .dockercfg │ │ │ └── dockerconfigjson │ │ │ │ └── .dockerconfigjson │ │ └── archives │ │ │ ├── archive │ │ │ ├── nested │ │ │ │ └── quote.log │ │ │ └── quote.txt │ │ │ └── archive.tar.gz │ ├── OWNERS │ └── doc.go ├── jira │ └── OWNERS ├── genyaml │ ├── testdata │ │ ├── alias_types │ │ │ ├── alias_types.yaml │ │ │ └── example_config.go │ │ ├── inline_structs │ │ │ ├── inline_structs.yaml │ │ │ └── example_config.go │ │ ├── private_members │ │ │ ├── private_members.yaml │ │ │ └── example_config.go │ │ ├── alias_simple_types │ │ │ ├── alias_simple_types.yaml │ │ │ └── example_config.go │ │ ├── no_tags │ │ │ ├── no_tags.yaml │ │ │ └── example_config.go │ │ ├── primitive_types │ │ │ ├── primitive_types.yaml │ │ │ └── example_config.go │ │ ├── omit_if_empty │ │ │ ├── omit_if_empty.yaml │ │ │ └── example_config.go │ │ ├── interface_types │ │ │ ├── interface_types.yaml │ │ │ └── example_config.go │ │ ├── inject_comments │ │ │ └── inject_comments.json │ │ ├── pointer_types │ │ │ ├── pointer_types.yaml │ │ │ └── example_config.go │ │ ├── nested_structs │ │ │ ├── nested_structs.yaml │ │ │ └── example_config.go │ │ ├── sequence_items │ │ │ ├── sequence_items.yaml │ │ │ └── example_config.go │ │ ├── embedded_structs │ │ │ ├── embedded_structs.yaml │ │ │ └── example_config.go │ │ ├── multiline_comments │ │ │ └── multiline_comments.yaml │ │ ├── single_path │ │ │ ├── single_path.json │ │ │ └── example_config.go │ │ ├── set_path_overwrite │ │ │ ├── set_path_overwrite.json │ │ │ └── example_config.go │ │ └── multiple_paths │ │ │ ├── multiple_paths.json │ │ │ ├── example_config1.go │ │ │ └── example_config2.go │ └── OWNERS ├── docs │ ├── architecture.png │ └── logos │ │ ├── logo-vertical.png │ │ └── logo-horizontal.png ├── gangway │ ├── OWNERS │ └── gangway_api_descriptor.pb ├── moonraker │ └── OWNERS ├── jenkins │ ├── OWNERS │ └── doc.go ├── spyglass │ ├── spyglass-example.png │ ├── lenses │ │ ├── html │ │ │ ├── tsconfig.json │ │ │ ├── html.css │ │ │ └── template.html │ │ ├── junit │ │ │ └── tsconfig.json │ │ ├── links │ │ │ ├── tsconfig.json │ │ │ └── links.css │ │ ├── podinfo │ │ │ ├── tsconfig.json │ │ │ └── podinfo.ts │ │ ├── buildlog │ │ │ └── tsconfig.json │ │ ├── restcoverage │ │ │ ├── tsconfig.json │ │ │ └── style.css │ │ ├── metadata │ │ │ ├── tsconfig.json │ │ │ ├── style.css │ │ │ └── metadata.ts │ │ ├── lens.d.ts │ │ ├── coverage │ │ │ ├── tsconfig.json │ │ │ ├── coverage.css │ │ │ └── template.html │ │ └── common │ │ │ └── static │ │ │ └── spyglass-lens.html │ └── OWNERS ├── kube │ ├── testdata │ │ ├── load_from_kubeconfigDir │ │ │ ├── 3.token.txt │ │ │ ├── 2.yaml │ │ │ └── 1.yaml │ │ ├── load_from_kubeconfig │ │ │ └── kubeconfig2 │ │ ├── no_inCluster_config │ │ │ └── kubeconfig │ │ ├── load_from_kubeconfig_and_kubeconfigDir │ │ │ └── kubeconfig │ │ └── load_from_kubeconfigDir_having_contexts_with_the_same_name │ │ │ └── 1.yaml │ └── constants.go ├── bugzilla │ └── OWNERS ├── hook │ └── OWNERS ├── plank │ └── OWNERS ├── clonerefs │ ├── OWNERS │ └── doc.go ├── entrypoint │ ├── OWNERS │ └── doc.go ├── gcsupload │ ├── OWNERS │ └── doc.go ├── initupload │ ├── OWNERS │ └── doc.go ├── statusreconciler │ ├── OWNERS │ └── doc.go ├── tide │ └── OWNERS ├── pod-utils │ ├── OWNERS │ ├── decorate │ │ ├── testdata │ │ │ ├── zz_fixture_TestSidecar_basic_case.yaml │ │ │ └── zz_fixture_TestSidecar_with_secrets.yaml │ │ └── doc.go │ ├── options │ │ └── doc.go │ ├── downwardapi │ │ └── doc.go │ ├── wrapper │ │ └── doc.go │ └── gcs │ │ └── doc.go ├── gerrit │ └── OWNERS ├── crier │ ├── OWNERS │ └── reporters │ │ ├── gcs │ │ └── kubernetes │ │ │ └── api │ │ │ └── api.go │ │ └── criercommonlib │ │ └── shardedlock_test.go ├── deck │ └── OWNERS ├── pubsub │ └── OWNERS ├── ghcache │ └── README.md ├── cip-manifest.yaml ├── OWNERS ├── netlify.toml ├── secretutil │ └── doc.go ├── flagutil │ ├── doc.go │ └── flagutil.go ├── apis │ └── prowjobs │ │ ├── v1 │ │ └── doc.go │ │ └── register.go ├── client │ ├── clientset │ │ └── versioned │ │ │ ├── doc.go │ │ │ ├── fake │ │ │ └── doc.go │ │ │ ├── typed │ │ │ └── prowjobs │ │ │ │ └── v1 │ │ │ │ ├── generated_expansion.go │ │ │ │ ├── doc.go │ │ │ │ └── fake │ │ │ │ └── doc.go │ │ │ └── scheme │ │ │ └── doc.go │ └── listers │ │ └── prowjobs │ │ └── v1 │ │ └── expansion_generated.go ├── pipeline │ └── clientset │ │ └── versioned │ │ ├── doc.go │ │ ├── fake │ │ └── doc.go │ │ ├── typed │ │ └── pipeline │ │ │ └── v1 │ │ │ ├── doc.go │ │ │ ├── fake │ │ │ └── doc.go │ │ │ └── generated_expansion.go │ │ └── scheme │ │ └── doc.go ├── config │ └── moonraker.go ├── markdown │ └── code_block.go ├── git │ └── types │ │ └── types.go ├── slack │ └── client_test.go └── github │ └── links.go ├── hack ├── scripts │ └── .gitignore ├── third_party │ └── gimme │ │ ├── README.md │ │ └── LICENSE ├── ts.rollup_bundle.min.minify_options.json ├── boilerplate │ ├── boilerplate.go.txt │ ├── boilerplate.py.txt │ ├── boilerplate.bzl.txt │ ├── boilerplate.generated.go.txt │ ├── boilerplate.sh.txt │ ├── boilerplate.Dockerfile.txt │ └── boilerplate.Makefile.txt ├── make-rules │ ├── go-test │ │ └── all.sh │ ├── update │ │ ├── file-perms.sh │ │ └── gofmt.sh │ ├── verify │ │ ├── boilerplate.sh │ │ └── gofmt.sh │ └── py-test │ │ └── activate-python_venv.sh ├── build │ └── ensure-node_modules.sh ├── tools │ └── ensure-kind.sh └── run-in-python-container.sh ├── site ├── .rgignore ├── .gitignore ├── OWNERS ├── content │ └── en │ │ ├── docs │ │ ├── test │ │ │ └── _index.md │ │ ├── components │ │ │ ├── cli-tools │ │ │ │ ├── _index.md │ │ │ │ ├── mkpj.md │ │ │ │ ├── mkpod.md │ │ │ │ ├── checkconfig.md │ │ │ │ ├── invitations-accepter.md │ │ │ │ └── config-bootstrapper.md │ │ │ ├── core │ │ │ │ ├── _index.md │ │ │ │ ├── deck │ │ │ │ │ ├── prow_abort.png │ │ │ │ │ ├── prow_rerun.png │ │ │ │ │ ├── spyglass_abort.png │ │ │ │ │ └── spyglass_rerun.png │ │ │ │ ├── tide │ │ │ │ │ └── status-context.png │ │ │ │ ├── hook.md │ │ │ │ ├── sinker.md │ │ │ │ └── horologium.md │ │ │ ├── optional │ │ │ │ ├── _index.md │ │ │ │ ├── tot │ │ │ │ │ ├── _index.md │ │ │ │ │ └── fallbackcheck.md │ │ │ │ └── status-reconciler.md │ │ │ ├── deprecated │ │ │ │ └── _index.md │ │ │ ├── undocumented │ │ │ │ ├── _index.md │ │ │ │ ├── admission.md │ │ │ │ └── pipeline.md │ │ │ ├── plugins │ │ │ │ ├── approve │ │ │ │ │ ├── _index.md │ │ │ │ │ └── approvers │ │ │ │ │ │ ├── directory_structure.png │ │ │ │ │ │ └── bot_notification_for_approval_selection_mechanism.png │ │ │ │ ├── lgtm.md │ │ │ │ └── branchcleaner.md │ │ │ ├── external-plugins │ │ │ │ ├── _index.md │ │ │ │ └── cherrypicker.md │ │ │ └── pod-utilities │ │ │ │ └── entrypoint.md │ │ ├── spyglass │ │ │ └── spyglass-example.png │ │ ├── _index.md │ │ ├── config.md │ │ └── legacy-snapshot │ │ │ └── _index.md │ │ └── community │ │ └── _index.md ├── static │ └── images │ │ ├── architecture.png │ │ ├── logo-vertical.png │ │ ├── logo-horizontal.png │ │ └── logo_horizontal_solid.png ├── archetypes │ └── default.md ├── package.json ├── go.mod ├── assets │ └── scss │ │ └── _styles_project.scss ├── go.sum ├── Makefile └── check-broken-links.sh ├── test └── integration │ ├── config │ ├── prow │ │ ├── plugins.yaml │ │ ├── cluster │ │ │ ├── moonraker_rbac.yaml │ │ │ ├── git-config-system.yaml │ │ │ ├── crier_service.yaml │ │ │ ├── horologium_service.yaml │ │ │ ├── moonraker_service.yaml │ │ │ ├── pipeline_service.yaml │ │ │ ├── gangway_service.yaml │ │ │ ├── 100_starter.yaml │ │ │ ├── gangway_rbac.yaml │ │ │ ├── horologium_rbac.yaml │ │ │ ├── sinker.yaml │ │ │ ├── tide_rbac.yaml │ │ │ ├── hook_rbac.yaml │ │ │ ├── fakeghserver.yaml │ │ │ ├── sinker_service.yaml │ │ │ ├── fakegerritserver.yaml │ │ │ ├── hook_service.yaml │ │ │ ├── prow_controller_manager_service.yaml │ │ │ ├── 101_secrets.yaml │ │ │ ├── deck_service.yaml │ │ │ ├── tide_service.yaml │ │ │ ├── pipeline_deployment.yaml │ │ │ ├── webhook_server_service.yaml │ │ │ ├── crier_deployment.yaml │ │ │ └── fakegcsserver.yaml │ │ └── jobs │ │ │ ├── presets.yaml │ │ │ └── periodics.yaml │ └── tekton │ │ └── test-task.yaml │ ├── OWNERS │ └── test │ ├── testdata │ └── .gitattributes │ └── overall_test.go ├── code-of-conduct.md ├── OWNERS ├── rollup.config.js ├── netlify.toml ├── RELEASE.md ├── SECURITY_CONTACTS ├── .golangci.yml ├── cloudbuild.yaml ├── tsconfig.json ├── SECURITY.md ├── .prow-images.yaml └── package.json /.gitmodules: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /.go-version: -------------------------------------------------------------------------------- 1 | 1.24.0 2 | -------------------------------------------------------------------------------- /cmd/deck/.gitignore: -------------------------------------------------------------------------------- 1 | kodata 2 | -------------------------------------------------------------------------------- /pkg/ghhook/testdata/token: -------------------------------------------------------------------------------- 1 | token 2 | -------------------------------------------------------------------------------- /pkg/plugins/cat/.gitignore: -------------------------------------------------------------------------------- 1 | api-key 2 | -------------------------------------------------------------------------------- /pkg/plugins/goose/.gitignore: -------------------------------------------------------------------------------- 1 | api-key 2 | -------------------------------------------------------------------------------- /pkg/sidecar/testdata/input/artifacts/empty: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /pkg/sidecar/testdata/output/artifacts/empty: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /hack/scripts/.gitignore: -------------------------------------------------------------------------------- 1 | old_prow/ 2 | prow/ 3 | -------------------------------------------------------------------------------- /pkg/sidecar/testdata/input/artifacts/link: -------------------------------------------------------------------------------- 1 | ./first 2 | -------------------------------------------------------------------------------- /pkg/sidecar/testdata/secrets/a/friend.txt: -------------------------------------------------------------------------------- 1 | friend 2 | -------------------------------------------------------------------------------- /pkg/sidecar/testdata/secrets/b/advice.txt: -------------------------------------------------------------------------------- 1 | advice 2 | -------------------------------------------------------------------------------- /pkg/sidecar/testdata/input/logs/one.log: -------------------------------------------------------------------------------- 1 | nothing secret here 2 | -------------------------------------------------------------------------------- /pkg/sidecar/testdata/input/artifacts/first/encoded.txt: -------------------------------------------------------------------------------- 1 | ZnJpZW5k 2 | -------------------------------------------------------------------------------- /pkg/sidecar/testdata/input/artifacts/first/link: -------------------------------------------------------------------------------- 1 | ./encoded.txt 2 | -------------------------------------------------------------------------------- /pkg/sidecar/testdata/output/artifacts/first/encoded.txt: -------------------------------------------------------------------------------- 1 | XXXXXXXX 2 | -------------------------------------------------------------------------------- /pkg/sidecar/testdata/output/logs/one.log: -------------------------------------------------------------------------------- 1 | nothing secret here 2 | -------------------------------------------------------------------------------- /cmd/external-plugins/cherrypicker/OWNERS: -------------------------------------------------------------------------------- 1 | approvers: 2 | - matthyx 3 | -------------------------------------------------------------------------------- /pkg/sidecar/testdata/input/logs/two.log: -------------------------------------------------------------------------------- 1 | I give my friends advice! 2 | -------------------------------------------------------------------------------- /pkg/sidecar/testdata/output/logs/two.log: -------------------------------------------------------------------------------- 1 | I give my XXXXXXs XXXXXX! 2 | -------------------------------------------------------------------------------- /site/.rgignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | package-lock.json 3 | public 4 | resources 5 | -------------------------------------------------------------------------------- /pkg/jira/OWNERS: -------------------------------------------------------------------------------- 1 | reviewers: 2 | - AlexNPavel 3 | approvers: 4 | - AlexNPavel 5 | -------------------------------------------------------------------------------- /pkg/sidecar/testdata/input/artifacts/first/exclude: -------------------------------------------------------------------------------- 1 | Speak, friend, and enter. 2 | -------------------------------------------------------------------------------- /pkg/sidecar/testdata/input/artifacts/first/log.txt: -------------------------------------------------------------------------------- 1 | Speak, friend, and enter. 2 | -------------------------------------------------------------------------------- /pkg/sidecar/testdata/output/artifacts/first/exclude: -------------------------------------------------------------------------------- 1 | Speak, friend, and enter. 2 | -------------------------------------------------------------------------------- /pkg/sidecar/testdata/output/artifacts/first/log.txt: -------------------------------------------------------------------------------- 1 | Speak, XXXXXX, and enter. 2 | -------------------------------------------------------------------------------- /cmd/deck/static/extensions/script.js: -------------------------------------------------------------------------------- 1 | // This file serves for custom javascript extensions -------------------------------------------------------------------------------- /cmd/deck/static/extensions/style.css: -------------------------------------------------------------------------------- 1 | /*This file serves for custom style extensions*/ -------------------------------------------------------------------------------- /pkg/plugins/jira/OWNERS: -------------------------------------------------------------------------------- 1 | reviewers: 2 | - AlexNPavel 3 | approvers: 4 | - AlexNPavel 5 | -------------------------------------------------------------------------------- /site/.gitignore: -------------------------------------------------------------------------------- 1 | .hugo_build.lock 2 | node_modules 3 | public 4 | resources 5 | tmp 6 | -------------------------------------------------------------------------------- /pkg/genyaml/testdata/alias_types/alias_types.yaml: -------------------------------------------------------------------------------- 1 | # StringField comment 2 | string: string 3 | -------------------------------------------------------------------------------- /cmd/hmac/OWNERS: -------------------------------------------------------------------------------- 1 | # See the OWNERS docs at https://go.k8s.io/owners 2 | 3 | labels: 4 | - area/hook 5 | -------------------------------------------------------------------------------- /pkg/plugins/testfreeze/OWNERS: -------------------------------------------------------------------------------- 1 | reviewers: 2 | - saschagrunert 3 | approvers: 4 | - saschagrunert 5 | -------------------------------------------------------------------------------- /cmd/deck/rerun_button.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kubernetes-sigs/prow/HEAD/cmd/deck/rerun_button.png -------------------------------------------------------------------------------- /cmd/sinker/OWNERS: -------------------------------------------------------------------------------- 1 | # See the OWNERS docs at https://go.k8s.io/owners 2 | 3 | labels: 4 | - area/sinker 5 | -------------------------------------------------------------------------------- /pkg/docs/architecture.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kubernetes-sigs/prow/HEAD/pkg/docs/architecture.png -------------------------------------------------------------------------------- /pkg/genyaml/testdata/inline_structs/inline_structs.yaml: -------------------------------------------------------------------------------- 1 | # Name is the name of a resource. 2 | name: test 3 | -------------------------------------------------------------------------------- /pkg/genyaml/testdata/private_members/private_members.yaml: -------------------------------------------------------------------------------- 1 | # Username of person 2 | Username: gamer123 3 | -------------------------------------------------------------------------------- /site/OWNERS: -------------------------------------------------------------------------------- 1 | # See the OWNERS docs at https://go.k8s.io/owners 2 | 3 | labels: 4 | - area/documentation -------------------------------------------------------------------------------- /test/integration/config/prow/plugins.yaml: -------------------------------------------------------------------------------- 1 | plugins: 2 | fake-org-hook: 3 | plugins: 4 | - label 5 | -------------------------------------------------------------------------------- /cmd/deck/static/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kubernetes-sigs/prow/HEAD/cmd/deck/static/favicon.ico -------------------------------------------------------------------------------- /cmd/gangway/OWNERS: -------------------------------------------------------------------------------- 1 | # See the OWNERS docs at https://go.k8s.io/owners 2 | 3 | labels: 4 | - area/gangway 5 | -------------------------------------------------------------------------------- /cmd/moonraker/OWNERS: -------------------------------------------------------------------------------- 1 | # See the OWNERS docs at https://go.k8s.io/owners 2 | 3 | labels: 4 | - area/moonraker 5 | -------------------------------------------------------------------------------- /cmd/tide/status-context.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kubernetes-sigs/prow/HEAD/cmd/tide/status-context.png -------------------------------------------------------------------------------- /pkg/gangway/OWNERS: -------------------------------------------------------------------------------- 1 | # See the OWNERS docs at https://go.k8s.io/owners 2 | 3 | labels: 4 | - area/gangway 5 | -------------------------------------------------------------------------------- /pkg/moonraker/OWNERS: -------------------------------------------------------------------------------- 1 | # See the OWNERS docs at https://go.k8s.io/owners 2 | 3 | labels: 4 | - area/moonraker 5 | -------------------------------------------------------------------------------- /pkg/sidecar/testdata/archives/archive/nested/quote.log: -------------------------------------------------------------------------------- 1 | Many receive advice, only the wise profit from it. 2 | -------------------------------------------------------------------------------- /cmd/deck/static-map: -------------------------------------------------------------------------------- 1 | /cmd/deck/template/->template 2 | /cmd/deck/static/->static 3 | /pkg/spyglass/lenses/->lenses 4 | -------------------------------------------------------------------------------- /cmd/deck/static/logo-dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kubernetes-sigs/prow/HEAD/cmd/deck/static/logo-dark.png -------------------------------------------------------------------------------- /cmd/deck/static/logo-light.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kubernetes-sigs/prow/HEAD/cmd/deck/static/logo-light.png -------------------------------------------------------------------------------- /pkg/jenkins/OWNERS: -------------------------------------------------------------------------------- 1 | # See the OWNERS docs at https://go.k8s.io/owners 2 | 3 | labels: 4 | - area/jenkins-operator 5 | -------------------------------------------------------------------------------- /pkg/sidecar/testdata/input/artifacts/archive/nested/quote.log: -------------------------------------------------------------------------------- 1 | Many receive advice, only the wise profit from it. 2 | -------------------------------------------------------------------------------- /pkg/sidecar/testdata/output/artifacts/archive/nested/quote.log: -------------------------------------------------------------------------------- 1 | Many receive XXXXXX, only the wise profit from it. 2 | -------------------------------------------------------------------------------- /pkg/docs/logos/logo-vertical.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kubernetes-sigs/prow/HEAD/pkg/docs/logos/logo-vertical.png -------------------------------------------------------------------------------- /pkg/genyaml/testdata/alias_simple_types/alias_simple_types.yaml: -------------------------------------------------------------------------------- 1 | # AliasField is a specialized field 2 | string: string 3 | -------------------------------------------------------------------------------- /pkg/spyglass/spyglass-example.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kubernetes-sigs/prow/HEAD/pkg/spyglass/spyglass-example.png -------------------------------------------------------------------------------- /site/content/en/docs/test/_index.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: "Testing Prow" 3 | weight: 210 4 | description: > 5 | 6 | --- 7 | -------------------------------------------------------------------------------- /cmd/branchprotector/OWNERS: -------------------------------------------------------------------------------- 1 | # See the OWNERS docs at https://go.k8s.io/owners 2 | 3 | labels: 4 | - area/branchprotector 5 | -------------------------------------------------------------------------------- /cmd/jenkins-operator/OWNERS: -------------------------------------------------------------------------------- 1 | # See the OWNERS docs at https://go.k8s.io/owners 2 | 3 | labels: 4 | - area/jenkins-operator 5 | -------------------------------------------------------------------------------- /pkg/docs/logos/logo-horizontal.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kubernetes-sigs/prow/HEAD/pkg/docs/logos/logo-horizontal.png -------------------------------------------------------------------------------- /pkg/kube/testdata/load_from_kubeconfigDir/3.token.txt: -------------------------------------------------------------------------------- 1 | not a valid kubeconfig 2 | it would cause errors without being ignored 3 | -------------------------------------------------------------------------------- /site/static/images/architecture.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kubernetes-sigs/prow/HEAD/site/static/images/architecture.png -------------------------------------------------------------------------------- /site/static/images/logo-vertical.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kubernetes-sigs/prow/HEAD/site/static/images/logo-vertical.png -------------------------------------------------------------------------------- /pkg/gangway/gangway_api_descriptor.pb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kubernetes-sigs/prow/HEAD/pkg/gangway/gangway_api_descriptor.pb -------------------------------------------------------------------------------- /site/content/en/docs/components/cli-tools/_index.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: "CLI Tools" 3 | weight: 30 4 | description: > 5 | 6 | --- 7 | -------------------------------------------------------------------------------- /site/content/en/docs/components/core/_index.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: "Core Components" 3 | weight: 10 4 | description: > 5 | 6 | --- 7 | -------------------------------------------------------------------------------- /site/static/images/logo-horizontal.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kubernetes-sigs/prow/HEAD/site/static/images/logo-horizontal.png -------------------------------------------------------------------------------- /test/integration/OWNERS: -------------------------------------------------------------------------------- 1 | # See the OWNERS docs at https://go.k8s.io/owners 2 | 3 | emeritus_approvers: 4 | - chaodaiG 5 | - listx 6 | -------------------------------------------------------------------------------- /cmd/phony/examples/.gitattributes: -------------------------------------------------------------------------------- 1 | # Treat webhook fixtures as generated so they don't clutter PRs 2 | *.json linguist-generated=true 3 | -------------------------------------------------------------------------------- /site/archetypes/default.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: "{{ replace .Name "-" " " | title }}" 3 | date: {{ .Date }} 4 | draft: true 5 | --- 6 | 7 | -------------------------------------------------------------------------------- /pkg/sidecar/testdata/archives/archive/quote.txt: -------------------------------------------------------------------------------- 1 | A friend is one who overlooks your broken fence and admires the flowers in your garden. 2 | -------------------------------------------------------------------------------- /site/content/en/docs/components/optional/_index.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: "Optional Components" 3 | weight: 20 4 | description: > 5 | 6 | --- 7 | -------------------------------------------------------------------------------- /cmd/mkpod/OWNERS: -------------------------------------------------------------------------------- 1 | # See the OWNERS docs at https://go.k8s.io/owners 2 | 3 | reviewers: 4 | - stevekuznetsov 5 | approvers: 6 | - stevekuznetsov 7 | -------------------------------------------------------------------------------- /pkg/sidecar/testdata/archives/archive.tar.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kubernetes-sigs/prow/HEAD/pkg/sidecar/testdata/archives/archive.tar.gz -------------------------------------------------------------------------------- /pkg/sidecar/testdata/input/artifacts/archive/quote.txt: -------------------------------------------------------------------------------- 1 | A friend is one who overlooks your broken fence and admires the flowers in your garden. 2 | -------------------------------------------------------------------------------- /pkg/sidecar/testdata/output/artifacts/archive/quote.txt: -------------------------------------------------------------------------------- 1 | A XXXXXX is one who overlooks your broken fence and admires the flowers in your garden. 2 | -------------------------------------------------------------------------------- /site/content/en/docs/components/deprecated/_index.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: "Deprecated Components" 3 | weight: 90 4 | description: > 5 | 6 | --- 7 | -------------------------------------------------------------------------------- /site/static/images/logo_horizontal_solid.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kubernetes-sigs/prow/HEAD/site/static/images/logo_horizontal_solid.png -------------------------------------------------------------------------------- /test/integration/test/testdata/.gitattributes: -------------------------------------------------------------------------------- 1 | # Treat webhook fixtures as generated so they don't clutter PRs 2 | *.json linguist-generated=true 3 | -------------------------------------------------------------------------------- /site/content/en/docs/components/undocumented/_index.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: "Undocumented Components" 3 | weight: 100 4 | description: > 5 | 6 | --- 7 | -------------------------------------------------------------------------------- /pkg/genyaml/OWNERS: -------------------------------------------------------------------------------- 1 | # See the OWNERS docs at https://go.k8s.io/owners 2 | 3 | # this falls to to repo owners now 4 | emeritus_approvers: 5 | - clarketm 6 | -------------------------------------------------------------------------------- /pkg/sidecar/testdata/input/logs/three.log: -------------------------------------------------------------------------------- 1 | I've parsed the AWS credentials and now know about the aws_access_key_id_value and aws_secret_access_key_value! 2 | -------------------------------------------------------------------------------- /pkg/sidecar/testdata/output/logs/three.log: -------------------------------------------------------------------------------- 1 | I've parsed the AWS credentials and now know about the XXXXXXXXXXXXXXXXXXXXXXX and XXXXXXXXXXXXXXXXXXXXXXXXXXX! 2 | -------------------------------------------------------------------------------- /pkg/sidecar/testdata/secrets/awscred/.awscred: -------------------------------------------------------------------------------- 1 | [default] 2 | aws_access_key_id=aws_access_key_id_value 3 | aws_secret_access_key=aws_secret_access_key_value -------------------------------------------------------------------------------- /site/content/en/docs/spyglass/spyglass-example.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kubernetes-sigs/prow/HEAD/site/content/en/docs/spyglass/spyglass-example.png -------------------------------------------------------------------------------- /cmd/hook/OWNERS: -------------------------------------------------------------------------------- 1 | # See the OWNERS docs at https://go.k8s.io/owners 2 | 3 | reviewers: 4 | - cjwagner 5 | approvers: 6 | - cjwagner 7 | labels: 8 | - area/hook 9 | -------------------------------------------------------------------------------- /pkg/bugzilla/OWNERS: -------------------------------------------------------------------------------- 1 | reviewers: 2 | - stevekuznetsov 3 | - petr-muller 4 | - AlexNPavel 5 | approvers: 6 | - stevekuznetsov 7 | - petr-muller 8 | - AlexNPavel 9 | -------------------------------------------------------------------------------- /pkg/hook/OWNERS: -------------------------------------------------------------------------------- 1 | # See the OWNERS docs at https://go.k8s.io/owners 2 | 3 | reviewers: 4 | - cjwagner 5 | approvers: 6 | - cjwagner 7 | labels: 8 | - area/hook 9 | -------------------------------------------------------------------------------- /site/content/en/docs/_index.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: "Documentation" 3 | linkTitle: "Documentation" 4 | weight: 20 5 | menu: 6 | main: 7 | weight: 20 8 | --- 9 | -------------------------------------------------------------------------------- /site/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "devDependencies": { 3 | "autoprefixer": "^10.4.2", 4 | "postcss": "^8.4.6", 5 | "postcss-cli": "^9.1.0" 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /test/integration/config/prow/cluster/moonraker_rbac.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: ServiceAccount 3 | metadata: 4 | name: moonraker 5 | namespace: default 6 | -------------------------------------------------------------------------------- /pkg/spyglass/lenses/html/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../../../../tsconfig.json", 3 | "include": [ 4 | "html.ts", 5 | "../lens.d.ts" 6 | ], 7 | } 8 | -------------------------------------------------------------------------------- /pkg/spyglass/lenses/junit/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../../../../tsconfig.json", 3 | "include": [ 4 | "lens.ts", 5 | "../lens.d.ts" 6 | ], 7 | } 8 | -------------------------------------------------------------------------------- /pkg/spyglass/lenses/links/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../../../../tsconfig.json", 3 | "include": [ 4 | "links.ts", 5 | "../lens.d.ts" 6 | ], 7 | } 8 | -------------------------------------------------------------------------------- /site/content/en/docs/components/core/deck/prow_abort.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kubernetes-sigs/prow/HEAD/site/content/en/docs/components/core/deck/prow_abort.png -------------------------------------------------------------------------------- /site/content/en/docs/components/core/deck/prow_rerun.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kubernetes-sigs/prow/HEAD/site/content/en/docs/components/core/deck/prow_rerun.png -------------------------------------------------------------------------------- /pkg/plugins/bugzilla/OWNERS: -------------------------------------------------------------------------------- 1 | reviewers: 2 | - stevekuznetsov 3 | - petr-muller 4 | - AlexNPavel 5 | approvers: 6 | - stevekuznetsov 7 | - petr-muller 8 | - AlexNPavel 9 | -------------------------------------------------------------------------------- /pkg/spyglass/lenses/podinfo/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../../../../tsconfig.json", 3 | "include": [ 4 | "podinfo.ts", 5 | "../lens.d.ts" 6 | ], 7 | } 8 | -------------------------------------------------------------------------------- /test/integration/config/prow/jobs/presets.yaml: -------------------------------------------------------------------------------- 1 | presets: 2 | - labels: 3 | preset-foo: "true" 4 | env: 5 | - name: FOO_FILE 6 | value: /etc/foo 7 | -------------------------------------------------------------------------------- /cmd/clonerefs/ssh_config: -------------------------------------------------------------------------------- 1 | Host github.com 2 | HostName github.com 3 | User git 4 | UserKnownHostsFile /github_known_hosts 5 | StrictHostKeyChecking yes 6 | CheckHostIP no -------------------------------------------------------------------------------- /code-of-conduct.md: -------------------------------------------------------------------------------- 1 | # Kubernetes Community Code of Conduct 2 | 3 | Please refer to our [Kubernetes Community Code of Conduct](https://git.k8s.io/community/code-of-conduct.md) 4 | -------------------------------------------------------------------------------- /pkg/plank/OWNERS: -------------------------------------------------------------------------------- 1 | # See the OWNERS docs at https://go.k8s.io/owners 2 | 3 | reviewers: 4 | - cjwagner 5 | approvers: 6 | - cjwagner 7 | emeritus_approvers: 8 | - chaodaiG 9 | -------------------------------------------------------------------------------- /pkg/plugins/approve/approvers/images/directory_structure.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kubernetes-sigs/prow/HEAD/pkg/plugins/approve/approvers/images/directory_structure.png -------------------------------------------------------------------------------- /pkg/spyglass/lenses/buildlog/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../../../../tsconfig.json", 3 | "include": [ 4 | "buildlog.ts", 5 | "../lens.d.ts" 6 | ], 7 | } 8 | -------------------------------------------------------------------------------- /site/content/en/docs/components/core/deck/spyglass_abort.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kubernetes-sigs/prow/HEAD/site/content/en/docs/components/core/deck/spyglass_abort.png -------------------------------------------------------------------------------- /site/content/en/docs/components/core/deck/spyglass_rerun.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kubernetes-sigs/prow/HEAD/site/content/en/docs/components/core/deck/spyglass_rerun.png -------------------------------------------------------------------------------- /site/content/en/docs/components/core/tide/status-context.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kubernetes-sigs/prow/HEAD/site/content/en/docs/components/core/tide/status-context.png -------------------------------------------------------------------------------- /cmd/cm2kc/testdata/single_cluster/single_cluster_in.yaml: -------------------------------------------------------------------------------- 1 | default: 2 | clientCertificate: YQo= 3 | clientKey: Ygo= 4 | clusterCaCertificate: Ywo= 5 | endpoint: https://1.2.3.4 -------------------------------------------------------------------------------- /pkg/sidecar/testdata/input/artifacts/second/output.log: -------------------------------------------------------------------------------- 1 | In my younger and more vulnerable years my father gave me some advice that I’ve been turning over in my mind ever since. 2 | -------------------------------------------------------------------------------- /pkg/sidecar/testdata/output/artifacts/second/output.log: -------------------------------------------------------------------------------- 1 | In my younger and more vulnerable years my father gave me some XXXXXX that I’ve been turning over in my mind ever since. 2 | -------------------------------------------------------------------------------- /pkg/spyglass/lenses/restcoverage/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../../../../tsconfig.json", 3 | "include": [ 4 | "restcoverage.ts", 5 | "../lens.d.ts" 6 | ], 7 | } 8 | -------------------------------------------------------------------------------- /cmd/deck/localdata/.gitignore: -------------------------------------------------------------------------------- 1 | prowjobs.json 2 | prowjobs.js 3 | plugin-help.js 4 | tide.js 5 | tide-history.js 6 | branding.js 7 | pr-data.js 8 | config.yaml 9 | plugins.yaml 10 | -------------------------------------------------------------------------------- /pkg/genyaml/testdata/no_tags/no_tags.yaml: -------------------------------------------------------------------------------- 1 | # BooleanField comment 2 | BooleanField: true 3 | # IntegerField comment 4 | IntegerField: 1 5 | # StringField comment 6 | StringField: string 7 | -------------------------------------------------------------------------------- /pkg/sidecar/testdata/input/artifacts/second/output.encoded: -------------------------------------------------------------------------------- 1 | In my younger and more vulnerable years my father gave me some YWR2aWNl that I’ve been turning over in my mind ever since. 2 | -------------------------------------------------------------------------------- /pkg/sidecar/testdata/output/artifacts/second/output.encoded: -------------------------------------------------------------------------------- 1 | In my younger and more vulnerable years my father gave me some XXXXXXXX that I’ve been turning over in my mind ever since. 2 | -------------------------------------------------------------------------------- /cmd/config-bootstrapper/OWNERS: -------------------------------------------------------------------------------- 1 | # See the OWNERS docs at https://go.k8s.io/owners 2 | 3 | reviewers: 4 | - chases2 5 | - stevekuznetsov 6 | approvers: 7 | - chases2 8 | - stevekuznetsov 9 | -------------------------------------------------------------------------------- /cmd/sidecar/OWNERS: -------------------------------------------------------------------------------- 1 | # See the OWNERS docs at https://go.k8s.io/owners 2 | 3 | reviewers: 4 | - stevekuznetsov 5 | approvers: 6 | - stevekuznetsov 7 | labels: 8 | - area/podutils/sidecar 9 | -------------------------------------------------------------------------------- /pkg/genyaml/testdata/primitive_types/primitive_types.yaml: -------------------------------------------------------------------------------- 1 | # BooleanField comment 2 | boolean: true 3 | # IntegerField comment 4 | integer: 1 5 | # StringField comment 6 | string: string 7 | -------------------------------------------------------------------------------- /pkg/sidecar/OWNERS: -------------------------------------------------------------------------------- 1 | # See the OWNERS docs at https://go.k8s.io/owners 2 | 3 | reviewers: 4 | - stevekuznetsov 5 | approvers: 6 | - stevekuznetsov 7 | labels: 8 | - area/podutils/sidecar 9 | -------------------------------------------------------------------------------- /site/content/en/docs/components/core/hook.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: "Hook" 3 | weight: 30 4 | description: > 5 | 6 | --- 7 | 8 | This is a placeholder page. Some contents needs to be filled. 9 | -------------------------------------------------------------------------------- /cmd/clonerefs/OWNERS: -------------------------------------------------------------------------------- 1 | # See the OWNERS docs at https://go.k8s.io/owners 2 | 3 | reviewers: 4 | - stevekuznetsov 5 | approvers: 6 | - stevekuznetsov 7 | labels: 8 | - area/podutils/clonerefs 9 | -------------------------------------------------------------------------------- /cmd/entrypoint/OWNERS: -------------------------------------------------------------------------------- 1 | # See the OWNERS docs at https://go.k8s.io/owners 2 | 3 | reviewers: 4 | - stevekuznetsov 5 | approvers: 6 | - stevekuznetsov 7 | labels: 8 | - area/podutils/entrypoint 9 | -------------------------------------------------------------------------------- /cmd/gcsupload/OWNERS: -------------------------------------------------------------------------------- 1 | # See the OWNERS docs at https://go.k8s.io/owners 2 | 3 | reviewers: 4 | - stevekuznetsov 5 | approvers: 6 | - stevekuznetsov 7 | labels: 8 | - area/podutils/gcsupload 9 | -------------------------------------------------------------------------------- /cmd/initupload/OWNERS: -------------------------------------------------------------------------------- 1 | # See the OWNERS docs at https://go.k8s.io/owners 2 | 3 | reviewers: 4 | - stevekuznetsov 5 | approvers: 6 | - stevekuznetsov 7 | labels: 8 | - area/podutils/initupload 9 | -------------------------------------------------------------------------------- /hack/third_party/gimme/README.md: -------------------------------------------------------------------------------- 1 | # gimme 2 | 3 | This is an unmodified copy of [gimme], so we don't have to download it 4 | from the internet. 5 | 6 | [gimme]: https://github.com/travis-ci/gimme -------------------------------------------------------------------------------- /pkg/clonerefs/OWNERS: -------------------------------------------------------------------------------- 1 | # See the OWNERS docs at https://go.k8s.io/owners 2 | 3 | reviewers: 4 | - stevekuznetsov 5 | approvers: 6 | - stevekuznetsov 7 | labels: 8 | - area/podutils/clonerefs 9 | -------------------------------------------------------------------------------- /pkg/entrypoint/OWNERS: -------------------------------------------------------------------------------- 1 | # See the OWNERS docs at https://go.k8s.io/owners 2 | 3 | reviewers: 4 | - stevekuznetsov 5 | approvers: 6 | - stevekuznetsov 7 | labels: 8 | - area/podutils/entrypoint 9 | -------------------------------------------------------------------------------- /pkg/gcsupload/OWNERS: -------------------------------------------------------------------------------- 1 | # See the OWNERS docs at https://go.k8s.io/owners 2 | 3 | reviewers: 4 | - stevekuznetsov 5 | approvers: 6 | - stevekuznetsov 7 | labels: 8 | - area/podutils/gcsupload 9 | -------------------------------------------------------------------------------- /pkg/genyaml/testdata/omit_if_empty/omit_if_empty.yaml: -------------------------------------------------------------------------------- 1 | # BooleanField comment 2 | boolean: true 3 | # IntegerField comment 4 | integer: 1 5 | # StringFieldKeepEmpty comment 6 | stringkeep: "" 7 | -------------------------------------------------------------------------------- /pkg/initupload/OWNERS: -------------------------------------------------------------------------------- 1 | # See the OWNERS docs at https://go.k8s.io/owners 2 | 3 | reviewers: 4 | - stevekuznetsov 5 | approvers: 6 | - stevekuznetsov 7 | labels: 8 | - area/podutils/initupload 9 | -------------------------------------------------------------------------------- /site/content/en/docs/components/cli-tools/mkpj.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: "mkpj" 3 | weight: 10 4 | description: > 5 | 6 | --- 7 | 8 | This is a placeholder page. Some contents needs to be filled. 9 | -------------------------------------------------------------------------------- /site/content/en/docs/components/cli-tools/mkpod.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: "mkpod" 3 | weight: 10 4 | description: > 5 | 6 | --- 7 | 8 | This is a placeholder page. Some contents needs to be filled. 9 | -------------------------------------------------------------------------------- /site/content/en/docs/components/core/sinker.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: "Sinker" 3 | weight: 60 4 | description: > 5 | 6 | --- 7 | 8 | This is a placeholder page. Some contents needs to be filled. 9 | -------------------------------------------------------------------------------- /cmd/status-reconciler/OWNERS: -------------------------------------------------------------------------------- 1 | # See the OWNERS docs at https://go.k8s.io/owners 2 | 3 | reviewers: 4 | - stevekuznetsov 5 | approvers: 6 | - stevekuznetsov 7 | labels: 8 | - area/status-reconciler 9 | -------------------------------------------------------------------------------- /pkg/statusreconciler/OWNERS: -------------------------------------------------------------------------------- 1 | # See the OWNERS docs at https://go.k8s.io/owners 2 | 3 | reviewers: 4 | - stevekuznetsov 5 | approvers: 6 | - stevekuznetsov 7 | labels: 8 | - area/status-reconciler 9 | -------------------------------------------------------------------------------- /site/content/en/community/_index.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Community 3 | menu: 4 | main: 5 | weight: 40 6 | --- 7 | 8 | 9 | -------------------------------------------------------------------------------- /site/content/en/docs/components/core/horologium.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: "Horologium" 3 | weight: 40 4 | description: > 5 | 6 | --- 7 | 8 | This is a placeholder page. Some contents needs to be filled. 9 | -------------------------------------------------------------------------------- /site/content/en/docs/components/optional/tot/_index.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: "tot" 3 | weight: 10 4 | description: > 5 | 6 | --- 7 | 8 | This is a placeholder page. Some contents needs to be filled. 9 | -------------------------------------------------------------------------------- /site/content/en/docs/components/plugins/approve/_index.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: "approve" 3 | weight: 10 4 | description: > 5 | 6 | --- 7 | 8 | This is a placeholder page. Some contents needs to be filled. 9 | -------------------------------------------------------------------------------- /site/content/en/docs/components/undocumented/admission.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: "admission" 3 | weight: 10 4 | description: > 5 | 6 | --- 7 | 8 | This is a placeholder page. Some contents needs to be filled. 9 | -------------------------------------------------------------------------------- /site/content/en/docs/components/undocumented/pipeline.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: "pipeline" 3 | weight: 10 4 | description: > 5 | 6 | --- 7 | 8 | This is a placeholder page. Some contents needs to be filled. 9 | -------------------------------------------------------------------------------- /site/go.mod: -------------------------------------------------------------------------------- 1 | module github.com/kubernetes-sigs/prow 2 | 3 | go 1.24 4 | 5 | require ( 6 | github.com/google/docsy v0.12.0 // indirect 7 | github.com/google/docsy/dependencies v0.7.2 // indirect 8 | ) 9 | -------------------------------------------------------------------------------- /cmd/generic-autobumper/OWNERS: -------------------------------------------------------------------------------- 1 | # See the OWNERS docs at https://go.k8s.io/owners 2 | 3 | # this falls to to repo owners now 4 | emeritus_approvers: 5 | - chaodaiG 6 | - mpherman2 7 | labels: 8 | - area/hook 9 | -------------------------------------------------------------------------------- /cmd/tide/OWNERS: -------------------------------------------------------------------------------- 1 | # See the OWNERS docs at https://go.k8s.io/owners 2 | 3 | reviewers: 4 | - cjwagner 5 | approvers: 6 | - cjwagner 7 | emeritus_approvers: 8 | - chaodaiG 9 | labels: 10 | - area/tide 11 | -------------------------------------------------------------------------------- /pkg/genyaml/testdata/interface_types/interface_types.yaml: -------------------------------------------------------------------------------- 1 | # Animals is an array of animals of the zoo 2 | animals: 3 | - # Name of lion 4 | name: Leo 5 | 6 | - # Name of cheetah 7 | name: Charles 8 | -------------------------------------------------------------------------------- /pkg/tide/OWNERS: -------------------------------------------------------------------------------- 1 | # See the OWNERS docs at https://go.k8s.io/owners 2 | 3 | reviewers: 4 | - cjwagner 5 | approvers: 6 | - cjwagner 7 | emeritus_approvers: 8 | - chaodaiG 9 | labels: 10 | - area/tide 11 | -------------------------------------------------------------------------------- /pkg/genyaml/testdata/inject_comments/inject_comments.json: -------------------------------------------------------------------------------- 1 | { 2 | "ExampleStruct": { 3 | "exampleKey": { 4 | "Type": "bool", 5 | "IsObj": false, 6 | "Doc": "Some comment" 7 | } 8 | } 9 | } -------------------------------------------------------------------------------- /site/content/en/docs/components/external-plugins/_index.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: "External Plugins" 3 | weight: 80 4 | description: > 5 | 6 | --- 7 | 8 | This is a placeholder page. Some contents needs to be filled. 9 | -------------------------------------------------------------------------------- /site/content/en/docs/components/plugins/approve/approvers/directory_structure.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kubernetes-sigs/prow/HEAD/site/content/en/docs/components/plugins/approve/approvers/directory_structure.png -------------------------------------------------------------------------------- /test/integration/config/prow/cluster/git-config-system.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: ConfigMap 3 | metadata: 4 | name: git-config-system 5 | data: 6 | config: | 7 | [gc] 8 | pruneexpire = 1.day.ago 9 | -------------------------------------------------------------------------------- /cmd/checkconfig/OWNERS: -------------------------------------------------------------------------------- 1 | # See the OWNERS docs at https://go.k8s.io/owners 2 | 3 | approvers: 4 | - chases2 5 | - stevekuznetsov 6 | - cjwagner 7 | reviewers: 8 | - chases2 9 | - stevekuznetsov 10 | - cjwagner 11 | -------------------------------------------------------------------------------- /pkg/spyglass/lenses/metadata/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../../../../tsconfig.json", 3 | "include": [ 4 | "metadata.ts", 5 | "../lens.d.ts", 6 | "../../../../../node_modules/moment" 7 | ], 8 | } 9 | -------------------------------------------------------------------------------- /cmd/ghproxy/OWNERS: -------------------------------------------------------------------------------- 1 | # See the OWNERS docs at https://go.k8s.io/owners 2 | 3 | reviewers: 4 | - cjwagner 5 | - alvaroaleman 6 | approvers: 7 | - cjwagner 8 | - alvaroaleman 9 | labels: 10 | - area/ghproxy 11 | -------------------------------------------------------------------------------- /cmd/crier/OWNERS: -------------------------------------------------------------------------------- 1 | # See the OWNERS docs at https://go.k8s.io/owners 2 | reviewers: 3 | - cjwagner 4 | approvers: 5 | - cjwagner 6 | emeritus_approvers: 7 | - chaodaiG 8 | - fejta 9 | - krzyzacy 10 | labels: 11 | - area/crier 12 | -------------------------------------------------------------------------------- /cmd/horologium/OWNERS: -------------------------------------------------------------------------------- 1 | # See the OWNERS docs at https://go.k8s.io/owners 2 | 3 | reviewers: 4 | - cjwagner 5 | approvers: 6 | - cjwagner 7 | emeritus_approvers: 8 | - chaodaiG 9 | - fejta 10 | labels: 11 | - area/horologium 12 | -------------------------------------------------------------------------------- /cmd/prow-controller-manager/OWNERS: -------------------------------------------------------------------------------- 1 | # See the OWNERS docs at https://go.k8s.io/owners 2 | 3 | reviewers: 4 | - cjwagner 5 | approvers: 6 | - cjwagner 7 | emeritus_approvers: 8 | - chaodaiG 9 | labels: 10 | - area/prowcm 11 | -------------------------------------------------------------------------------- /pkg/plugins/approve/approvers/images/bot_notification_for_approval_selection_mechanism.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kubernetes-sigs/prow/HEAD/pkg/plugins/approve/approvers/images/bot_notification_for_approval_selection_mechanism.png -------------------------------------------------------------------------------- /pkg/pod-utils/OWNERS: -------------------------------------------------------------------------------- 1 | # See the OWNERS docs at https://go.k8s.io/owners 2 | 3 | reviewers: 4 | - cjwagner 5 | - stevekuznetsov 6 | approvers: 7 | - cjwagner 8 | - stevekuznetsov 9 | 10 | labels: 11 | - area/pod-utilities 12 | -------------------------------------------------------------------------------- /cmd/sub/OWNERS: -------------------------------------------------------------------------------- 1 | # See the OWNERS docs at https://go.k8s.io/owners 2 | 3 | approvers: 4 | - cjwagner 5 | reviewers: 6 | - cjwagner 7 | emeritus_approvers: 8 | - chaodaiG 9 | - listx 10 | - sebastienvas 11 | labels: 12 | - area/pubsub 13 | -------------------------------------------------------------------------------- /pkg/gerrit/OWNERS: -------------------------------------------------------------------------------- 1 | # See the OWNERS docs at https://go.k8s.io/owners 2 | 3 | reviewers: 4 | - chases2 5 | approvers: 6 | - chases2 7 | emeritus_approvers: 8 | - chaodaiG 9 | - fejta 10 | - Katharine 11 | labels: 12 | - area/gerrit 13 | -------------------------------------------------------------------------------- /cmd/gerrit/OWNERS: -------------------------------------------------------------------------------- 1 | # See the OWNERS docs at https://go.k8s.io/owners 2 | 3 | reviewers: 4 | - chases2 5 | approvers: 6 | - chases2 7 | emeritus_approvers: 8 | - amwat 9 | - chaodaiG 10 | - fejta 11 | - krzyzacy 12 | labels: 13 | - area/gerrit 14 | -------------------------------------------------------------------------------- /pkg/crier/OWNERS: -------------------------------------------------------------------------------- 1 | # See the OWNERS docs at https://go.k8s.io/owners 2 | reviewers: 3 | - cjwagner 4 | approvers: 5 | - cjwagner 6 | emeritus_approvers: 7 | - chaodaiG 8 | - fejta 9 | - krzyzacy 10 | - Katharine 11 | labels: 12 | - area/crier 13 | -------------------------------------------------------------------------------- /pkg/genyaml/testdata/pointer_types/pointer_types.yaml: -------------------------------------------------------------------------------- 1 | # Employees is an array of employees of the zoo 2 | employees: 3 | - # Age of employee 4 | Age: 22 5 | # Name of employee 6 | Name: Jim 7 | - Age: 21 8 | Name: Jane 9 | -------------------------------------------------------------------------------- /pkg/spyglass/lenses/lens.d.ts: -------------------------------------------------------------------------------- 1 | import { Spyglass } from "../../../cmd/deck/static/spyglass/lens"; 2 | 3 | declare global { 4 | // The `spyglass` global is injected into the environment the lens runs in by spyglass. 5 | const spyglass: Spyglass; 6 | } 7 | -------------------------------------------------------------------------------- /site/content/en/docs/components/plugins/lgtm.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: "lgtm" 3 | weight: 10 4 | description: > 5 | 6 | --- 7 | 8 | See [the documentation in the approve plugin for details on the LGTM flow](/docs/components/plugins/approve/approvers/#lgtm-label). 9 | -------------------------------------------------------------------------------- /pkg/deck/OWNERS: -------------------------------------------------------------------------------- 1 | # See the OWNERS docs at https://go.k8s.io/owners 2 | reviewers: 3 | - michelle192837 4 | - smg247 5 | approvers: 6 | - michelle192837 7 | - smg247 8 | emeritus_approvers: 9 | - chaodaiG 10 | - mpherman2 11 | labels: 12 | - area/deck 13 | -------------------------------------------------------------------------------- /pkg/pubsub/OWNERS: -------------------------------------------------------------------------------- 1 | # See the OWNERS docs at https://go.k8s.io/owners 2 | 3 | approvers: 4 | - cjwagner 5 | reviewers: 6 | - cjwagner 7 | emeritus_approvers: 8 | - chaodaiG 9 | - listx 10 | - sebastienvas 11 | - yutongz 12 | labels: 13 | - area/pubsub 14 | -------------------------------------------------------------------------------- /site/content/en/docs/components/plugins/approve/approvers/bot_notification_for_approval_selection_mechanism.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kubernetes-sigs/prow/HEAD/site/content/en/docs/components/plugins/approve/approvers/bot_notification_for_approval_selection_mechanism.png -------------------------------------------------------------------------------- /cmd/deck/OWNERS: -------------------------------------------------------------------------------- 1 | # See the OWNERS docs at https://go.k8s.io/owners 2 | reviewers: 3 | - michelle192837 4 | - smg247 5 | approvers: 6 | - michelle192837 7 | - smg247 8 | emeritus_approvers: 9 | - chaodaiG 10 | - Katharine 11 | - mpherman2 12 | labels: 13 | - area/deck 14 | -------------------------------------------------------------------------------- /OWNERS: -------------------------------------------------------------------------------- 1 | # See the OWNERS docs at https://go.k8s.io/owners 2 | 3 | approvers: 4 | - petr-muller 5 | - matthyx 6 | - droslean 7 | - krzyzacy 8 | - smg247 9 | emeritus_approvers: 10 | - alvaroaleman 11 | - cblecker 12 | - cjwagner 13 | - stevekuznetsov 14 | - timwangmusic 15 | -------------------------------------------------------------------------------- /pkg/genyaml/testdata/nested_structs/nested_structs.yaml: -------------------------------------------------------------------------------- 1 | # Age of parent 2 | Age: 35 3 | # Children of parent 4 | Children: 5 | - # Age of child 6 | Age: 4 7 | # Name of child 8 | Name: Jimbo 9 | - Age: 5 10 | Name: Jenny 11 | # Name of parent 12 | Name: Mildred 13 | -------------------------------------------------------------------------------- /pkg/spyglass/OWNERS: -------------------------------------------------------------------------------- 1 | # See the OWNERS docs at https://go.k8s.io/owners 2 | 3 | reviewers: 4 | - michelle192837 5 | - smg247 6 | approvers: 7 | - michelle192837 8 | - smg247 9 | emeritus_approvers: 10 | - chaodaiG 11 | - Katharine 12 | - mpherman2 13 | - paulangton 14 | labels: 15 | - area/spyglass 16 | -------------------------------------------------------------------------------- /hack/ts.rollup_bundle.min.minify_options.json: -------------------------------------------------------------------------------- 1 | { 2 | "compress": { 3 | "keep_fnames": true, 4 | "passes": 3, 5 | "pure_getters": true, 6 | "reduce_funcs": true, 7 | "reduce_vars": true, 8 | "sequences": true 9 | }, 10 | "mangle": true 11 | } 12 | -------------------------------------------------------------------------------- /pkg/genyaml/testdata/sequence_items/sequence_items.yaml: -------------------------------------------------------------------------------- 1 | # Ingredients is a list of things required for the recipe. 2 | ingredients: 3 | - # Amount is how much of this is needed. 4 | amount: 1 5 | # Name is the ingredient's name. 6 | name: potatoes 7 | - amount: 2 8 | name: eggs 9 | -------------------------------------------------------------------------------- /cmd/cm2kc/testdata/multiple_clusters/multiple_clusters_in.yaml: -------------------------------------------------------------------------------- 1 | default: 2 | clientCertificate: YQo= 3 | clientKey: Ygo= 4 | clusterCaCertificate: Ywo= 5 | endpoint: https://1.2.3.4 6 | build: 7 | clientCertificate: ZA== 8 | clientKey: ZQ== 9 | clusterCaCertificate: Zg== 10 | endpoint: https://5.6.7.8 -------------------------------------------------------------------------------- /cmd/deck/static/api/tide-history.ts: -------------------------------------------------------------------------------- 1 | import {Pull} from "../api/prow"; 2 | 3 | export interface HistoryData { 4 | History: {[key: string]: Record[]}; 5 | } 6 | 7 | export interface Record { 8 | time: string; 9 | action: string; 10 | baseSHA?: string; 11 | target?: Pull[]; 12 | err?: string; 13 | } 14 | -------------------------------------------------------------------------------- /test/integration/config/prow/cluster/crier_service.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: Service 3 | metadata: 4 | labels: 5 | app: crier 6 | namespace: default 7 | name: crier 8 | spec: 9 | ports: 10 | - name: metrics 11 | port: 9090 12 | protocol: TCP 13 | selector: 14 | app: crier 15 | -------------------------------------------------------------------------------- /cmd/deck/static/job-history/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../../../../tsconfig.json", 3 | "include": [ 4 | "job-history.ts", 5 | "../common/common.ts", 6 | "../vendor.d.ts", 7 | "../../../../node_modules/moment/moment.d.ts", 8 | "../../../../node_modules/@types/gtag.js/index.d.ts" 9 | ], 10 | } 11 | -------------------------------------------------------------------------------- /cmd/deck/static/tide/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../../../../tsconfig.json", 3 | "include": [ 4 | "tide.ts", 5 | "../common/common.ts", 6 | "../vendor.d.ts", 7 | "../../../../node_modules/moment/moment.d.ts", 8 | "../../../../node_modules/@types/gtag.js/index.d.ts", 9 | "../api", 10 | ], 11 | } 12 | -------------------------------------------------------------------------------- /cmd/peribolos/OWNERS: -------------------------------------------------------------------------------- 1 | # See the OWNERS docs at https://go.k8s.io/owners 2 | 3 | reviewers: 4 | - cblecker 5 | - cjwagner 6 | - MadhavJivrajani 7 | - nikhita 8 | - Priyankasaggu11929 9 | approvers: 10 | - cblecker 11 | - cjwagner 12 | - MadhavJivrajani 13 | - nikhita 14 | - Priyankasaggu11929 15 | labels: 16 | - area/peribolos 17 | -------------------------------------------------------------------------------- /pkg/plugins/cherrypickapproved/OWNERS: -------------------------------------------------------------------------------- 1 | reviewers: 2 | - cpanato 3 | - jeremyrickard 4 | - justaugustus 5 | - palnabarun 6 | - puerco 7 | - saschagrunert 8 | - Verolop 9 | - xmudrii 10 | approvers: 11 | - cpanato 12 | - jeremyrickard 13 | - justaugustus 14 | - palnabarun 15 | - puerco 16 | - saschagrunert 17 | - Verolop 18 | - xmudrii 19 | -------------------------------------------------------------------------------- /test/integration/config/prow/cluster/horologium_service.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: Service 3 | metadata: 4 | labels: 5 | app: horologium 6 | namespace: default 7 | name: horologium 8 | spec: 9 | ports: 10 | - name: metrics 11 | port: 9090 12 | protocol: TCP 13 | selector: 14 | app: horologium 15 | -------------------------------------------------------------------------------- /cmd/deck/static/tide-history/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../../../../tsconfig.json", 3 | "include": [ 4 | "tide-history.ts", 5 | "../common/common.ts", 6 | "../vendor.d.ts", 7 | "../../../../node_modules/moment/moment.d.ts", 8 | "../../../../node_modules/@types/gtag.js/index.d.ts", 9 | "../api", 10 | ], 11 | } 12 | -------------------------------------------------------------------------------- /cmd/deck/static/spyglass/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../../../../tsconfig.json", 3 | "include": [ 4 | "spyglass.ts", 5 | "common.ts", 6 | "lens.ts", 7 | "../common/common.ts", 8 | "../vendor.d.ts", 9 | "../../../../node_modules/moment/moment.d.ts", 10 | "../../../../node_modules/@types/gtag.js/index.d.ts" 11 | ], 12 | } 13 | -------------------------------------------------------------------------------- /cmd/deck/static/prow/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../../../../tsconfig.json", 3 | "include": [ 4 | "prow.ts", 5 | "fuzzy-search.ts", 6 | "histogram.ts", 7 | "../common/common.ts", 8 | "../vendor.d.ts", 9 | "../../../../node_modules/moment/moment.d.ts", 10 | "../../../../node_modules/@types/gtag.js/index.d.ts" 11 | ], 12 | } 13 | -------------------------------------------------------------------------------- /cmd/deck/static/configured-jobs/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../../../../tsconfig.json", 3 | "include": [ 4 | "configured-jobs.ts", 5 | "../common/prettify.ts", 6 | "../common/common.ts", 7 | "../vendor.d.ts", 8 | "../../../../node_modules/moment/moment.d.ts", 9 | "../../../../node_modules/@types/gtag.js/index.d.ts", 10 | ], 11 | } 12 | -------------------------------------------------------------------------------- /cmd/deck/static/plugin-help/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../../../../tsconfig.json", 3 | "include": [ 4 | "plugin-help.ts", 5 | "../common/prettify.ts", 6 | "../common/common.ts", 7 | "../vendor.d.ts", 8 | "../../../../node_modules/moment/moment.d.ts", 9 | "../../../../node_modules/@types/gtag.js/index.d.ts", 10 | "../api" 11 | ], 12 | } 13 | -------------------------------------------------------------------------------- /cmd/deck/static/pr/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../../../../tsconfig.json", 3 | "include": [ 4 | "pr.ts", 5 | "../common/common.ts", 6 | "../vendor.d.ts", 7 | "../../../../node_modules/moment/moment.d.ts", 8 | "../../../../node_modules/@types/gtag.js/index.d.ts", 9 | "../api", 10 | "../../../../node_modules/dialog-polyfill", 11 | ], 12 | } 13 | -------------------------------------------------------------------------------- /cmd/ghproxy/README.md: -------------------------------------------------------------------------------- 1 | DOCUMENTATION DEPRECATION NOTICE: This file is deprecated. Please refer to the 2 | [new migrated location](https://github.com/kubernetes-sigs/prow/blob/main/site/content/en/docs/ghproxy/_index.md). 3 | Please do not edit this file; instead, make changes to the new location! 4 | 5 | The new location is served on the web at 6 | https://docs.prow.k8s.io/docs/ghproxy/. 7 | -------------------------------------------------------------------------------- /pkg/sidecar/testdata/secrets/dockercfg/.dockercfg: -------------------------------------------------------------------------------- 1 | { 2 | "registry.com": { 3 | "username": "bob smith", 4 | "password": "bobspass", 5 | "email": "bob@smith.com", 6 | "auth": "bobsencodedauth" 7 | }, 8 | "other.com": { 9 | "username": "jim james", 10 | "password": "jimspass", 11 | "email": "jim@james.com", 12 | "auth": "jimsencodedauth" 13 | } 14 | } -------------------------------------------------------------------------------- /pkg/ghcache/README.md: -------------------------------------------------------------------------------- 1 | DOCUMENTATION DEPRECATION NOTICE: This file is deprecated. Please refer to the 2 | [new migrated location](https://github.com/kubernetes-sigs/prow/blob/main/site/content/en/docs/ghproxy/ghcache.md). 3 | Please do not edit this file; instead, make changes to the new location! 4 | 5 | The new location is served on the web at 6 | https://docs.prow.k8s.io/docs/ghproxy/ghcache/. 7 | -------------------------------------------------------------------------------- /pkg/genyaml/testdata/embedded_structs/embedded_structs.yaml: -------------------------------------------------------------------------------- 1 | # Address of building 2 | Address: 123 North Main Street 3 | # Bathroom in building 4 | bathroom: 5 | # Height of Bathroom 6 | height: 200 7 | # Width of Bathroom 8 | width: 100 9 | # Bedroom in building 10 | bedroom: 11 | # Height of Bedroom 12 | height: 200 13 | # Width of Bedroom 14 | width: 100 15 | -------------------------------------------------------------------------------- /pkg/spyglass/lenses/coverage/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../../../../tsconfig.json", 3 | "include": [ 4 | "coverage.ts", 5 | "parser.ts", 6 | "utils.ts", 7 | "../lens.d.ts", 8 | "../../../../node_modules/@types/google.visualization/index.d.ts", 9 | "../../../../../node_modules/@types/color", 10 | "../../../../../node_modules/@types/pako" 11 | ], 12 | } 13 | -------------------------------------------------------------------------------- /test/integration/config/prow/cluster/moonraker_service.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: Service 3 | metadata: 4 | name: moonraker 5 | namespace: default 6 | spec: 7 | selector: 8 | app: moonraker 9 | ports: 10 | - name: http 11 | port: 80 12 | targetPort: 8080 13 | protocol: TCP 14 | - name: metrics 15 | port: 9090 16 | protocol: TCP 17 | type: ClusterIP 18 | -------------------------------------------------------------------------------- /cmd/deck/static/command-help/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../../../../tsconfig.json", 3 | "include": [ 4 | "command-help.ts", 5 | "../common/common.ts", 6 | "../vendor.d.ts", 7 | "../../../../node_modules/moment/moment.d.ts", 8 | "../../../../node_modules/@types/gtag.js/index.d.ts", 9 | "../api", 10 | "../../../../node_modules/dialog-polyfill" 11 | ], 12 | } 13 | -------------------------------------------------------------------------------- /test/integration/config/prow/cluster/pipeline_service.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: Service 3 | metadata: 4 | name: pipeline 5 | namespace: default 6 | labels: 7 | app: pipeline 8 | spec: 9 | selector: 10 | app: pipeline 11 | ports: 12 | - name: http 13 | port: 80 14 | targetPort: 8080 15 | - name: metrics 16 | port: 9090 17 | targetPort: 9090 18 | type: ClusterIP 19 | -------------------------------------------------------------------------------- /test/integration/config/prow/cluster/gangway_service.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: Service 3 | metadata: 4 | name: gangway 5 | namespace: default 6 | spec: 7 | selector: 8 | app: gangway 9 | ports: 10 | - name: grpc 11 | port: 32000 12 | targetPort: 32000 13 | nodePort: 32000 14 | protocol: TCP 15 | - name: metrics 16 | port: 9090 17 | protocol: TCP 18 | type: NodePort 19 | -------------------------------------------------------------------------------- /site/content/en/docs/components/cli-tools/checkconfig.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: "checkconfig" 3 | weight: 10 4 | description: > 5 | 6 | --- 7 | 8 | `checkconfig` loads the Prow configuration given with `--config-path`, 9 | `--job-config-path` and `--plugin-config` in order to validate it. 10 | Use `checkconfig` as a pre-submit for any repository holding Prow 11 | configuration to ensure that check-ins do not break anything. 12 | -------------------------------------------------------------------------------- /cmd/ghproxy/throttling-algorithm.md: -------------------------------------------------------------------------------- 1 | DOCUMENTATION DEPRECATION NOTICE: This file is deprecated. Please refer to the 2 | [new migrated location](https://github.com/kubernetes-sigs/prow/blob/main/site/content/en/docs/ghproxy/throttling-algorithm.md). 3 | Please do not edit this file; instead, make changes to the new location! 4 | 5 | The new location is served on the web at 6 | https://docs.prow.k8s.io/docs/ghproxy/throttling-algorithm/. 7 | -------------------------------------------------------------------------------- /pkg/cip-manifest.yaml: -------------------------------------------------------------------------------- 1 | # Container Image Promoter manifest file for promoting images from gcr.io/k8s-prow-edge to gcr.io/k8s-prow 2 | # https://sigs.k8s.io/promo-tools 3 | registries: 4 | - name: gcr.io/k8s-prow-edge # publicly readable, does not need a service account for access 5 | src: true # mark it as the source registry (required) 6 | - name: gcr.io/k8s-prow 7 | service-account: pusher@k8s-prow.iam.gserviceaccount.com 8 | images: 9 | -------------------------------------------------------------------------------- /pkg/genyaml/testdata/multiline_comments/multiline_comments.yaml: -------------------------------------------------------------------------------- 1 | # StringField1 comment 2 | # second line 3 | # third line 4 | string1: string1 5 | # StringField2 comment 6 | # second line 7 | # third line 8 | string2: string2 9 | # StringField3 comment 10 | # second line 11 | # third line 12 | string3: string3 13 | # Paragraph line 14 | string4: string4 15 | # Paragraph block 16 | string5: string5 17 | # Tab Tab TabTab 18 | string6: string6 19 | -------------------------------------------------------------------------------- /pkg/sidecar/testdata/secrets/dockerconfigjson/.dockerconfigjson: -------------------------------------------------------------------------------- 1 | { 2 | "auths": { 3 | "registry.com": { 4 | "username": "BOB SMITH", 5 | "password": "BOBspass", 6 | "email": "BOB@SMITH.com", 7 | "auth": "BOBsencodedauth" 8 | }, 9 | "other.com": { 10 | "username": "JIM JAMES", 11 | "password": "JIMspass", 12 | "email": "JIM@JAMES.com", 13 | "auth": "JIMsencodedauth" 14 | } 15 | } 16 | } -------------------------------------------------------------------------------- /test/integration/config/prow/cluster/100_starter.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: Namespace 3 | metadata: 4 | name: test-pods 5 | --- 6 | apiVersion: v1 7 | kind: Secret 8 | metadata: 9 | namespace: default 10 | name: oauth-token 11 | data: 12 | oauth: ZmFrZW9hdXRodG9rZW4K # From 'fakeoauthtoken' 13 | --- 14 | apiVersion: v1 15 | kind: Secret 16 | metadata: 17 | namespace: default 18 | name: kubeconfig 19 | stringData: 20 | config: "" 21 | -------------------------------------------------------------------------------- /rollup.config.js: -------------------------------------------------------------------------------- 1 | import { nodeResolve } from '@rollup/plugin-node-resolve'; 2 | import commonjs from '@rollup/plugin-commonjs'; 3 | 4 | const inputFile = process.env.ROLLUP_ENTRYPOINT; 5 | const outputFile = process.env.ROLLUP_OUT_FILE; 6 | 7 | export default { 8 | context: "window", 9 | input: inputFile, 10 | output: [ 11 | { 12 | file: outputFile, 13 | format: 'esm' 14 | } 15 | ], 16 | plugins: [nodeResolve(), commonjs()] 17 | }; 18 | -------------------------------------------------------------------------------- /cmd/cm2kc/testdata/single_cluster/single_cluster_out.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | clusters: 3 | - cluster: 4 | certificate-authority-data: Ywo= 5 | server: https://1.2.3.4 6 | name: default 7 | contexts: 8 | - context: 9 | cluster: default 10 | user: default 11 | name: default 12 | current-context: default 13 | kind: Config 14 | preferences: {} 15 | users: 16 | - name: default 17 | user: 18 | client-certificate-data: YQo= 19 | client-key-data: Ygo= 20 | -------------------------------------------------------------------------------- /pkg/OWNERS: -------------------------------------------------------------------------------- 1 | # See the OWNERS docs at https://go.k8s.io/owners 2 | reviewers: 3 | - cblecker 4 | - cjwagner 5 | - matthyx 6 | - michelle192837 7 | - petr-muller 8 | - stevekuznetsov 9 | - droslean 10 | - smg247 11 | - jmguzik 12 | approvers: 13 | - cblecker 14 | - cjwagner 15 | - petr-muller 16 | - stevekuznetsov 17 | - droslean 18 | emeritus_approvers: 19 | - spxtr # 2018-09-17 20 | - fejta 21 | - alvaroaleman 22 | labels: 23 | - area/prow 24 | -------------------------------------------------------------------------------- /test/integration/config/tekton/test-task.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: tekton.dev/v1 2 | kind: Task 3 | metadata: 4 | name: test-task 5 | namespace: test-pods 6 | spec: 7 | steps: 8 | - name: echo 9 | image: localhost:5001/alpine 10 | command: 11 | - sh 12 | args: 13 | - -c 14 | - | 15 | echo "Hello from Pipeline Controller!" 16 | echo "Sleeping for 30 seconds..." 17 | sleep 30 18 | echo "Done!" 19 | -------------------------------------------------------------------------------- /pkg/genyaml/testdata/single_path/single_path.json: -------------------------------------------------------------------------------- 1 | { 2 | "Example1": { 3 | "boolean": { 4 | "Type": "bool", 5 | "IsObj": false, 6 | "Doc": "Example1 BooleanField comment" 7 | }, 8 | "integer": { 9 | "Type": "int", 10 | "IsObj": false, 11 | "Doc": "Example1 IntegerField comment" 12 | }, 13 | "string": { 14 | "Type": "string", 15 | "IsObj": false, 16 | "Doc": "Example1 StringField comment" 17 | } 18 | } 19 | } -------------------------------------------------------------------------------- /pkg/netlify.toml: -------------------------------------------------------------------------------- 1 | [build] 2 | base = "site/" 3 | publish = "site/public/" 4 | command = "hugo" 5 | 6 | [build.environment] 7 | HUGO_VERSION = "0.147.8" 8 | 9 | [context.production.environment] 10 | HUGO_ENV = "production" 11 | HUGO_BASEURL = "https://prow.sigs.k8s.io/" 12 | 13 | [context.deploy-preview] 14 | command = "hugo --enableGitInfo --buildFuture -b $DEPLOY_PRIME_URL" 15 | 16 | [context.branch-deploy] 17 | command = "hugo --enableGitInfo --buildFuture -b $DEPLOY_PRIME_URL" 18 | -------------------------------------------------------------------------------- /pkg/genyaml/testdata/set_path_overwrite/set_path_overwrite.json: -------------------------------------------------------------------------------- 1 | { 2 | "Example1": { 3 | "boolean": { 4 | "Type": "bool", 5 | "IsObj": false, 6 | "Doc": "Example1 BooleanField comment" 7 | }, 8 | "integer": { 9 | "Type": "int", 10 | "IsObj": false, 11 | "Doc": "Example1 IntegerField comment" 12 | }, 13 | "string": { 14 | "Type": "string", 15 | "IsObj": false, 16 | "Doc": "Example1 StringField comment" 17 | } 18 | } 19 | } -------------------------------------------------------------------------------- /netlify.toml: -------------------------------------------------------------------------------- 1 | [build] 2 | base = "site/" 3 | publish = "public/" 4 | command = "make netlify-build" 5 | ignore = "git diff --quiet $CACHED_COMMIT_REF $COMMIT_REF site" 6 | 7 | [build.environment] 8 | HUGO_VERSION = "0.147.8" 9 | 10 | [context.production.environment] 11 | HUGO_ENV = "production" 12 | HUGO_BASEURL = "https://docs.prow.k8s.io/" 13 | 14 | [context.deploy-preview] 15 | command = "make netlify-deploy-preview" 16 | 17 | [context.branch-deploy] 18 | command = "make netlify-deploy-preview" 19 | -------------------------------------------------------------------------------- /pkg/plugins/OWNERS: -------------------------------------------------------------------------------- 1 | # See the OWNERS docs at https://go.k8s.io/owners 2 | 3 | reviewers: 4 | - cjwagner 5 | # Add ContribEx leads as reviewers on changes to plugins 6 | # since these might be potential changes to the contributor 7 | # workflow. See link: 8 | # http://git.k8s.io/community/sig-contributor-experience/charter.md#cross-cutting-and-externally-facing-processes 9 | required_reviewers: 10 | - MadhavJivrajani 11 | - Priyankasaggu11929 12 | approvers: 13 | - cjwagner 14 | labels: 15 | - area/plugins 16 | -------------------------------------------------------------------------------- /site/content/en/docs/components/plugins/branchcleaner.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: "branchcleaner" 3 | weight: 10 4 | description: > 5 | 6 | --- 7 | 8 | The `branchcleaner` plugin automatically deletes source branches for merged PRs between two branches 9 | on the same repository. This is helpful to keep repos that don't allow forking clean. 10 | 11 | ## Usage 12 | 13 | Enable the `branchcleaner` in the desired repos via the `plugins.yaml`: 14 | 15 | ```yaml 16 | plugins: 17 | org/repo: 18 | - branchcleaner 19 | ``` 20 | -------------------------------------------------------------------------------- /pkg/spyglass/lenses/links/links.css: -------------------------------------------------------------------------------- 1 | body { 2 | padding-bottom: 20px; 3 | } 4 | 5 | .name { 6 | width: 10%; 7 | } 8 | 9 | .hidden-links { 10 | visibility: collapse; 11 | display: none; 12 | } 13 | 14 | .expander { 15 | font-weight: bold; 16 | font-size: 1.5em; 17 | } 18 | 19 | .expander:last-of-type { 20 | text-align: right; 21 | } 22 | 23 | button { 24 | user-select: none; 25 | } 26 | 27 | td.link { 28 | margin-left: 10px; 29 | font-size: 14px; 30 | font-family: monospace; 31 | width: 100%; 32 | } 33 | -------------------------------------------------------------------------------- /site/content/en/docs/components/cli-tools/invitations-accepter.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: "invitations-accepter" 3 | weight: 10 4 | description: > 5 | 6 | --- 7 | 8 | The `invitations-accepter` tool approves all pending repository invitations. 9 | 10 | ## Usage 11 | 12 | *example*: 13 | 14 | ```sh 15 | invitations-accepter --dry-run=false --github-token-path=/etc/github/oauth 16 | ``` 17 | 18 | using with GitHub Apps 19 | 20 | ```sh 21 | invitations-accepter --dry-run=false --github-app-id=12345 --github-app-private-key-path=/etc/github/cert 22 | 23 | ``` 24 | -------------------------------------------------------------------------------- /RELEASE.md: -------------------------------------------------------------------------------- 1 | # Release Process 2 | 3 | The Kubernetes Template Project is released on an as-needed basis. The process is as follows: 4 | 5 | 1. An issue is proposing a new release with a changelog since the last release 6 | 1. All [OWNERS](OWNERS) must LGTM this release 7 | 1. An OWNER runs `git tag -s $VERSION` and inserts the changelog and pushes the tag with `git push $VERSION` 8 | 1. The release issue is closed 9 | 1. An announcement email is sent to `kubernetes-dev@googlegroups.com` with the subject `[ANNOUNCE] kubernetes-template-project $VERSION is released` 10 | -------------------------------------------------------------------------------- /pkg/spyglass/lenses/podinfo/podinfo.ts: -------------------------------------------------------------------------------- 1 | window.addEventListener('load', () => { 2 | document.querySelectorAll('a.mdl-tabs__tab').forEach((e) => { 3 | e.onclick = () => spyglass.contentUpdated(); 4 | }); 5 | 6 | document.querySelectorAll('a.expand-prow').forEach((e) => { 7 | e.onclick = () => { 8 | if (!e.parentElement || !e.parentElement.parentElement) { 9 | return; 10 | } 11 | e.parentElement.parentElement.classList.add("unhide"); 12 | spyglass.contentUpdated(); 13 | }; 14 | }); 15 | }); 16 | -------------------------------------------------------------------------------- /cmd/clonerefs/github_known_hosts: -------------------------------------------------------------------------------- 1 | github.com ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQCj7ndNxQowgcQnjshcLrqPEiiphnt+VTTvDP6mHBL9j1aNUkY4Ue1gvwnGLVlOhGeYrnZaMgRK6+PKCUXaDbC7qtbW8gIkhL7aGCsOr/C56SJMy/BCZfxd1nWzAOxSDPgVsmerOBYfNqltV9/hWCqBywINIR+5dIg6JTJ72pcEpEjcYgXkE2YEFXV1JHnsKgbLWNlhScqb2UmyRkQyytRLtL+38TGxkxCflmO+5Z8CSSNY7GidjMIZ7Q4zMjA2n1nGrlTDkzwDCsw+wqFPGQA179cnfGWOWRVruj16z6XyvxvjJwbz0wQZ75XK5tKSb7FNyeIEs4TT4jk+S4dhPeAUC5y+bDYirYgM4GC7uEnztnZyaVWQ7B381AK4Qdrwt51ZqExKbQpTUNn+EjqoTwvqNj4kqx5QUCI0ThS/YkOxJCXmPUWZbhjpCg56i+2aB6CmK2JGhn57K5mj0MNdBXA4/WnwH6XoPWJzK5Nyu2zB3nAZp+S5hpQs+p1vN1/wsjk= 2 | -------------------------------------------------------------------------------- /cmd/deck/static/api/github.ts: -------------------------------------------------------------------------------- 1 | export type MergeableState = "MERGEABLE" | "CONFLICTING" | "UNKNOWN"; 2 | export type StatusState = "EXPECTED" | "ERROR" | "FAILURE" | "PENDING" | "SUCCESS"; 3 | 4 | export interface Context { 5 | Context: string; 6 | Description: string; 7 | State: StatusState; 8 | } 9 | 10 | export interface Commit { 11 | Status: { 12 | Contexts: Context[]; 13 | }; 14 | OID: string; 15 | } 16 | 17 | export interface Milestone { 18 | Title: string; 19 | } 20 | 21 | export interface PullRequest { 22 | Number: number; 23 | HeadRefOID: string; 24 | Mergeable: MergeableState; 25 | } 26 | -------------------------------------------------------------------------------- /cmd/deck/static/api/help.ts: -------------------------------------------------------------------------------- 1 | export interface Command { 2 | Usage: string; 3 | Featured: boolean; 4 | Description: string; 5 | Examples: string[]; 6 | WhoCanUse: string; 7 | } 8 | 9 | export interface PluginHelp { 10 | Description: string; 11 | Config: {[key: string]: string}; 12 | Events: string[]; 13 | Commands: Command[]; 14 | Snippet?: string; 15 | } 16 | 17 | export interface Help { 18 | AllRepos: string[]; 19 | RepoPlugins: {[key: string]: string[]}; 20 | RepoExternalPlugins: {[key: string]: string[]}; 21 | PluginHelp: {[key: string]: PluginHelp}; 22 | ExternalPluginHelp: {[key: string]: PluginHelp}; 23 | } 24 | -------------------------------------------------------------------------------- /pkg/pod-utils/decorate/testdata/zz_fixture_TestSidecar_basic_case.yaml: -------------------------------------------------------------------------------- 1 | env: 2 | - name: JOB_SPEC 3 | value: spec 4 | - name: SIDECAR_OPTIONS 5 | value: '{"gcs_options":{"items":["first","second","/logs/artifacts"],"bucket":"bucket","dry_run":false},"entries":[{"args":["yes"],"process_log":"","marker_file":"","metadata_file":""}],"entry_error":true,"ignore_interrupts":true,"censoring_options":{}}' 6 | image: sidecar-image 7 | name: sidecar 8 | resources: {} 9 | terminationMessagePolicy: FallbackToLogsOnError 10 | volumeMounts: 11 | - mountPath: /logs 12 | name: logs 13 | - mountPath: /blob 14 | name: blob 15 | - mountPath: /outputs 16 | name: outputs 17 | -------------------------------------------------------------------------------- /hack/boilerplate/boilerplate.go.txt: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright YEAR The Kubernetes Authors. 3 | 4 | Licensed under the Apache License, Version 2.0 (the "License"); 5 | you may not use this file except in compliance with the License. 6 | You may obtain a copy of the License at 7 | 8 | http://www.apache.org/licenses/LICENSE-2.0 9 | 10 | Unless required by applicable law or agreed to in writing, software 11 | distributed under the License is distributed on an "AS IS" BASIS, 12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | See the License for the specific language governing permissions and 14 | limitations under the License. 15 | */ 16 | 17 | -------------------------------------------------------------------------------- /hack/boilerplate/boilerplate.py.txt: -------------------------------------------------------------------------------- 1 | # Copyright YEAR The Kubernetes Authors. 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | -------------------------------------------------------------------------------- /pkg/spyglass/lenses/metadata/style.css: -------------------------------------------------------------------------------- 1 | .test-row { 2 | font-weight: bold; 3 | font-size: 1.1em; 4 | } 5 | 6 | .test-summary { 7 | color: #e8e8e8; 8 | padding-left: 17px; 9 | margin: 0; 10 | } 11 | 12 | .failure-hint { 13 | font-weight: bold; 14 | } 15 | 16 | #bottom-padding { 17 | padding-bottom: 15px; 18 | } 19 | 20 | body { 21 | padding-top: 15px; 22 | } 23 | 24 | .failed { 25 | color: #FF5277; 26 | } 27 | 28 | .passed { 29 | color: #61ff61; 30 | } 31 | 32 | .passed, .failed { 33 | font-weight: bold; 34 | } 35 | 36 | .mdl-data-table .metadata-header th { 37 | font-size: 1.2em; 38 | color: black; 39 | } 40 | -------------------------------------------------------------------------------- /SECURITY_CONTACTS: -------------------------------------------------------------------------------- 1 | # Defined below are the security contacts for this repo. 2 | # 3 | # They are the contact point for the Product Security Committee to reach out 4 | # to for triaging and handling of incoming issues. 5 | # 6 | # The below names agree to abide by the 7 | # [Embargo Policy](https://git.k8s.io/security/private-distributors-list.md#embargo-policy) 8 | # and will be removed and replaced if they violate that agreement. 9 | # 10 | # DO NOT REPORT SECURITY VULNERABILITIES DIRECTLY TO THESE NAMES, FOLLOW THE 11 | # INSTRUCTIONS AT https://kubernetes.io/security/ 12 | 13 | alvaroaleman 14 | cblecker 15 | cjwagner 16 | fejta 17 | stevekuznetsov 18 | petr-muller 19 | -------------------------------------------------------------------------------- /hack/boilerplate/boilerplate.bzl.txt: -------------------------------------------------------------------------------- 1 | # Copyright YEAR The Kubernetes Authors. 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | 15 | -------------------------------------------------------------------------------- /hack/boilerplate/boilerplate.generated.go.txt: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright The Kubernetes Authors. 3 | 4 | Licensed under the Apache License, Version 2.0 (the "License"); 5 | you may not use this file except in compliance with the License. 6 | You may obtain a copy of the License at 7 | 8 | http://www.apache.org/licenses/LICENSE-2.0 9 | 10 | Unless required by applicable law or agreed to in writing, software 11 | distributed under the License is distributed on an "AS IS" BASIS, 12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | See the License for the specific language governing permissions and 14 | limitations under the License. 15 | */ 16 | 17 | 18 | -------------------------------------------------------------------------------- /hack/boilerplate/boilerplate.sh.txt: -------------------------------------------------------------------------------- 1 | # Copyright YEAR The Kubernetes Authors. 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | 15 | -------------------------------------------------------------------------------- /hack/boilerplate/boilerplate.Dockerfile.txt: -------------------------------------------------------------------------------- 1 | # Copyright YEAR The Kubernetes Authors. 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | 15 | -------------------------------------------------------------------------------- /hack/boilerplate/boilerplate.Makefile.txt: -------------------------------------------------------------------------------- 1 | # Copyright YEAR The Kubernetes Authors. 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | 15 | -------------------------------------------------------------------------------- /cmd/deck/template/github-login.html: -------------------------------------------------------------------------------- 1 | {{define "title"}}GitHub Login{{end}} 2 | 3 | {{define "content"}} 4 |
5 |
6 |

Error

7 |
8 |
9 | This Prow instance is not configured to allow logging in with GitHub. 10 |
11 | 16 |
17 | {{end}} 18 | 19 | {{template "page" (settings mobileFriendly lightMode "pr" .)}} 20 | -------------------------------------------------------------------------------- /cmd/deck/static/common/prettify.ts: -------------------------------------------------------------------------------- 1 | export type Language = 2 | "apollo" | 3 | "basic" | 4 | "clj" | 5 | "css" | 6 | "dart" | 7 | "erlang" | 8 | "ex" | 9 | "go" | 10 | "hs" | 11 | "kotlin" | 12 | "lasso" | 13 | "lisp" | 14 | "llvm" | 15 | "logtalk" | 16 | "lua" | 17 | "matlab" | 18 | "ml" | 19 | "mumps" | 20 | "n" | 21 | "pascal" | 22 | "proto" | 23 | "r" | 24 | "rd" | 25 | "rust" | 26 | "scala" | 27 | "sql" | 28 | "swift" | 29 | "tcl" | 30 | "tex" | 31 | "vb" | 32 | "vhdl" | 33 | "wiki" | 34 | "xq" | 35 | "yaml"; 36 | 37 | export interface Prettify { 38 | prettyPrint(): void; 39 | } 40 | -------------------------------------------------------------------------------- /pkg/clonerefs/doc.go: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright 2018 The Kubernetes Authors. 3 | 4 | Licensed under the Apache License, Version 2.0 (the "License"); 5 | you may not use this file except in compliance with the License. 6 | You may obtain a copy of the License at 7 | 8 | http://www.apache.org/licenses/LICENSE-2.0 9 | 10 | Unless required by applicable law or agreed to in writing, software 11 | distributed under the License is distributed on an "AS IS" BASIS, 12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | See the License for the specific language governing permissions and 14 | limitations under the License. 15 | */ 16 | 17 | // Package clonerefs is a library for cloning references 18 | package clonerefs 19 | -------------------------------------------------------------------------------- /pkg/spyglass/lenses/common/static/spyglass-lens.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Spyglass Lens: {{.Title}} 6 | 7 | 8 | 9 | 10 | 11 | 12 | {{.Head}} 13 | 14 | 15 | {{.Body}} 16 | 17 | 18 | -------------------------------------------------------------------------------- /pkg/secretutil/doc.go: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright 2018 The Kubernetes Authors. 3 | 4 | Licensed under the Apache License, Version 2.0 (the "License"); 5 | you may not use this file except in compliance with the License. 6 | You may obtain a copy of the License at 7 | 8 | http://www.apache.org/licenses/LICENSE-2.0 9 | 10 | Unless required by applicable law or agreed to in writing, software 11 | distributed under the License is distributed on an "AS IS" BASIS, 12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | See the License for the specific language governing permissions and 14 | limitations under the License. 15 | */ 16 | 17 | // Package secretutil contains utilities for operating with secret data. 18 | package secretutil 19 | -------------------------------------------------------------------------------- /pkg/pod-utils/options/doc.go: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright 2017 The Kubernetes Authors. 3 | 4 | Licensed under the Apache License, Version 2.0 (the "License"); 5 | you may not use this file except in compliance with the License. 6 | You may obtain a copy of the License at 7 | 8 | http://www.apache.org/licenses/LICENSE-2.0 9 | 10 | Unless required by applicable law or agreed to in writing, software 11 | distributed under the License is distributed on an "AS IS" BASIS, 12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | See the License for the specific language governing permissions and 14 | limitations under the License. 15 | */ 16 | 17 | // Package options abstracts the options loading 18 | // flow for pod utilities 19 | package options 20 | -------------------------------------------------------------------------------- /test/integration/config/prow/cluster/gangway_rbac.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: ServiceAccount 3 | metadata: 4 | name: gangway 5 | namespace: default 6 | --- 7 | kind: Role 8 | apiVersion: rbac.authorization.k8s.io/v1 9 | metadata: 10 | name: gangway 11 | namespace: default 12 | rules: 13 | - apiGroups: 14 | - prow.k8s.io 15 | resources: 16 | - prowjobs 17 | verbs: 18 | - create 19 | - get 20 | - list 21 | - update 22 | --- 23 | kind: RoleBinding 24 | apiVersion: rbac.authorization.k8s.io/v1 25 | metadata: 26 | name: gangway 27 | namespace: default 28 | roleRef: 29 | apiGroup: rbac.authorization.k8s.io 30 | kind: Role 31 | name: gangway 32 | subjects: 33 | - kind: ServiceAccount 34 | name: gangway 35 | -------------------------------------------------------------------------------- /cmd/cm2kc/testdata/multiple_clusters/multiple_clusters_out.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | clusters: 3 | - cluster: 4 | certificate-authority-data: Zg== 5 | server: https://5.6.7.8 6 | name: build 7 | - cluster: 8 | certificate-authority-data: Ywo= 9 | server: https://1.2.3.4 10 | name: default 11 | contexts: 12 | - context: 13 | cluster: build 14 | user: build 15 | name: build 16 | - context: 17 | cluster: default 18 | user: default 19 | name: default 20 | current-context: default 21 | kind: Config 22 | preferences: {} 23 | users: 24 | - name: build 25 | user: 26 | client-certificate-data: ZA== 27 | client-key-data: ZQ== 28 | - name: default 29 | user: 30 | client-certificate-data: YQo= 31 | client-key-data: Ygo= 32 | -------------------------------------------------------------------------------- /pkg/gcsupload/doc.go: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright 2018 The Kubernetes Authors. 3 | 4 | Licensed under the Apache License, Version 2.0 (the "License"); 5 | you may not use this file except in compliance with the License. 6 | You may obtain a copy of the License at 7 | 8 | http://www.apache.org/licenses/LICENSE-2.0 9 | 10 | Unless required by applicable law or agreed to in writing, software 11 | distributed under the License is distributed on an "AS IS" BASIS, 12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | See the License for the specific language governing permissions and 14 | limitations under the License. 15 | */ 16 | 17 | // Package gcsupload uploads artifacts to a GCS path 18 | // resolved from job configuration 19 | package gcsupload 20 | -------------------------------------------------------------------------------- /pkg/flagutil/doc.go: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright 2018 The Kubernetes Authors. 3 | 4 | Licensed under the Apache License, Version 2.0 (the "License"); 5 | you may not use this file except in compliance with the License. 6 | You may obtain a copy of the License at 7 | 8 | http://www.apache.org/licenses/LICENSE-2.0 9 | 10 | Unless required by applicable law or agreed to in writing, software 11 | distributed under the License is distributed on an "AS IS" BASIS, 12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | See the License for the specific language governing permissions and 14 | limitations under the License. 15 | */ 16 | 17 | // Package flagutil contains utilities and interfaces shared between 18 | // several Prow commands. 19 | package flagutil 20 | -------------------------------------------------------------------------------- /test/integration/config/prow/cluster/horologium_rbac.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: ServiceAccount 3 | metadata: 4 | namespace: default 5 | name: "horologium" 6 | --- 7 | kind: Role 8 | apiVersion: rbac.authorization.k8s.io/v1 9 | metadata: 10 | namespace: default 11 | name: "horologium" 12 | rules: 13 | - apiGroups: 14 | - "prow.k8s.io" 15 | resources: 16 | - prowjobs 17 | verbs: 18 | - create 19 | - list 20 | - watch 21 | --- 22 | kind: RoleBinding 23 | apiVersion: rbac.authorization.k8s.io/v1 24 | metadata: 25 | namespace: default 26 | name: "horologium" 27 | roleRef: 28 | apiGroup: rbac.authorization.k8s.io 29 | kind: Role 30 | name: "horologium" 31 | subjects: 32 | - kind: ServiceAccount 33 | name: "horologium" 34 | -------------------------------------------------------------------------------- /pkg/spyglass/lenses/html/html.css: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright 2019 The Kubernetes Authors. 3 | 4 | Licensed under the Apache License, Version 2.0 (the "License"); 5 | you may not use this file except in compliance with the License. 6 | You may obtain a copy of the License at 7 | 8 | http://www.apache.org/licenses/LICENSE-2.0 9 | 10 | Unless required by applicable law or agreed to in writing, software 11 | distributed under the License is distributed on an "AS IS" BASIS, 12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | See the License for the specific language governing permissions and 14 | limitations under the License. 15 | */ 16 | 17 | body { 18 | overflow: hidden; 19 | } 20 | 21 | .hidden-data { 22 | visibility: collapse; 23 | display: none; 24 | } 25 | -------------------------------------------------------------------------------- /site/content/en/docs/config.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: "Prow Configuration" 3 | weight: 130 4 | description: > 5 | 6 | --- 7 | 8 | Core Prow component configuration is managed by the `config` package and stored in the [`Config` struct](https://godoc.org/sigs.k8s.io/prow/pkg/config#Config). If a configuration guide is available for a component it can be found in the ["Components"](/docs/components/) directory. See [`jobs.md`](/docs/jobs/) for a guide to configuring ProwJobs. 9 | Configuration for plugins is handled and stored separately. See the [`plugins`](/docs/components/plugins/) package for details. 10 | 11 | You can find a sample config with all possible options and a documentation of them [here](https://github.com/kubernetes-sigs/prow/blob/main/pkg/config/prow-config-documented.yaml). 12 | -------------------------------------------------------------------------------- /pkg/apis/prowjobs/v1/doc.go: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright 2018 The Kubernetes Authors. 3 | 4 | Licensed under the Apache License, Version 2.0 (the "License"); 5 | you may not use this file except in compliance with the License. 6 | You may obtain a copy of the License at 7 | 8 | http://www.apache.org/licenses/LICENSE-2.0 9 | 10 | Unless required by applicable law or agreed to in writing, software 11 | distributed under the License is distributed on an "AS IS" BASIS, 12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | See the License for the specific language governing permissions and 14 | limitations under the License. 15 | */ 16 | 17 | // +k8s:deepcopy-gen=package 18 | 19 | // Package v1 is the v1 version of the API. 20 | // +groupName=prow.k8s.io 21 | package v1 22 | -------------------------------------------------------------------------------- /pkg/entrypoint/doc.go: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright 2018 The Kubernetes Authors. 3 | 4 | Licensed under the Apache License, Version 2.0 (the "License"); 5 | you may not use this file except in compliance with the License. 6 | You may obtain a copy of the License at 7 | 8 | http://www.apache.org/licenses/LICENSE-2.0 9 | 10 | Unless required by applicable law or agreed to in writing, software 11 | distributed under the License is distributed on an "AS IS" BASIS, 12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | See the License for the specific language governing permissions and 14 | limitations under the License. 15 | */ 16 | 17 | // Package entrypoint is a library that knows how to wrap 18 | // a process and write it's output and exit code to disk 19 | package entrypoint 20 | -------------------------------------------------------------------------------- /pkg/pod-utils/downwardapi/doc.go: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright 2017 The Kubernetes Authors. 3 | 4 | Licensed under the Apache License, Version 2.0 (the "License"); 5 | you may not use this file except in compliance with the License. 6 | You may obtain a copy of the License at 7 | 8 | http://www.apache.org/licenses/LICENSE-2.0 9 | 10 | Unless required by applicable law or agreed to in writing, software 11 | distributed under the License is distributed on an "AS IS" BASIS, 12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | See the License for the specific language governing permissions and 14 | limitations under the License. 15 | */ 16 | 17 | // Package downwardapi declares the types used to expose 18 | // job configuration to the jobs themselves 19 | package downwardapi 20 | -------------------------------------------------------------------------------- /pkg/client/clientset/versioned/doc.go: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright The Kubernetes Authors. 3 | 4 | Licensed under the Apache License, Version 2.0 (the "License"); 5 | you may not use this file except in compliance with the License. 6 | You may obtain a copy of the License at 7 | 8 | http://www.apache.org/licenses/LICENSE-2.0 9 | 10 | Unless required by applicable law or agreed to in writing, software 11 | distributed under the License is distributed on an "AS IS" BASIS, 12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | See the License for the specific language governing permissions and 14 | limitations under the License. 15 | */ 16 | 17 | // Code generated by client-gen. DO NOT EDIT. 18 | 19 | // This package has the automatically generated clientset. 20 | package versioned 21 | -------------------------------------------------------------------------------- /pkg/pod-utils/wrapper/doc.go: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright 2018 The Kubernetes Authors. 3 | 4 | Licensed under the Apache License, Version 2.0 (the "License"); 5 | you may not use this file except in compliance with the License. 6 | You may obtain a copy of the License at 7 | 8 | http://www.apache.org/licenses/LICENSE-2.0 9 | 10 | Unless required by applicable law or agreed to in writing, software 11 | distributed under the License is distributed on an "AS IS" BASIS, 12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | See the License for the specific language governing permissions and 14 | limitations under the License. 15 | */ 16 | 17 | // Package wrapper contains utilities for the processes that 18 | // wrap the test execution in a ProwJob test container 19 | package wrapper 20 | -------------------------------------------------------------------------------- /pkg/client/clientset/versioned/fake/doc.go: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright The Kubernetes Authors. 3 | 4 | Licensed under the Apache License, Version 2.0 (the "License"); 5 | you may not use this file except in compliance with the License. 6 | You may obtain a copy of the License at 7 | 8 | http://www.apache.org/licenses/LICENSE-2.0 9 | 10 | Unless required by applicable law or agreed to in writing, software 11 | distributed under the License is distributed on an "AS IS" BASIS, 12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | See the License for the specific language governing permissions and 14 | limitations under the License. 15 | */ 16 | 17 | // Code generated by client-gen. DO NOT EDIT. 18 | 19 | // This package has the automatically generated fake clientset. 20 | package fake 21 | -------------------------------------------------------------------------------- /pkg/pipeline/clientset/versioned/doc.go: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright The Kubernetes Authors. 3 | 4 | Licensed under the Apache License, Version 2.0 (the "License"); 5 | you may not use this file except in compliance with the License. 6 | You may obtain a copy of the License at 7 | 8 | http://www.apache.org/licenses/LICENSE-2.0 9 | 10 | Unless required by applicable law or agreed to in writing, software 11 | distributed under the License is distributed on an "AS IS" BASIS, 12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | See the License for the specific language governing permissions and 14 | limitations under the License. 15 | */ 16 | 17 | // Code generated by client-gen. DO NOT EDIT. 18 | 19 | // This package has the automatically generated clientset. 20 | package versioned 21 | -------------------------------------------------------------------------------- /test/integration/config/prow/cluster/sinker.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: apps/v1 2 | kind: Deployment 3 | metadata: 4 | namespace: default 5 | name: sinker 6 | labels: 7 | app: sinker 8 | spec: 9 | replicas: 1 10 | selector: 11 | matchLabels: 12 | app: sinker 13 | template: 14 | metadata: 15 | labels: 16 | app: sinker 17 | spec: 18 | serviceAccountName: sinker 19 | containers: 20 | - name: sinker 21 | args: 22 | - --config-path=/etc/config/config.yaml 23 | - --dry-run=false 24 | image: localhost:5001/sinker 25 | volumeMounts: 26 | - name: config 27 | mountPath: /etc/config 28 | readOnly: true 29 | volumes: 30 | - name: config 31 | configMap: 32 | name: config 33 | -------------------------------------------------------------------------------- /pkg/client/clientset/versioned/typed/prowjobs/v1/generated_expansion.go: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright The Kubernetes Authors. 3 | 4 | Licensed under the Apache License, Version 2.0 (the "License"); 5 | you may not use this file except in compliance with the License. 6 | You may obtain a copy of the License at 7 | 8 | http://www.apache.org/licenses/LICENSE-2.0 9 | 10 | Unless required by applicable law or agreed to in writing, software 11 | distributed under the License is distributed on an "AS IS" BASIS, 12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | See the License for the specific language governing permissions and 14 | limitations under the License. 15 | */ 16 | 17 | // Code generated by client-gen. DO NOT EDIT. 18 | 19 | package v1 20 | 21 | type ProwJobExpansion interface{} 22 | -------------------------------------------------------------------------------- /pkg/pipeline/clientset/versioned/fake/doc.go: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright The Kubernetes Authors. 3 | 4 | Licensed under the Apache License, Version 2.0 (the "License"); 5 | you may not use this file except in compliance with the License. 6 | You may obtain a copy of the License at 7 | 8 | http://www.apache.org/licenses/LICENSE-2.0 9 | 10 | Unless required by applicable law or agreed to in writing, software 11 | distributed under the License is distributed on an "AS IS" BASIS, 12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | See the License for the specific language governing permissions and 14 | limitations under the License. 15 | */ 16 | 17 | // Code generated by client-gen. DO NOT EDIT. 18 | 19 | // This package has the automatically generated fake clientset. 20 | package fake 21 | -------------------------------------------------------------------------------- /pkg/client/clientset/versioned/typed/prowjobs/v1/doc.go: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright The Kubernetes Authors. 3 | 4 | Licensed under the Apache License, Version 2.0 (the "License"); 5 | you may not use this file except in compliance with the License. 6 | You may obtain a copy of the License at 7 | 8 | http://www.apache.org/licenses/LICENSE-2.0 9 | 10 | Unless required by applicable law or agreed to in writing, software 11 | distributed under the License is distributed on an "AS IS" BASIS, 12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | See the License for the specific language governing permissions and 14 | limitations under the License. 15 | */ 16 | 17 | // Code generated by client-gen. DO NOT EDIT. 18 | 19 | // This package has the automatically generated typed clients. 20 | package v1 21 | -------------------------------------------------------------------------------- /pkg/sidecar/doc.go: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright 2018 The Kubernetes Authors. 3 | 4 | Licensed under the Apache License, Version 2.0 (the "License"); 5 | you may not use this file except in compliance with the License. 6 | You may obtain a copy of the License at 7 | 8 | http://www.apache.org/licenses/LICENSE-2.0 9 | 10 | Unless required by applicable law or agreed to in writing, software 11 | distributed under the License is distributed on an "AS IS" BASIS, 12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | See the License for the specific language governing permissions and 14 | limitations under the License. 15 | */ 16 | 17 | // Package sidecar is a library that knows how to report on the 18 | // output of a process that writes its output and exit code to 19 | // disk 20 | package sidecar 21 | -------------------------------------------------------------------------------- /site/assets/scss/_styles_project.scss: -------------------------------------------------------------------------------- 1 | /* 2 | * Custom CSS. These override the docsy theme's CSS rules. 3 | * 4 | */ 5 | 6 | // NOTE(listx): This is a workaround from 7 | // https://github.com/mermaid-js/mermaid/issues/1984#issuecomment-963280101. 8 | // Basically mermaidjs currently adds large amounts of whitespace above and 9 | // below the diagram for tall windows. This fix gets around that by making the 10 | // height automatically scale. 11 | // 12 | // When mermaidjs fixes the linked issue above, and when docsy starts using this 13 | // new version of mermaidjs, we can drop this workaround. 14 | .mermaid svg { height: auto; } 15 | 16 | // Override artificial constraint on maximum width for mermaid diagrams. Otherwise we get limited to just 80%. 17 | .td-content pre.mermaid { 18 | max-width: 100%; 19 | } 20 | -------------------------------------------------------------------------------- /pkg/client/clientset/versioned/typed/prowjobs/v1/fake/doc.go: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright The Kubernetes Authors. 3 | 4 | Licensed under the Apache License, Version 2.0 (the "License"); 5 | you may not use this file except in compliance with the License. 6 | You may obtain a copy of the License at 7 | 8 | http://www.apache.org/licenses/LICENSE-2.0 9 | 10 | Unless required by applicable law or agreed to in writing, software 11 | distributed under the License is distributed on an "AS IS" BASIS, 12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | See the License for the specific language governing permissions and 14 | limitations under the License. 15 | */ 16 | 17 | // Code generated by client-gen. DO NOT EDIT. 18 | 19 | // Package fake has the automatically generated clients. 20 | package fake 21 | -------------------------------------------------------------------------------- /pkg/pipeline/clientset/versioned/typed/pipeline/v1/doc.go: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright The Kubernetes Authors. 3 | 4 | Licensed under the Apache License, Version 2.0 (the "License"); 5 | you may not use this file except in compliance with the License. 6 | You may obtain a copy of the License at 7 | 8 | http://www.apache.org/licenses/LICENSE-2.0 9 | 10 | Unless required by applicable law or agreed to in writing, software 11 | distributed under the License is distributed on an "AS IS" BASIS, 12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | See the License for the specific language governing permissions and 14 | limitations under the License. 15 | */ 16 | 17 | // Code generated by client-gen. DO NOT EDIT. 18 | 19 | // This package has the automatically generated typed clients. 20 | package v1 21 | -------------------------------------------------------------------------------- /pkg/pipeline/clientset/versioned/typed/pipeline/v1/fake/doc.go: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright The Kubernetes Authors. 3 | 4 | Licensed under the Apache License, Version 2.0 (the "License"); 5 | you may not use this file except in compliance with the License. 6 | You may obtain a copy of the License at 7 | 8 | http://www.apache.org/licenses/LICENSE-2.0 9 | 10 | Unless required by applicable law or agreed to in writing, software 11 | distributed under the License is distributed on an "AS IS" BASIS, 12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | See the License for the specific language governing permissions and 14 | limitations under the License. 15 | */ 16 | 17 | // Code generated by client-gen. DO NOT EDIT. 18 | 19 | // Package fake has the automatically generated clients. 20 | package fake 21 | -------------------------------------------------------------------------------- /pkg/pod-utils/decorate/doc.go: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright 2017 The Kubernetes Authors. 3 | 4 | Licensed under the Apache License, Version 2.0 (the "License"); 5 | you may not use this file except in compliance with the License. 6 | You may obtain a copy of the License at 7 | 8 | http://www.apache.org/licenses/LICENSE-2.0 9 | 10 | Unless required by applicable law or agreed to in writing, software 11 | distributed under the License is distributed on an "AS IS" BASIS, 12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | See the License for the specific language governing permissions and 14 | limitations under the License. 15 | */ 16 | 17 | // Package decorate is a library for adding to a user-provided PodSpec 18 | // in order to create a full Pod that will fulfill a test job 19 | package decorate 20 | -------------------------------------------------------------------------------- /pkg/client/clientset/versioned/scheme/doc.go: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright The Kubernetes Authors. 3 | 4 | Licensed under the Apache License, Version 2.0 (the "License"); 5 | you may not use this file except in compliance with the License. 6 | You may obtain a copy of the License at 7 | 8 | http://www.apache.org/licenses/LICENSE-2.0 9 | 10 | Unless required by applicable law or agreed to in writing, software 11 | distributed under the License is distributed on an "AS IS" BASIS, 12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | See the License for the specific language governing permissions and 14 | limitations under the License. 15 | */ 16 | 17 | // Code generated by client-gen. DO NOT EDIT. 18 | 19 | // This package contains the scheme of the automatically generated clientset. 20 | package scheme 21 | -------------------------------------------------------------------------------- /pkg/initupload/doc.go: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright 2018 The Kubernetes Authors. 3 | 4 | Licensed under the Apache License, Version 2.0 (the "License"); 5 | you may not use this file except in compliance with the License. 6 | You may obtain a copy of the License at 7 | 8 | http://www.apache.org/licenses/LICENSE-2.0 9 | 10 | Unless required by applicable law or agreed to in writing, software 11 | distributed under the License is distributed on an "AS IS" BASIS, 12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | See the License for the specific language governing permissions and 14 | limitations under the License. 15 | */ 16 | 17 | // Package initupload determines the output status of clone operations and posts that status along 18 | // with artifacts and logs to cloud storage. 19 | package initupload 20 | -------------------------------------------------------------------------------- /pkg/pipeline/clientset/versioned/scheme/doc.go: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright The Kubernetes Authors. 3 | 4 | Licensed under the Apache License, Version 2.0 (the "License"); 5 | you may not use this file except in compliance with the License. 6 | You may obtain a copy of the License at 7 | 8 | http://www.apache.org/licenses/LICENSE-2.0 9 | 10 | Unless required by applicable law or agreed to in writing, software 11 | distributed under the License is distributed on an "AS IS" BASIS, 12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | See the License for the specific language governing permissions and 14 | limitations under the License. 15 | */ 16 | 17 | // Code generated by client-gen. DO NOT EDIT. 18 | 19 | // This package contains the scheme of the automatically generated clientset. 20 | package scheme 21 | -------------------------------------------------------------------------------- /pkg/statusreconciler/doc.go: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright 2018 The Kubernetes Authors. 3 | 4 | Licensed under the Apache License, Version 2.0 (the "License"); 5 | you may not use this file except in compliance with the License. 6 | You may obtain a copy of the License at 7 | 8 | http://www.apache.org/licenses/LICENSE-2.0 9 | 10 | Unless required by applicable law or agreed to in writing, software 11 | distributed under the License is distributed on an "AS IS" BASIS, 12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | See the License for the specific language governing permissions and 14 | limitations under the License. 15 | */ 16 | 17 | // Package statusreconciler ensures that changes to required presubmits 18 | // do not cause PRs in flight to get stuck in the merge queue 19 | package statusreconciler 20 | -------------------------------------------------------------------------------- /cmd/peribolos/test-config.yaml: -------------------------------------------------------------------------------- 1 | orgs: 2 | fejtaverse: 3 | description: very-fancy 4 | default_repository_permission: read 5 | has_organization_projects: false 6 | has_repository_projects: true 7 | admins: 8 | - fejta 9 | - k8s-ci-robot 10 | members: 11 | - fejta-bot 12 | - cblecker 13 | - krzyzacy 14 | - cjwagner 15 | - spiffxp 16 | - paulangton 17 | teams: 18 | bots: 19 | members: 20 | - fejta-bot 21 | maintainers: 22 | - k8s-ci-robot 23 | teams: 24 | robots: 25 | members: ["fejta-bot"] 26 | humans: 27 | maintainers: 28 | - fejta 29 | members: 30 | - spiffxp 31 | superlative-humans: 32 | members: 33 | - krzyzacy 34 | - cblecker 35 | -------------------------------------------------------------------------------- /site/go.sum: -------------------------------------------------------------------------------- 1 | github.com/FortAwesome/Font-Awesome v0.0.0-20230327165841-0698449d50f2/go.mod h1:IUgezN/MFpCDIlFezw3L8j83oeiIuYoj28Miwr/KUYo= 2 | github.com/FortAwesome/Font-Awesome v0.0.0-20241216213156-af620534bfc3/go.mod h1:IUgezN/MFpCDIlFezw3L8j83oeiIuYoj28Miwr/KUYo= 3 | github.com/google/docsy v0.12.0 h1:CddZKL39YyJzawr8GTVaakvcUTCJRAAYdz7W0qfZ2P4= 4 | github.com/google/docsy v0.12.0/go.mod h1:1bioDqA493neyFesaTvQ9reV0V2vYy+xUAnlnz7+miM= 5 | github.com/google/docsy/dependencies v0.7.2 h1:+t5ufoADQAj4XneFphz4A+UU0ICAxmNaRHVWtMYXPSI= 6 | github.com/google/docsy/dependencies v0.7.2/go.mod h1:gihhs5gmgeO+wuoay4FwOzob+jYJVyQbNaQOh788lD4= 7 | github.com/twbs/bootstrap v5.2.3+incompatible/go.mod h1:fZTSrkpSf0/HkL0IIJzvVspTt1r9zuf7XlZau8kpcY0= 8 | github.com/twbs/bootstrap v5.3.6+incompatible/go.mod h1:fZTSrkpSf0/HkL0IIJzvVspTt1r9zuf7XlZau8kpcY0= 9 | -------------------------------------------------------------------------------- /pkg/pod-utils/decorate/testdata/zz_fixture_TestSidecar_with_secrets.yaml: -------------------------------------------------------------------------------- 1 | env: 2 | - name: JOB_SPEC 3 | value: spec 4 | - name: SIDECAR_OPTIONS 5 | value: '{"gcs_options":{"items":["first","second","/logs/artifacts"],"bucket":"bucket","dry_run":false},"entries":[{"args":["yes"],"process_log":"","marker_file":"","metadata_file":""}],"entry_error":true,"ignore_interrupts":true,"censoring_options":{"secret_directories":["/very","/secret","/stuff"]}}' 6 | image: sidecar-image 7 | name: sidecar 8 | resources: {} 9 | terminationMessagePolicy: FallbackToLogsOnError 10 | volumeMounts: 11 | - mountPath: /logs 12 | name: logs 13 | - mountPath: /blob 14 | name: blob 15 | - mountPath: /very 16 | name: very 17 | - mountPath: /secret 18 | name: secret 19 | - mountPath: /stuff 20 | name: stuff 21 | - mountPath: /outputs 22 | name: outputs 23 | -------------------------------------------------------------------------------- /.golangci.yml: -------------------------------------------------------------------------------- 1 | run: 2 | timeout: 15m 3 | exclude-dirs: 4 | - .git 5 | - .tool 6 | - vendor 7 | - verify 8 | 9 | linters-settings: 10 | dupl: 11 | threshold: 100 12 | gocyclo: 13 | min-complexity: 50 14 | govet: 15 | enable: 16 | - nilness 17 | 18 | linters: 19 | enable: 20 | - govet 21 | - unused 22 | - misspell 23 | - ineffassign 24 | - staticcheck 25 | - gosimple 26 | disable-all: true 27 | 28 | issues: 29 | exclude-rules: 30 | - linters: 31 | - golint 32 | text: ".*should not use dot dot imports" 33 | - linters: 34 | - staticcheck 35 | # TODO: Is this really supposed to be deprecated? Ref https://github.com/kubernetes/test-infra/issues/14875 36 | text: "SA1019: t.*.TrustedOrg is deprecated: TrustedOrg functionality is deprecated and will be removed in January 2020" 37 | -------------------------------------------------------------------------------- /pkg/genyaml/testdata/alias_types/example_config.go: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright 2019 The Kubernetes Authors. 3 | 4 | Licensed under the Apache License, Version 2.0 (the "License"); 5 | you may not use this file except in compliance with the License. 6 | You may obtain a copy of the License at 7 | 8 | http://www.apache.org/licenses/LICENSE-2.0 9 | 10 | Unless required by applicable law or agreed to in writing, software 11 | distributed under the License is distributed on an "AS IS" BASIS, 12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | See the License for the specific language governing permissions and 14 | limitations under the License. 15 | */ 16 | 17 | package alias_types 18 | 19 | type Alias = AliasedType 20 | 21 | type AliasedType struct { 22 | // StringField comment 23 | StringField string `json:"string"` 24 | } 25 | -------------------------------------------------------------------------------- /test/integration/config/prow/cluster/tide_rbac.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: ServiceAccount 3 | metadata: 4 | annotations: 5 | iam.gke.io/gcp-service-account: control-plane@k8s-prow.iam.gserviceaccount.com 6 | namespace: default 7 | name: tide 8 | --- 9 | kind: Role 10 | apiVersion: rbac.authorization.k8s.io/v1 11 | metadata: 12 | namespace: default 13 | name: tide 14 | rules: 15 | - apiGroups: 16 | - "prow.k8s.io" 17 | resources: 18 | - prowjobs 19 | verbs: 20 | - create 21 | - list 22 | - get 23 | - watch 24 | --- 25 | kind: RoleBinding 26 | apiVersion: rbac.authorization.k8s.io/v1 27 | metadata: 28 | namespace: default 29 | name: tide 30 | roleRef: 31 | apiGroup: rbac.authorization.k8s.io 32 | kind: Role 33 | name: tide 34 | subjects: 35 | - kind: ServiceAccount 36 | name: tide 37 | -------------------------------------------------------------------------------- /pkg/pod-utils/gcs/doc.go: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright 2017 The Kubernetes Authors. 3 | 4 | Licensed under the Apache License, Version 2.0 (the "License"); 5 | you may not use this file except in compliance with the License. 6 | You may obtain a copy of the License at 7 | 8 | http://www.apache.org/licenses/LICENSE-2.0 9 | 10 | Unless required by applicable law or agreed to in writing, software 11 | distributed under the License is distributed on an "AS IS" BASIS, 12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | See the License for the specific language governing permissions and 14 | limitations under the License. 15 | */ 16 | 17 | // Package gcs handles uploading files and raw data 18 | // to blob storage and determines where in the GCS 19 | // bucket data should go given a specific 20 | // job specification 21 | package gcs 22 | -------------------------------------------------------------------------------- /hack/make-rules/go-test/all.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | # Copyright 2021 The Kubernetes Authors. 3 | # 4 | # Licensed under the Apache License, Version 2.0 (the "License"); 5 | # you may not use this file except in compliance with the License. 6 | # You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | 16 | set -o nounset 17 | set -o errexit 18 | set -o pipefail 19 | 20 | SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd -P)" 21 | cd "${SCRIPT_DIR}" 22 | 23 | ./unit.sh 24 | -------------------------------------------------------------------------------- /test/integration/config/prow/jobs/periodics.yaml: -------------------------------------------------------------------------------- 1 | periodics: 2 | - name: trigger-mainconfig-periodic-via-gangway1 3 | cron: "00 00 31 2 1" # cron is Feb 31 (never) 4 | decorate: true 5 | prowjob_defaults: 6 | tenant_id: "well-behaved-tenant-for-gangway" 7 | spec: 8 | containers: 9 | - image: localhost:5001/alpine 10 | command: 11 | - sh 12 | args: 13 | - -c 14 | - | 15 | set -eu 16 | echo "hello from main config periodic" 17 | - name: sleep-periodic 18 | cron: "00 00 31 2 1" # cron is Feb 31 (never) 19 | decorate: true 20 | prowjob_defaults: 21 | tenant_id: "well-behaved-tenant-for-gangway" 22 | spec: 23 | containers: 24 | - image: localhost:5001/alpine 25 | command: 26 | - sh 27 | args: 28 | - -c 29 | - | 30 | set -eu 31 | sleep infinity 32 | -------------------------------------------------------------------------------- /pkg/genyaml/testdata/alias_simple_types/example_config.go: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright 2019 The Kubernetes Authors. 3 | 4 | Licensed under the Apache License, Version 2.0 (the "License"); 5 | you may not use this file except in compliance with the License. 6 | You may obtain a copy of the License at 7 | 8 | http://www.apache.org/licenses/LICENSE-2.0 9 | 10 | Unless required by applicable law or agreed to in writing, software 11 | distributed under the License is distributed on an "AS IS" BASIS, 12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | See the License for the specific language governing permissions and 14 | limitations under the License. 15 | */ 16 | 17 | package alias_simple_types 18 | 19 | type Alias string 20 | 21 | type SimpleAliases struct { 22 | // AliasField is a specialized field 23 | AliasField Alias `json:"string"` 24 | } 25 | -------------------------------------------------------------------------------- /pkg/spyglass/lenses/coverage/coverage.css: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright 2019 The Kubernetes Authors. 3 | 4 | Licensed under the Apache License, Version 2.0 (the "License"); 5 | you may not use this file except in compliance with the License. 6 | You may obtain a copy of the License at 7 | 8 | http://www.apache.org/licenses/LICENSE-2.0 9 | 10 | Unless required by applicable law or agreed to in writing, software 11 | distributed under the License is distributed on an "AS IS" BASIS, 12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | See the License for the specific language governing permissions and 14 | limitations under the License. 15 | */ 16 | 17 | body { 18 | overflow: hidden; 19 | } 20 | 21 | .leaf { 22 | border: 0.5px solid #303030; 23 | box-sizing: border-box; 24 | } 25 | 26 | #treemap.interactive { 27 | cursor: pointer; 28 | } 29 | -------------------------------------------------------------------------------- /pkg/genyaml/testdata/no_tags/example_config.go: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright 2019 The Kubernetes Authors. 3 | 4 | Licensed under the Apache License, Version 2.0 (the "License"); 5 | you may not use this file except in compliance with the License. 6 | You may obtain a copy of the License at 7 | 8 | http://www.apache.org/licenses/LICENSE-2.0 9 | 10 | Unless required by applicable law or agreed to in writing, software 11 | distributed under the License is distributed on an "AS IS" BASIS, 12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | See the License for the specific language governing permissions and 14 | limitations under the License. 15 | */ 16 | 17 | package no_tags 18 | 19 | type Tagless struct { 20 | // StringField comment 21 | StringField string 22 | // BooleanField comment 23 | BooleanField bool 24 | // IntegerField comment 25 | IntegerField int 26 | } 27 | -------------------------------------------------------------------------------- /cmd/deck/template/configured-jobs-index.html: -------------------------------------------------------------------------------- 1 | {{define "title"}}Configured Jobs{{end}} 2 | {{define "scripts"}} 3 | 4 | {{end}} 5 | {{define "content"}} 6 | 22 | {{end}} 23 | 24 | {{template "page" (settings mobileUnfriendly lightMode "configured-jobs-index" .)}} 25 | -------------------------------------------------------------------------------- /test/integration/config/prow/cluster/hook_rbac.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: ServiceAccount 3 | metadata: 4 | namespace: default 5 | name: "hook" 6 | --- 7 | kind: Role 8 | apiVersion: rbac.authorization.k8s.io/v1 9 | metadata: 10 | namespace: default 11 | name: "hook" 12 | rules: 13 | - apiGroups: 14 | - "prow.k8s.io" 15 | resources: 16 | - prowjobs 17 | verbs: 18 | - create 19 | - get 20 | - list 21 | - update 22 | - apiGroups: 23 | - "" 24 | resources: 25 | - configmaps 26 | verbs: 27 | - create 28 | - get 29 | - update 30 | --- 31 | kind: RoleBinding 32 | apiVersion: rbac.authorization.k8s.io/v1 33 | metadata: 34 | namespace: default 35 | name: "hook" 36 | roleRef: 37 | apiGroup: rbac.authorization.k8s.io 38 | kind: Role 39 | name: "hook" 40 | subjects: 41 | - kind: ServiceAccount 42 | name: "hook" 43 | -------------------------------------------------------------------------------- /hack/make-rules/update/file-perms.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | # Copyright 2021 The Kubernetes Authors. 3 | # 4 | # Licensed under the Apache License, Version 2.0 (the "License"); 5 | # you may not use this file except in compliance with the License. 6 | # You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | 16 | set -o errexit 17 | set -o nounset 18 | set -o pipefail 19 | 20 | REPO_ROOT="$(cd "$(dirname "${BASH_SOURCE[0]}")/../../.." && pwd -P)" 21 | cd $REPO_ROOT 22 | 23 | find . -name "*.sh" \! -perm /a+x -exec chmod +x {} + 24 | -------------------------------------------------------------------------------- /pkg/genyaml/testdata/multiple_paths/multiple_paths.json: -------------------------------------------------------------------------------- 1 | { 2 | "Example1": { 3 | "boolean": { 4 | "Type": "bool", 5 | "IsObj": false, 6 | "Doc": "Example1 BooleanField comment" 7 | }, 8 | "integer": { 9 | "Type": "int", 10 | "IsObj": false, 11 | "Doc": "Example1 IntegerField comment" 12 | }, 13 | "string": { 14 | "Type": "string", 15 | "IsObj": false, 16 | "Doc": "Example1 StringField comment" 17 | } 18 | }, 19 | "Example2": { 20 | "boolean": { 21 | "Type": "bool", 22 | "IsObj": false, 23 | "Doc": "Example2 BooleanField comment" 24 | }, 25 | "integer": { 26 | "Type": "int", 27 | "IsObj": false, 28 | "Doc": "Example2 IntegerField comment" 29 | }, 30 | "string": { 31 | "Type": "string", 32 | "IsObj": false, 33 | "Doc": "Example2 StringField comment" 34 | } 35 | } 36 | } -------------------------------------------------------------------------------- /pkg/config/moonraker.go: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright 2023 The Kubernetes Authors. 3 | 4 | Licensed under the Apache License, Version 2.0 (the "License"); 5 | you may not use this file except in compliance with the License. 6 | You may obtain a copy of the License at 7 | 8 | http://www.apache.org/licenses/LICENSE-2.0 9 | 10 | Unless required by applicable law or agreed to in writing, software 11 | distributed under the License is distributed on an "AS IS" BASIS, 12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | See the License for the specific language governing permissions and 14 | limitations under the License. 15 | */ 16 | 17 | package config 18 | 19 | import ( 20 | metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" 21 | ) 22 | 23 | type Moonraker struct { 24 | ClientTimeout *metav1.Duration `json:"client_timeout,omitempty"` 25 | } 26 | 27 | func (m *Moonraker) Validate() error { 28 | return nil 29 | } 30 | -------------------------------------------------------------------------------- /pkg/markdown/code_block.go: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright 2025 The Kubernetes Authors. 3 | 4 | Licensed under the Apache License, Version 2.0 (the "License"); 5 | you may not use this file except in compliance with the License. 6 | You may obtain a copy of the License at 7 | 8 | http://www.apache.org/licenses/LICENSE-2.0 9 | 10 | Unless required by applicable law or agreed to in writing, software 11 | distributed under the License is distributed on an "AS IS" BASIS, 12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | See the License for the specific language governing permissions and 14 | limitations under the License. 15 | */ 16 | 17 | package markdown 18 | 19 | import ( 20 | "regexp" 21 | ) 22 | 23 | var codeBlockRe = regexp.MustCompile("(?msU)^```.*(\n```\n|\n```$)|(?msU)^~~~.*(\n~~~\n|\n~~~$)") 24 | 25 | func DropCodeBlock(text string) string { 26 | return codeBlockRe.ReplaceAllString(text, "") 27 | } 28 | -------------------------------------------------------------------------------- /cloudbuild.yaml: -------------------------------------------------------------------------------- 1 | # See https://cloud.google.com/cloud-build/docs/build-config 2 | timeout: 3600s 3 | options: 4 | substitution_option: ALLOW_LOOSE 5 | machineType: 'E2_HIGHCPU_32' 6 | steps: 7 | - name: us-central1-docker.pkg.dev/k8s-staging-test-infra/images/kubekins-e2e:latest-master 8 | entrypoint: runner.sh 9 | env: 10 | - GIT_TAG=$_GIT_TAG 11 | - BASE_REF=$_PULL_BASE_REF 12 | - COMMIT=$_PULL_BASE_SHA 13 | - REGISTRY=us-docker.pkg.dev/k8s-infra-prow/images 14 | args: 15 | - make 16 | - push-images 17 | # Unlike a typical image staging project, the images are being published to a privileged prod project 18 | # GCB is only configured to launch jobs with the specified service account. 19 | serviceAccount: projects/k8s-infra-prow/serviceAccounts/image-builder@k8s-infra-prow.iam.gserviceaccount.com 20 | substitutions: 21 | _GIT_TAG: "12345" 22 | _PULL_BASE_REF: "main" 23 | _PULL_BASE_SHA: 'abcdef' 24 | -------------------------------------------------------------------------------- /test/integration/config/prow/cluster/fakeghserver.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: apps/v1 2 | kind: Deployment 3 | metadata: 4 | namespace: default 5 | name: fakeghserver 6 | labels: 7 | app: fakeghserver 8 | spec: 9 | selector: 10 | matchLabels: 11 | app: fakeghserver 12 | replicas: 1 13 | template: 14 | metadata: 15 | labels: 16 | app: fakeghserver 17 | spec: 18 | containers: 19 | - name: fakeghserver 20 | image: localhost:5001/fakeghserver 21 | ports: 22 | - containerPort: 8888 23 | --- 24 | apiVersion: v1 25 | kind: Service 26 | metadata: 27 | labels: 28 | app: fakeghserver 29 | namespace: default 30 | name: fakeghserver 31 | spec: 32 | ports: 33 | - name: main 34 | port: 80 35 | protocol: TCP 36 | targetPort: 8888 37 | - name: metrics 38 | port: 9090 39 | protocol: TCP 40 | selector: 41 | app: fakeghserver 42 | type: ClusterIP 43 | -------------------------------------------------------------------------------- /pkg/pipeline/clientset/versioned/typed/pipeline/v1/generated_expansion.go: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright The Kubernetes Authors. 3 | 4 | Licensed under the Apache License, Version 2.0 (the "License"); 5 | you may not use this file except in compliance with the License. 6 | You may obtain a copy of the License at 7 | 8 | http://www.apache.org/licenses/LICENSE-2.0 9 | 10 | Unless required by applicable law or agreed to in writing, software 11 | distributed under the License is distributed on an "AS IS" BASIS, 12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | See the License for the specific language governing permissions and 14 | limitations under the License. 15 | */ 16 | 17 | // Code generated by client-gen. DO NOT EDIT. 18 | 19 | package v1 20 | 21 | type PipelineExpansion interface{} 22 | 23 | type PipelineRunExpansion interface{} 24 | 25 | type TaskExpansion interface{} 26 | 27 | type TaskRunExpansion interface{} 28 | -------------------------------------------------------------------------------- /pkg/genyaml/testdata/inline_structs/example_config.go: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright 2019 The Kubernetes Authors. 3 | 4 | Licensed under the Apache License, Version 2.0 (the "License"); 5 | you may not use this file except in compliance with the License. 6 | You may obtain a copy of the License at 7 | 8 | http://www.apache.org/licenses/LICENSE-2.0 9 | 10 | Unless required by applicable law or agreed to in writing, software 11 | distributed under the License is distributed on an "AS IS" BASIS, 12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | See the License for the specific language governing permissions and 14 | limitations under the License. 15 | */ 16 | 17 | package inline_structs 18 | 19 | type Metadata struct { 20 | // Name is the name of a resource. 21 | Name string `json:"name"` 22 | } 23 | 24 | type Resource struct { 25 | // This comment string disappears due to the inlining. 26 | Metadata `json:",inline"` 27 | } 28 | -------------------------------------------------------------------------------- /pkg/genyaml/testdata/pointer_types/example_config.go: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright 2019 The Kubernetes Authors. 3 | 4 | Licensed under the Apache License, Version 2.0 (the "License"); 5 | you may not use this file except in compliance with the License. 6 | You may obtain a copy of the License at 7 | 8 | http://www.apache.org/licenses/LICENSE-2.0 9 | 10 | Unless required by applicable law or agreed to in writing, software 11 | distributed under the License is distributed on an "AS IS" BASIS, 12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | See the License for the specific language governing permissions and 14 | limitations under the License. 15 | */ 16 | 17 | package pointer_types 18 | 19 | type Zoo struct { 20 | // Employees is an array of employees of the zoo 21 | Employees []*Employee `json:"employees"` 22 | } 23 | 24 | type Employee struct { 25 | // Name of employee 26 | Name string 27 | // Age of employee 28 | Age int 29 | } 30 | -------------------------------------------------------------------------------- /pkg/genyaml/testdata/primitive_types/example_config.go: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright 2019 The Kubernetes Authors. 3 | 4 | Licensed under the Apache License, Version 2.0 (the "License"); 5 | you may not use this file except in compliance with the License. 6 | You may obtain a copy of the License at 7 | 8 | http://www.apache.org/licenses/LICENSE-2.0 9 | 10 | Unless required by applicable law or agreed to in writing, software 11 | distributed under the License is distributed on an "AS IS" BASIS, 12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | See the License for the specific language governing permissions and 14 | limitations under the License. 15 | */ 16 | 17 | package primitive_types 18 | 19 | type Primitives struct { 20 | // StringField comment 21 | StringField string `json:"string"` 22 | // BooleanField comment 23 | BooleanField bool `json:"boolean"` 24 | // IntegerField comment 25 | IntegerField int `json:"integer"` 26 | } 27 | -------------------------------------------------------------------------------- /pkg/spyglass/lenses/metadata/metadata.ts: -------------------------------------------------------------------------------- 1 | import moment from "moment"; 2 | 3 | const DATE_FORMAT = 'YYYY-MM-DD HH:mm:ss ZZ'; 4 | 5 | const handleClick = (e: MouseEvent): void => { 6 | e.preventDefault(); 7 | const button = document.getElementById('show-table-link')!; 8 | const table = document.getElementById('data-table')!; 9 | table.classList.toggle('hidden'); 10 | if (table.classList.contains('hidden')) { 11 | button.innerText = 'more info'; 12 | } else { 13 | button.innerText = 'less info'; 14 | } 15 | spyglass.contentUpdated(); 16 | }; 17 | 18 | const getLocalStartTime = (): void => { 19 | document.getElementById('show-table-link')!.onclick = handleClick; 20 | const elem = document.getElementById("summary-start-time")!; 21 | elem.innerText = moment(elem.innerText, DATE_FORMAT).calendar().replace(/Last|Yesterday|Today|Tomorrow/, 22 | (m) => m.charAt(0).toLowerCase() + m.substr(1)); 23 | }; 24 | 25 | window.onload = getLocalStartTime; 26 | -------------------------------------------------------------------------------- /pkg/apis/prowjobs/register.go: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright 2018 The Kubernetes Authors. 3 | 4 | Licensed under the Apache License, Version 2.0 (the "License"); 5 | you may not use this file except in compliance with the License. 6 | You may obtain a copy of the License at 7 | 8 | http://www.apache.org/licenses/LICENSE-2.0 9 | 10 | Unless required by applicable law or agreed to in writing, software 11 | distributed under the License is distributed on an "AS IS" BASIS, 12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | See the License for the specific language governing permissions and 14 | limitations under the License. 15 | */ 16 | 17 | package prowjobs 18 | 19 | const ( 20 | // GroupName defines the API group identifier for prow types. 21 | GroupName = "prow.k8s.io" 22 | 23 | // Kind defines the API kind identifier. 24 | Kind = "ProwJob" 25 | ) 26 | 27 | var ( 28 | // KindPlural is the plural form of Kind 29 | KindPlural = Kind + "s" 30 | ) 31 | -------------------------------------------------------------------------------- /pkg/genyaml/testdata/single_path/example_config.go: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright 2019 The Kubernetes Authors. 3 | 4 | Licensed under the Apache License, Version 2.0 (the "License"); 5 | you may not use this file except in compliance with the License. 6 | You may obtain a copy of the License at 7 | 8 | http://www.apache.org/licenses/LICENSE-2.0 9 | 10 | Unless required by applicable law or agreed to in writing, software 11 | distributed under the License is distributed on an "AS IS" BASIS, 12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | See the License for the specific language governing permissions and 14 | limitations under the License. 15 | */ 16 | 17 | package single_path 18 | 19 | type Example1 struct { 20 | // Example1 StringField comment 21 | StringField string `json:"string"` 22 | // Example1 BooleanField comment 23 | BooleanField bool `json:"boolean"` 24 | // Example1 IntegerField comment 25 | IntegerField int `json:"integer"` 26 | } 27 | -------------------------------------------------------------------------------- /test/integration/config/prow/cluster/sinker_service.yaml: -------------------------------------------------------------------------------- 1 | # Copyright 2019 The Kubernetes Authors. All rights reserved. 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | 15 | apiVersion: v1 16 | kind: Service 17 | metadata: 18 | labels: 19 | app: sinker 20 | namespace: default 21 | name: sinker 22 | spec: 23 | ports: 24 | - name: metrics 25 | port: 9090 26 | protocol: TCP 27 | selector: 28 | app: sinker 29 | -------------------------------------------------------------------------------- /pkg/genyaml/testdata/multiple_paths/example_config1.go: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright 2019 The Kubernetes Authors. 3 | 4 | Licensed under the Apache License, Version 2.0 (the "License"); 5 | you may not use this file except in compliance with the License. 6 | You may obtain a copy of the License at 7 | 8 | http://www.apache.org/licenses/LICENSE-2.0 9 | 10 | Unless required by applicable law or agreed to in writing, software 11 | distributed under the License is distributed on an "AS IS" BASIS, 12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | See the License for the specific language governing permissions and 14 | limitations under the License. 15 | */ 16 | 17 | package multiple_paths 18 | 19 | type Example1 struct { 20 | // Example1 StringField comment 21 | StringField string `json:"string"` 22 | // Example1 BooleanField comment 23 | BooleanField bool `json:"boolean"` 24 | // Example1 IntegerField comment 25 | IntegerField int `json:"integer"` 26 | } 27 | -------------------------------------------------------------------------------- /pkg/genyaml/testdata/multiple_paths/example_config2.go: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright 2019 The Kubernetes Authors. 3 | 4 | Licensed under the Apache License, Version 2.0 (the "License"); 5 | you may not use this file except in compliance with the License. 6 | You may obtain a copy of the License at 7 | 8 | http://www.apache.org/licenses/LICENSE-2.0 9 | 10 | Unless required by applicable law or agreed to in writing, software 11 | distributed under the License is distributed on an "AS IS" BASIS, 12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | See the License for the specific language governing permissions and 14 | limitations under the License. 15 | */ 16 | 17 | package multiple_paths 18 | 19 | type Example2 struct { 20 | // Example2 StringField comment 21 | StringField string `json:"string"` 22 | // Example2 BooleanField comment 23 | BooleanField bool `json:"boolean"` 24 | // Example2 IntegerField comment 25 | IntegerField int `json:"integer"` 26 | } 27 | -------------------------------------------------------------------------------- /pkg/plugins/testfreeze/tools/tools.go: -------------------------------------------------------------------------------- 1 | //go:build tools 2 | // +build tools 3 | 4 | /* 5 | Copyright 2022 The Kubernetes Authors. 6 | 7 | Licensed under the Apache License, Version 2.0 (the "License"); 8 | you may not use this file except in compliance with the License. 9 | You may obtain a copy of the License at 10 | 11 | http://www.apache.org/licenses/LICENSE-2.0 12 | 13 | Unless required by applicable law or agreed to in writing, software 14 | distributed under the License is distributed on an "AS IS" BASIS, 15 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 16 | See the License for the specific language governing permissions and 17 | limitations under the License. 18 | */ 19 | 20 | // Official workaround to track tool dependencies with go modules: 21 | // https://github.com/golang/go/wiki/Modules#how-can-i-track-tool-dependencies-for-a-module 22 | 23 | package tools 24 | 25 | import ( 26 | _ "github.com/maxbrunsfeld/counterfeiter/v6" 27 | ) 28 | -------------------------------------------------------------------------------- /test/integration/config/prow/cluster/fakegerritserver.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: apps/v1 2 | kind: Deployment 3 | metadata: 4 | namespace: default 5 | name: fakegerritserver 6 | labels: 7 | app: fakegerritserver 8 | spec: 9 | selector: 10 | matchLabels: 11 | app: fakegerritserver 12 | replicas: 1 13 | template: 14 | metadata: 15 | labels: 16 | app: fakegerritserver 17 | spec: 18 | containers: 19 | - name: fakegerritserver 20 | image: localhost:5001/fakegerritserver 21 | ports: 22 | - containerPort: 8888 23 | --- 24 | apiVersion: v1 25 | kind: Service 26 | metadata: 27 | labels: 28 | app: fakegerritserver 29 | namespace: default 30 | name: fakegerritserver 31 | spec: 32 | ports: 33 | - name: main 34 | port: 80 35 | protocol: TCP 36 | targetPort: 8888 37 | - name: metrics 38 | port: 9090 39 | protocol: TCP 40 | selector: 41 | app: fakegerritserver 42 | type: ClusterIP 43 | -------------------------------------------------------------------------------- /pkg/genyaml/testdata/nested_structs/example_config.go: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright 2019 The Kubernetes Authors. 3 | 4 | Licensed under the Apache License, Version 2.0 (the "License"); 5 | you may not use this file except in compliance with the License. 6 | You may obtain a copy of the License at 7 | 8 | http://www.apache.org/licenses/LICENSE-2.0 9 | 10 | Unless required by applicable law or agreed to in writing, software 11 | distributed under the License is distributed on an "AS IS" BASIS, 12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | See the License for the specific language governing permissions and 14 | limitations under the License. 15 | */ 16 | 17 | package nested_structs 18 | 19 | type Parent struct { 20 | // Name of parent 21 | Name string 22 | // Age of parent 23 | Age int 24 | // Children of parent 25 | Children []Child 26 | } 27 | 28 | type Child struct { 29 | // Name of child 30 | Name string 31 | // Age of child 32 | Age int 33 | } 34 | -------------------------------------------------------------------------------- /pkg/plugins/cherrypickapproved/tools/tools.go: -------------------------------------------------------------------------------- 1 | //go:build tools 2 | // +build tools 3 | 4 | /* 5 | Copyright 2023 The Kubernetes Authors. 6 | 7 | Licensed under the Apache License, Version 2.0 (the "License"); 8 | you may not use this file except in compliance with the License. 9 | You may obtain a copy of the License at 10 | 11 | http://www.apache.org/licenses/LICENSE-2.0 12 | 13 | Unless required by applicable law or agreed to in writing, software 14 | distributed under the License is distributed on an "AS IS" BASIS, 15 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 16 | See the License for the specific language governing permissions and 17 | limitations under the License. 18 | */ 19 | 20 | // Official workaround to track tool dependencies with go modules: 21 | // https://github.com/golang/go/wiki/Modules#how-can-i-track-tool-dependencies-for-a-module 22 | 23 | package tools 24 | 25 | import ( 26 | _ "github.com/maxbrunsfeld/counterfeiter/v6" 27 | ) 28 | -------------------------------------------------------------------------------- /pkg/genyaml/testdata/set_path_overwrite/example_config.go: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright 2019 The Kubernetes Authors. 3 | 4 | Licensed under the Apache License, Version 2.0 (the "License"); 5 | you may not use this file except in compliance with the License. 6 | You may obtain a copy of the License at 7 | 8 | http://www.apache.org/licenses/LICENSE-2.0 9 | 10 | Unless required by applicable law or agreed to in writing, software 11 | distributed under the License is distributed on an "AS IS" BASIS, 12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | See the License for the specific language governing permissions and 14 | limitations under the License. 15 | */ 16 | 17 | package set_path_overwrite 18 | 19 | type Example1 struct { 20 | // Example1 StringField comment 21 | StringField string `json:"string"` 22 | // Example1 BooleanField comment 23 | BooleanField bool `json:"boolean"` 24 | // Example1 IntegerField comment 25 | IntegerField int `json:"integer"` 26 | } 27 | -------------------------------------------------------------------------------- /site/content/en/docs/components/optional/tot/fallbackcheck.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: "fallbackcheck" 3 | weight: 10 4 | description: > 5 | 6 | --- 7 | 8 | Ensure your GCS bucket layout is what `tot` expects to use. Useful when you want to transition 9 | from versioning your GCS buckets away from Jenkins build numbers to build numbers vended 10 | by prow. 11 | 12 | `fallbackcheck` checks the existence of latest-build.txt files as per the [documented GCS layout][1]. 13 | It ignores jobs that have no GCS buckets. 14 | 15 | ## Install 16 | 17 | ```shell 18 | go get sigs.k8s.io/prow/cmd/tot/fallbackcheck 19 | ``` 20 | 21 | ## Run 22 | 23 | ```shell 24 | fallbackcheck -bucket GCS_BUCKET -prow-url LIVE_DECK_DEPLOYMENT 25 | ``` 26 | 27 | For example: 28 | 29 | ```shell 30 | fallbackcheck -bucket https://gcsweb-ci.svc.ci.openshift.org/gcs/origin-ci-test/ -prow-url https://deck-ci.svc.ci.openshift.org/ 31 | ``` 32 | 33 | [1]: https://github.com/kubernetes/test-infra/tree/master/gubernator#gcs-bucket-layout -------------------------------------------------------------------------------- /pkg/crier/reporters/gcs/kubernetes/api/api.go: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright 2020 The Kubernetes Authors. 3 | 4 | Licensed under the Apache License, Version 2.0 (the "License"); 5 | you may not use this file except in compliance with the License. 6 | You may obtain a copy of the License at 7 | 8 | http://www.apache.org/licenses/LICENSE-2.0 9 | 10 | Unless required by applicable law or agreed to in writing, software 11 | distributed under the License is distributed on an "AS IS" BASIS, 12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | See the License for the specific language governing permissions and 14 | limitations under the License. 15 | */ 16 | 17 | package api 18 | 19 | const ( 20 | // FinalizerName is the name of the finalizer the kubernetesreporter 21 | // uses on pods. 22 | FinalizerName = "prow.x-k8s.io/" + ReporterName 23 | // ReporterName is the name of the reporter thats being used in the 24 | // ProwJob status. 25 | ReporterName = "gcsk8sreporter" 26 | ) 27 | -------------------------------------------------------------------------------- /pkg/jenkins/doc.go: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright 2017 The Kubernetes Authors. 3 | 4 | Licensed under the Apache License, Version 2.0 (the "License"); 5 | you may not use this file except in compliance with the License. 6 | You may obtain a copy of the License at 7 | 8 | http://www.apache.org/licenses/LICENSE-2.0 9 | 10 | Unless required by applicable law or agreed to in writing, software 11 | distributed under the License is distributed on an "AS IS" BASIS, 12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | See the License for the specific language governing permissions and 14 | limitations under the License. 15 | */ 16 | 17 | // Package jenkins includes a client and the operational logic for 18 | // managing Jenkins masters in prow. It has been used with the 19 | // following versions of Jenkins: 20 | // 21 | // * 2.60.3 22 | // * 2.73.2 23 | // 24 | // It should most likely work for all versions but use at your own 25 | // risk with a different version. 26 | package jenkins 27 | -------------------------------------------------------------------------------- /pkg/genyaml/testdata/private_members/example_config.go: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright 2019 The Kubernetes Authors. 3 | 4 | Licensed under the Apache License, Version 2.0 (the "License"); 5 | you may not use this file except in compliance with the License. 6 | You may obtain a copy of the License at 7 | 8 | http://www.apache.org/licenses/LICENSE-2.0 9 | 10 | Unless required by applicable law or agreed to in writing, software 11 | distributed under the License is distributed on an "AS IS" BASIS, 12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | See the License for the specific language governing permissions and 14 | limitations under the License. 15 | */ 16 | 17 | package private_members 18 | 19 | type Person struct { 20 | // Username of person 21 | Username string 22 | // password of person 23 | password string 24 | } 25 | 26 | func NewPerson(username string, password string) *Person { 27 | return &Person{ 28 | Username: username, 29 | password: password, 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /cmd/deck/static/api/pr.ts: -------------------------------------------------------------------------------- 1 | import {Context, PullRequest as BasePullRequest} from './github'; 2 | 3 | export interface Label { 4 | ID: object; 5 | Name: string; 6 | } 7 | 8 | export interface Ref { 9 | Name: string; 10 | Prefix: string; 11 | } 12 | 13 | export interface Author { 14 | Login: string; 15 | } 16 | 17 | export interface Repository { 18 | Name: string; 19 | NameWithOwner: string; 20 | Owner: { 21 | Login: string; 22 | }; 23 | } 24 | 25 | export interface PullRequest extends BasePullRequest { 26 | Merged: boolean; 27 | Title: string; 28 | Author: Author; 29 | BaseRef: Ref; 30 | Repository: Repository; 31 | Labels: { 32 | Nodes: { 33 | Label: Label; 34 | }[]; 35 | }; 36 | Milestone: { 37 | Title: string; 38 | }; 39 | } 40 | 41 | export interface PullRequestWithContext { 42 | Contexts: Context[]; 43 | PullRequest: PullRequest; 44 | } 45 | 46 | export interface UserData { 47 | Login: boolean; 48 | PullRequestsWithContexts: PullRequestWithContext[]; 49 | } 50 | -------------------------------------------------------------------------------- /hack/make-rules/update/gofmt.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | # Copyright 2021 The Kubernetes Authors. 3 | # 4 | # Licensed under the Apache License, Version 2.0 (the "License"); 5 | # you may not use this file except in compliance with the License. 6 | # You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | 16 | set -o nounset 17 | set -o errexit 18 | set -o pipefail 19 | 20 | REPO_ROOT="$(cd "$(dirname "${BASH_SOURCE[0]}")/../../.." && pwd -P)" 21 | cd $REPO_ROOT 22 | 23 | echo "Ensuring go version." 24 | source ./hack/build/setup-go.sh 25 | 26 | echo "Go version: $(go version)" 27 | find . -name '*.go' -type f -print0 | xargs -0 gofmt -s -w 28 | -------------------------------------------------------------------------------- /pkg/kube/testdata/load_from_kubeconfig/kubeconfig2: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | clusters: 3 | - cluster: 4 | server: https://api.build02.gcp.ci.openshift.org:6443 5 | name: api-build02-gcp-ci-openshift-org:6443 6 | - cluster: 7 | server: https://api.ci.l2s4.p1.openshiftapps.com:6443 8 | name: api-ci-l2s4-p1-openshiftapps-com:6443 9 | contexts: 10 | - context: 11 | cluster: api-ci-l2s4-p1-openshiftapps-com:6443 12 | namespace: hongkliu-test 13 | user: hongkailiu/api-ci-l2s4-p1-openshiftapps-com:6443 14 | name: app.ci 15 | - context: 16 | cluster: api-build02-gcp-ci-openshift-org:6443 17 | namespace: hongkliu-test 18 | user: hongkailiu/api-build02-gcp-ci-openshift-org:6443 19 | name: build02 20 | current-context: build02 21 | kind: Config 22 | preferences: {} 23 | users: 24 | - name: hongkailiu/api-build02-gcp-ci-openshift-org:6443 25 | user: 26 | token: REDACTED 27 | - name: hongkailiu/api-ci-l2s4-p1-openshiftapps-com:6443 28 | user: 29 | token: REDACTED 30 | -------------------------------------------------------------------------------- /pkg/kube/testdata/load_from_kubeconfigDir/2.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | clusters: 3 | - cluster: 4 | server: https://api.build02.gcp.ci.openshift.org:6443 5 | name: api-build02-gcp-ci-openshift-org:6443 6 | - cluster: 7 | server: https://api.ci.l2s4.p1.openshiftapps.com:6443 8 | name: api-ci-l2s4-p1-openshiftapps-com:6443 9 | contexts: 10 | - context: 11 | cluster: api-ci-l2s4-p1-openshiftapps-com:6443 12 | namespace: hongkliu-test 13 | user: hongkailiu/api-ci-l2s4-p1-openshiftapps-com:6443 14 | name: app.ci 15 | - context: 16 | cluster: api-build02-gcp-ci-openshift-org:6443 17 | namespace: hongkliu-test 18 | user: hongkailiu/api-build02-gcp-ci-openshift-org:6443 19 | name: build02 20 | current-context: build02 21 | kind: Config 22 | preferences: {} 23 | users: 24 | - name: hongkailiu/api-build02-gcp-ci-openshift-org:6443 25 | user: 26 | token: REDACTED 27 | - name: hongkailiu/api-ci-l2s4-p1-openshiftapps-com:6443 28 | user: 29 | token: REDACTED 30 | -------------------------------------------------------------------------------- /cmd/branchprotector/oneshot-job.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: batch/v1 2 | kind: Job 3 | metadata: 4 | name: branchprotector 5 | spec: 6 | backoffLimit: 2 7 | template: 8 | metadata: 9 | name: branchprotector 10 | spec: 11 | containers: 12 | - name: branchprotector 13 | image: us-docker.pkg.dev/k8s-infra-prow/images/branchprotector:v20250704-ef29ebbe9 # Note: not gcr.io/k8s-prow for dev 14 | imagePullPolicy: Always # Good practice for dev/debugging, bad for prod 15 | args: 16 | - --config-path=/etc/config/config.yaml 17 | - --github-token-path=/etc/github/oauth 18 | volumeMounts: 19 | - name: oauth 20 | mountPath: /etc/github 21 | readOnly: true 22 | - name: config 23 | mountPath: /etc/config 24 | readOnly: true 25 | restartPolicy: Never 26 | volumes: 27 | - name: oauth 28 | secret: 29 | secretName: oauth-token 30 | - name: config 31 | configMap: 32 | name: config 33 | -------------------------------------------------------------------------------- /test/integration/config/prow/cluster/hook_service.yaml: -------------------------------------------------------------------------------- 1 | # Copyright 2016 The Kubernetes Authors. All rights reserved. 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | 15 | apiVersion: v1 16 | kind: Service 17 | metadata: 18 | labels: 19 | app: hook 20 | namespace: default 21 | name: hook 22 | spec: 23 | selector: 24 | app: hook 25 | ports: 26 | - name: main 27 | port: 8888 28 | protocol: TCP 29 | - name: metrics 30 | port: 9090 31 | protocol: TCP 32 | type: NodePort 33 | -------------------------------------------------------------------------------- /test/integration/config/prow/cluster/prow_controller_manager_service.yaml: -------------------------------------------------------------------------------- 1 | # Copyright 2020 The Kubernetes Authors. All rights reserved. 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | 15 | apiVersion: v1 16 | kind: Service 17 | metadata: 18 | labels: 19 | app: prow-controller-manager 20 | namespace: default 21 | name: prow-controller-manager 22 | spec: 23 | ports: 24 | - name: metrics 25 | port: 9090 26 | protocol: TCP 27 | selector: 28 | app: prow-controller-manager 29 | -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "lib": ["dom", "es6", "ScriptHost", "es2015.core", "dom.iterable", "es2016.array.include"], 4 | "target": "es2015", 5 | "module": "esnext", 6 | "downlevelIteration": true, 7 | "skipDefaultLibCheck": true, 8 | "moduleResolution": "node", 9 | "preserveConstEnums": false, 10 | "experimentalDecorators": true, 11 | "emitDecoratorMetadata": true, 12 | "jsx": "react", 13 | "noErrorTruncation": false, 14 | "noEmitOnError": false, 15 | "declaration": false, 16 | "stripInternal": true, 17 | "inlineSourceMap": true, 18 | "inlineSources": true, 19 | "sourceMap": false, 20 | "allowSyntheticDefaultImports": true, 21 | "baseUrl": ".", 22 | "rootDir": ".", 23 | "rootDirs": [ 24 | "." 25 | ], 26 | "paths": { 27 | "*": [ 28 | "node_modules/*", 29 | "node_modules/@types/*" 30 | ] 31 | }, 32 | "typeRoots": [ 33 | "node_modules/@types" 34 | ], 35 | "types": [] 36 | } 37 | } 38 | -------------------------------------------------------------------------------- /pkg/client/listers/prowjobs/v1/expansion_generated.go: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright The Kubernetes Authors. 3 | 4 | Licensed under the Apache License, Version 2.0 (the "License"); 5 | you may not use this file except in compliance with the License. 6 | You may obtain a copy of the License at 7 | 8 | http://www.apache.org/licenses/LICENSE-2.0 9 | 10 | Unless required by applicable law or agreed to in writing, software 11 | distributed under the License is distributed on an "AS IS" BASIS, 12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | See the License for the specific language governing permissions and 14 | limitations under the License. 15 | */ 16 | 17 | // Code generated by lister-gen. DO NOT EDIT. 18 | 19 | package v1 20 | 21 | // ProwJobListerExpansion allows custom methods to be added to 22 | // ProwJobLister. 23 | type ProwJobListerExpansion interface{} 24 | 25 | // ProwJobNamespaceListerExpansion allows custom methods to be added to 26 | // ProwJobNamespaceLister. 27 | type ProwJobNamespaceListerExpansion interface{} 28 | -------------------------------------------------------------------------------- /pkg/genyaml/testdata/sequence_items/example_config.go: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright 2019 The Kubernetes Authors. 3 | 4 | Licensed under the Apache License, Version 2.0 (the "License"); 5 | you may not use this file except in compliance with the License. 6 | You may obtain a copy of the License at 7 | 8 | http://www.apache.org/licenses/LICENSE-2.0 9 | 10 | Unless required by applicable law or agreed to in writing, software 11 | distributed under the License is distributed on an "AS IS" BASIS, 12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | See the License for the specific language governing permissions and 14 | limitations under the License. 15 | */ 16 | 17 | package sequence_items 18 | 19 | type Recipe struct { 20 | // Ingredients is a list of things required for the recipe. 21 | Ingredients []Ingredient `json:"ingredients"` 22 | } 23 | 24 | type Ingredient struct { 25 | // Name is the ingredient's name. 26 | Name string `json:"name"` 27 | // Amount is how much of this is needed. 28 | Amount int `json:"amount"` 29 | } 30 | -------------------------------------------------------------------------------- /pkg/spyglass/lenses/coverage/template.html: -------------------------------------------------------------------------------- 1 | {{define "header"}} 2 | 3 | 4 | {{end}} 5 | 6 | {{define "body"}} 7 | 11 |
12 | 13 |
14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 |
Covered statements
Covered files
26 |
27 | {{end}} 28 | -------------------------------------------------------------------------------- /test/integration/config/prow/cluster/101_secrets.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: Secret 3 | metadata: 4 | namespace: default 5 | name: hmac-token 6 | stringData: 7 | hmac: abcde12345 8 | --- 9 | # Used by Gerrit integration tests, the value doesn't matter 10 | apiVersion: v1 11 | kind: Secret 12 | metadata: 13 | name: http-cookiefile 14 | namespace: default 15 | type: Opaque 16 | data: 17 | # This is just "helloworld" in base64. 18 | cookies: aGVsbG93b3JsZA== 19 | --- 20 | apiVersion: v1 21 | kind: Secret 22 | metadata: 23 | namespace: default 24 | name: cookie 25 | stringData: 26 | secret: "NkczOE1oS213cjZBUjlqZTFZYlpmaVNTSEVNYXpCekl0TUhmQTBYZWlRTnpOYVN3L0FDcDA1V3FBSU9VUVI2MAo=" 27 | --- 28 | apiVersion: v1 29 | kind: Secret 30 | metadata: 31 | namespace: default 32 | name: github-oauth-config 33 | stringData: 34 | secret: | 35 | client_id: 67dba0364b7fadddccab 36 | client_secret: 4898de28817bd96ad3911b9f145c86f00542dd44 37 | redirect_url: https://kind-prow/github-login/redirect 38 | final_redirect_url: https://kind-prow/pr 39 | -------------------------------------------------------------------------------- /test/integration/config/prow/cluster/deck_service.yaml: -------------------------------------------------------------------------------- 1 | # Copyright 2016 The Kubernetes Authors. All rights reserved. 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | 15 | apiVersion: v1 16 | kind: Service 17 | metadata: 18 | labels: 19 | app: deck 20 | namespace: default 21 | name: deck 22 | spec: 23 | selector: 24 | app: deck 25 | ports: 26 | - name: main 27 | port: 80 28 | targetPort: 8080 29 | protocol: TCP 30 | - name: metrics 31 | port: 9090 32 | protocol: TCP 33 | type: NodePort 34 | -------------------------------------------------------------------------------- /test/integration/config/prow/cluster/tide_service.yaml: -------------------------------------------------------------------------------- 1 | # Copyright 2017 The Kubernetes Authors. All rights reserved. 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | 15 | apiVersion: v1 16 | kind: Service 17 | metadata: 18 | labels: 19 | app: tide 20 | namespace: default 21 | name: tide 22 | spec: 23 | selector: 24 | app: tide 25 | ports: 26 | - name: main 27 | port: 80 28 | targetPort: 8888 29 | protocol: TCP 30 | - name: metrics 31 | port: 9090 32 | protocol: TCP 33 | type: ClusterIP 34 | -------------------------------------------------------------------------------- /pkg/genyaml/testdata/omit_if_empty/example_config.go: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright 2019 The Kubernetes Authors. 3 | 4 | Licensed under the Apache License, Version 2.0 (the "License"); 5 | you may not use this file except in compliance with the License. 6 | You may obtain a copy of the License at 7 | 8 | http://www.apache.org/licenses/LICENSE-2.0 9 | 10 | Unless required by applicable law or agreed to in writing, software 11 | distributed under the License is distributed on an "AS IS" BASIS, 12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | See the License for the specific language governing permissions and 14 | limitations under the License. 15 | */ 16 | 17 | package omit 18 | 19 | type OmitEmptyStrings struct { 20 | // StringFieldOmitEmpty comment 21 | StringFieldOmitEmpty string `json:"stringomit,omitempty"` 22 | // StringFieldKeepEmpty comment 23 | StringFieldKeepEmpty string `json:"stringkeep"` 24 | // BooleanField comment 25 | BooleanField bool `json:"boolean"` 26 | // IntegerField comment 27 | IntegerField int `json:"integer"` 28 | } 29 | -------------------------------------------------------------------------------- /pkg/kube/testdata/load_from_kubeconfigDir/1.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | clusters: 3 | - cluster: 4 | server: https://api.build01.ci.devcluster.openshift.com:6443 5 | name: api-build01-ci-devcluster-openshift-com:6443 6 | - cluster: 7 | server: https://api.hive.9xw5.p1.openshiftapps.com:6443 8 | name: api-hive-9xw5-p1-openshiftapps-com:6443 9 | contexts: 10 | - context: 11 | cluster: api-build01-ci-devcluster-openshift-com:6443 12 | namespace: hongkliu-test 13 | user: hongkailiu/api-build01-ci-devcluster-openshift-com:6443 14 | name: build01 15 | - context: 16 | cluster: api-hive-9xw5-p1-openshiftapps-com:6443 17 | namespace: hongkliu-test 18 | user: hongkliu/api-hive-9xw5-p1-openshiftapps-com:6443 19 | name: hive 20 | current-context: build01 21 | kind: Config 22 | preferences: {} 23 | users: 24 | - name: hongkailiu/api-build01-ci-devcluster-openshift-com:6443 25 | user: 26 | token: REDACTED 27 | - name: hongkliu/api-hive-9xw5-p1-openshiftapps-com:6443 28 | user: 29 | token: REDACTED 30 | -------------------------------------------------------------------------------- /pkg/kube/testdata/no_inCluster_config/kubeconfig: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | clusters: 3 | - cluster: 4 | server: https://api.build01.ci.devcluster.openshift.com:6443 5 | name: api-build01-ci-devcluster-openshift-com:6443 6 | - cluster: 7 | server: https://api.hive.9xw5.p1.openshiftapps.com:6443 8 | name: api-hive-9xw5-p1-openshiftapps-com:6443 9 | contexts: 10 | - context: 11 | cluster: api-build01-ci-devcluster-openshift-com:6443 12 | namespace: hongkliu-test 13 | user: hongkailiu/api-build01-ci-devcluster-openshift-com:6443 14 | name: build01 15 | - context: 16 | cluster: api-hive-9xw5-p1-openshiftapps-com:6443 17 | namespace: hongkliu-test 18 | user: hongkliu/api-hive-9xw5-p1-openshiftapps-com:6443 19 | name: hive 20 | current-context: build01 21 | kind: Config 22 | preferences: {} 23 | users: 24 | - name: hongkailiu/api-build01-ci-devcluster-openshift-com:6443 25 | user: 26 | token: REDACTED 27 | - name: hongkliu/api-hive-9xw5-p1-openshiftapps-com:6443 28 | user: 29 | token: REDACTED 30 | -------------------------------------------------------------------------------- /pkg/kube/testdata/load_from_kubeconfig_and_kubeconfigDir/kubeconfig: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | clusters: 3 | - cluster: 4 | server: https://api.build01.ci.devcluster.openshift.com:6443 5 | name: api-build01-ci-devcluster-openshift-com:6443 6 | - cluster: 7 | server: https://api.hive.9xw5.p1.openshiftapps.com:6443 8 | name: api-hive-9xw5-p1-openshiftapps-com:6443 9 | contexts: 10 | - context: 11 | cluster: api-build01-ci-devcluster-openshift-com:6443 12 | namespace: hongkliu-test 13 | user: hongkailiu/api-build01-ci-devcluster-openshift-com:6443 14 | name: build01 15 | - context: 16 | cluster: api-hive-9xw5-p1-openshiftapps-com:6443 17 | namespace: hongkliu-test 18 | user: hongkliu/api-hive-9xw5-p1-openshiftapps-com:6443 19 | name: hive 20 | current-context: build01 21 | kind: Config 22 | preferences: {} 23 | users: 24 | - name: hongkailiu/api-build01-ci-devcluster-openshift-com:6443 25 | user: 26 | token: REDACTED 27 | - name: hongkliu/api-hive-9xw5-p1-openshiftapps-com:6443 28 | user: 29 | token: REDACTED 30 | -------------------------------------------------------------------------------- /site/Makefile: -------------------------------------------------------------------------------- 1 | # Copyright 2024 The Kubernetes Authors. 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | 15 | # Serve the site locally. 16 | serve: 17 | hugo server 18 | 19 | # Build the site. Among other things, this populates the public/ folder. 20 | build: 21 | hugo 22 | 23 | # Used by Netlify to build the site. 24 | netlify-build: build 25 | 26 | netlify-deploy-preview: 27 | hugo --enableGitInfo --buildFuture -b $(DEPLOY_PRIME_URL) 28 | 29 | check-broken-links: 30 | find ./public -name "*.html" -print0 | sort -z | xargs -0 ./check-broken-links.sh 31 | -------------------------------------------------------------------------------- /pkg/kube/testdata/load_from_kubeconfigDir_having_contexts_with_the_same_name/1.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | clusters: 3 | - cluster: 4 | server: https://api.build01.ci.devcluster.openshift.com:6443 5 | name: api-build01-ci-devcluster-openshift-com:6443 6 | - cluster: 7 | server: https://api.hive.9xw5.p1.openshiftapps.com:6443 8 | name: api-hive-9xw5-p1-openshiftapps-com:6443 9 | contexts: 10 | - context: 11 | cluster: api-build01-ci-devcluster-openshift-com:6443 12 | namespace: hongkliu-test 13 | user: hongkailiu/api-build01-ci-devcluster-openshift-com:6443 14 | name: build01 15 | - context: 16 | cluster: api-hive-9xw5-p1-openshiftapps-com:6443 17 | namespace: hongkliu-test 18 | user: hongkliu/api-hive-9xw5-p1-openshiftapps-com:6443 19 | name: hive 20 | current-context: build01 21 | kind: Config 22 | preferences: {} 23 | users: 24 | - name: hongkailiu/api-build01-ci-devcluster-openshift-com:6443 25 | user: 26 | token: REDACTED 27 | - name: hongkliu/api-hive-9xw5-p1-openshiftapps-com:6443 28 | user: 29 | token: REDACTED 30 | -------------------------------------------------------------------------------- /pkg/spyglass/lenses/restcoverage/style.css: -------------------------------------------------------------------------------- 1 | body { 2 | color: #fff; 3 | } 4 | 5 | div#report { 6 | padding: 10px; 7 | } 8 | 9 | div#report-brief { 10 | margin-left: 10px; 11 | padding-bottom: 5px; 12 | } 13 | 14 | span#report-expander{ 15 | cursor: pointer; 16 | color: #FF9999; 17 | text-decoration: underline; 18 | } 19 | 20 | .hidden { 21 | display: none!important; 22 | } 23 | 24 | .info { 25 | font-size: 17px; 26 | } 27 | 28 | .info-highlight { 29 | text-decoration: underline; 30 | font-weight: bold; 31 | } 32 | 33 | ul#paths li.path { 34 | font-size: 16px; 35 | } 36 | 37 | ul#paths ul.methods { 38 | list-style-type: none; 39 | margin-bottom: 10px; 40 | font-size: 15px; 41 | padding:0; 42 | } 43 | 44 | ul#paths ul.methods li.method { 45 | text-transform: uppercase; 46 | margin: 0 10px; 47 | cursor: pointer; 48 | } 49 | 50 | .method-not-called { 51 | font-size: 8px; 52 | font-weight: bold; 53 | vertical-align: middle; 54 | } 55 | 56 | .warn { 57 | color: #ffc376; 58 | } 59 | 60 | .error { 61 | color: #FF9999; 62 | } 63 | -------------------------------------------------------------------------------- /site/content/en/docs/components/cli-tools/config-bootstrapper.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: "config-bootstrapper" 3 | weight: 10 4 | description: > 5 | 6 | --- 7 | 8 | `config-bootstrapper` is used to bootstrap a configuration that would be incrementally updated by the 9 | config-updater Prow plugin. 10 | 11 | When a set of configurations do not exist (for example, on a clean redeployment or in a disaster 12 | recovery situation), the config-updater plugin is not useful as it can only upload incremental 13 | updates. This tool is meant to be used in those situations to set up the config to the correct 14 | base state and hand off ownership to the plugin for updates. 15 | 16 | Provide the config-bootstrapper with the latest state of the Prow configuration (plugins.yaml, config.yaml, any job configuration files) to boot-strap with the latest configuration. 17 | 18 | Sample usage: 19 | 20 | ```shell 21 | ./config-bootstrapper \ 22 | --dry-run=false \ 23 | --source-path=. \ 24 | --config-path=prowconfig/config.yaml \ 25 | --plugin-config=prowconfig/plugins.yaml \ 26 | --job-config-path=prowconfig/jobs 27 | ``` 28 | -------------------------------------------------------------------------------- /test/integration/config/prow/cluster/pipeline_deployment.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: apps/v1 2 | kind: Deployment 3 | metadata: 4 | name: pipeline 5 | namespace: default 6 | labels: 7 | app: pipeline 8 | spec: 9 | replicas: 1 10 | selector: 11 | matchLabels: 12 | app: pipeline 13 | template: 14 | metadata: 15 | labels: 16 | app: pipeline 17 | spec: 18 | serviceAccountName: pipeline 19 | containers: 20 | - name: pipeline 21 | image: localhost:5001/pipeline 22 | args: 23 | - --config=/etc/config/config.yaml 24 | ports: 25 | - name: http 26 | containerPort: 8080 27 | - name: metrics 28 | containerPort: 9090 29 | volumeMounts: 30 | - name: config 31 | mountPath: /etc/config 32 | readOnly: true 33 | resources: 34 | requests: 35 | cpu: 100m 36 | memory: 128Mi 37 | limits: 38 | cpu: 500m 39 | memory: 512Mi 40 | volumes: 41 | - name: config 42 | configMap: 43 | name: config 44 | -------------------------------------------------------------------------------- /site/check-broken-links.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | # Copyright 2022 The Kubernetes Authors. 3 | # 4 | # Licensed under the Apache License, Version 2.0 (the "License"); 5 | # you may not use this file except in compliance with the License. 6 | # You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | 16 | # Mark all existing Markdown files with a deprecation notice and redirect link. 17 | 18 | set -euo pipefail 19 | 20 | SCRIPT_ROOT="$(cd "$(dirname "$0")" && pwd)" 21 | 22 | for file; do 23 | if [[ "${file}" =~ /_print/index.html ]]; then 24 | echo "skipping file ${file}" 25 | continue 26 | fi 27 | echo "checking file ${file}" 28 | htmltest -c .htmltest.yml "${file}" | sed 's/^/ /' 29 | echo 30 | done 31 | -------------------------------------------------------------------------------- /test/integration/config/prow/cluster/webhook_server_service.yaml: -------------------------------------------------------------------------------- 1 | # Copyright 2016 The Kubernetes Authors. All rights reserved. 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | 15 | apiVersion: v1 16 | kind: Service 17 | metadata: 18 | labels: 19 | app: webhook-server 20 | namespace: default 21 | name: prowjob-admission-webhook 22 | spec: 23 | selector: 24 | app: webhook-server 25 | ports: 26 | - name: main 27 | port: 443 28 | targetPort: 8008 29 | protocol: TCP 30 | - name: metrics 31 | port: 9090 32 | protocol: TCP 33 | type: ClusterIP 34 | 35 | -------------------------------------------------------------------------------- /pkg/kube/constants.go: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright 2016 The Kubernetes Authors. 3 | 4 | Licensed under the Apache License, Version 2.0 (the "License"); 5 | you may not use this file except in compliance with the License. 6 | You may obtain a copy of the License at 7 | 8 | http://www.apache.org/licenses/LICENSE-2.0 9 | 10 | Unless required by applicable law or agreed to in writing, software 11 | distributed under the License is distributed on an "AS IS" BASIS, 12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | See the License for the specific language governing permissions and 14 | limitations under the License. 15 | */ 16 | 17 | package kube 18 | 19 | const ( 20 | // TestContainerName specifies the primary container name. 21 | TestContainerName = "test" 22 | 23 | // EmptySelector selects everything 24 | EmptySelector = "" 25 | 26 | // DefaultClusterAlias specifies the default context for resources owned by jobs (pods/builds). 27 | DefaultClusterAlias = "default" // TODO(fejta): rename to context 28 | // InClusterContext specifies the context for prowjob resources. 29 | InClusterContext = "" 30 | ) 31 | -------------------------------------------------------------------------------- /hack/build/ensure-node_modules.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | # Copyright 2021 The Kubernetes Authors. 3 | # 4 | # Licensed under the Apache License, Version 2.0 (the "License"); 5 | # you may not use this file except in compliance with the License. 6 | # You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | 16 | # this script ensures node_modules is up to date with yarn in docker 17 | 18 | set -o errexit 19 | set -o nounset 20 | set -o pipefail 21 | 22 | REPO_ROOT="$(cd "$(dirname "${BASH_SOURCE[0]}")/../.." && pwd -P)" 23 | 24 | cd "${REPO_ROOT}" 25 | hack/run-in-node-container.sh \ 26 | yarn install 27 | 28 | # Optional creates cache if this is supplied 29 | if [[ "${CREATE_TYPESCRIPT_CACHE:-}" == "true" ]]; then 30 | cache cache 31 | fi 32 | -------------------------------------------------------------------------------- /test/integration/config/prow/cluster/crier_deployment.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: apps/v1 2 | kind: Deployment 3 | metadata: 4 | namespace: default 5 | name: crier 6 | labels: 7 | app: crier 8 | spec: 9 | replicas: 1 10 | selector: 11 | matchLabels: 12 | app: crier 13 | template: 14 | metadata: 15 | labels: 16 | app: crier 17 | spec: 18 | serviceAccountName: crier 19 | terminationGracePeriodSeconds: 30 20 | containers: 21 | - name: crier 22 | image: localhost:5001/crier 23 | args: 24 | - --config-path=/etc/config/config.yaml 25 | - --github-endpoint=http://fakeghserver 26 | - --github-token-path=/etc/github/oauth 27 | - --github-workers=1 28 | volumeMounts: 29 | - name: config 30 | mountPath: /etc/config 31 | readOnly: true 32 | - name: oauth 33 | mountPath: /etc/github 34 | readOnly: true 35 | volumes: 36 | - name: config 37 | configMap: 38 | name: config 39 | - name: oauth 40 | secret: 41 | secretName: oauth-token 42 | -------------------------------------------------------------------------------- /site/content/en/docs/components/external-plugins/cherrypicker.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: "cherrypicker" 3 | weight: 10 4 | description: > 5 | 6 | --- 7 | 8 | Cherrypicker is an external prow plugin that can also run as a standalone bot. 9 | It automates cherry-picking merged PRs into different branches. Cherrypicks are 10 | triggered from either comments or labels in GitHub PRs that need to be cherrypicked. 11 | 12 | For comments: 13 | 14 | ``` 15 | /cherrypick release-1.10 16 | ``` 17 | 18 | The above comment will result in opening a new PR against the `release-1.10` branch 19 | once the PR where the comment was made gets merged or is already merged. 20 | 21 | To use label, you need to apply labels that contain the name of the branch in the form: 22 | 23 | ``` 24 | cherrypick/XXX 25 | ``` 26 | 27 | where XXX is the name of the branch. 28 | 29 | The bot uses its own fork to push patches that need to be cherry-picked and opens 30 | PRs out of those patches. The fork is created automatically by the bot so there is 31 | no need to set it up manually. 32 | 33 | Required scopes for the oauth token that need to be used are `read:org` and `repo`. 34 | -------------------------------------------------------------------------------- /SECURITY.md: -------------------------------------------------------------------------------- 1 | # Security Policy 2 | 3 | ## Security Announcements 4 | 5 | Join the [kubernetes-security-announce] group for security and vulnerability announcements. 6 | 7 | You can also subscribe to an RSS feed of the above using [this link][kubernetes-security-announce-rss]. 8 | 9 | ## Reporting a Vulnerability 10 | 11 | Instructions for reporting a vulnerability can be found on the 12 | [Kubernetes Security and Disclosure Information] page. 13 | 14 | ## Supported Versions 15 | 16 | Information about supported Kubernetes versions can be found on the 17 | [Kubernetes version and version skew support policy] page on the Kubernetes website. 18 | 19 | [kubernetes-security-announce]: https://groups.google.com/forum/#!forum/kubernetes-security-announce 20 | [kubernetes-security-announce-rss]: https://groups.google.com/forum/feed/kubernetes-security-announce/msgs/rss_v2_0.xml?num=50 21 | [Kubernetes version and version skew support policy]: https://kubernetes.io/docs/setup/release/version-skew-policy/#supported-versions 22 | [Kubernetes Security and Disclosure Information]: https://kubernetes.io/docs/reference/issues-security/security/#report-a-vulnerability 23 | -------------------------------------------------------------------------------- /cmd/deck/static/vendor.d.ts: -------------------------------------------------------------------------------- 1 | // Add the deprecated IE-specific clipboardData to Window. 2 | interface Window { 3 | clipboardData?: { 4 | setData: (format: "Text" | "URL", data: string) => boolean, 5 | getData: (format: "Text" | "URL") => string, 6 | clearData: (format: "Text" | "URL" | "File" | "HTML" | "Image") => boolean, 7 | }; 8 | } 9 | 10 | // Needed for mysterious reasons, otherwise ts doesn't understand this is a module 11 | declare module 'dialog-polyfill'; 12 | 13 | declare let componentHandler: any; 14 | 15 | // Enough typing for the Material Design library to be usable. 16 | interface MaterialSnackbarOptionsNoAction { 17 | message: string; 18 | timeout?: number; 19 | } 20 | 21 | interface MaterialSnackbarOptionsWithAction { 22 | actionHandler: (event: Event) => null; 23 | actionText: string; 24 | } 25 | 26 | type MaterialSnackbarOptions = MaterialSnackbarOptionsNoAction | MaterialSnackbarOptionsWithAction; 27 | 28 | interface MaterialSnackbar { 29 | showSnackbar(options: MaterialSnackbarOptions): void; 30 | } 31 | 32 | type SnackbarElement = T & {MaterialSnackbar: MaterialSnackbar}; 33 | -------------------------------------------------------------------------------- /site/content/en/docs/components/pod-utilities/entrypoint.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: "entrypoint" 3 | weight: 10 4 | description: > 5 | 6 | --- 7 | 8 | `entrypoint` wraps a process and records its output to `stdout` and `stderr` as well as its exit 9 | code, recording both to disk. The utility will exit with a non-zero exit code if the wrapped 10 | process fails or if the utility has a fatal error. 11 | 12 | This utility is intended to be used with [`sidecar`](/docs/components/pod-utilities/sidecar/), which will 13 | watch the files written by this utility and report on the status of the wrapped process. 14 | 15 | `entrypoint` can be configured by either passing in flags or by specifying a full set of options 16 | as JSON in the `$ENTRYPOINT_OPTIONS` environment variable, which has the form: 17 | 18 | ```json 19 | { 20 | "args": [ 21 | "/bin/ls", 22 | "-la" 23 | ], 24 | "timeout": 7200000000000, 25 | "grace_period": 15000000000, 26 | "process_log": "/logs/process-log.txt", 27 | "marker_file": "/logs/marker-file.txt" 28 | } 29 | ``` 30 | 31 | Note: the `"timeout"` and `"grace_period"` fields hold the duration in nanoseconds. 32 | -------------------------------------------------------------------------------- /pkg/spyglass/lenses/html/template.html: -------------------------------------------------------------------------------- 1 | {{define "header"}} 2 | 3 | 4 | {{end}} 5 | 6 | {{define "body"}} 7 | 8 | {{ range $documents:= . }} 9 | 10 | 11 | 12 | 13 | {{/* Do _not_ hide this by default, that will break inner javascript that dynamically resizes. Hiding post-render is ok, so we hide on first resize request */}} 14 | 15 | 18 | 19 | {{end}} 20 |
{{.Title}}
expand_less
16 | 17 |
21 | {{end}} 22 | -------------------------------------------------------------------------------- /hack/make-rules/verify/boilerplate.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | # Copyright 2022 The Kubernetes Authors. 3 | # 4 | # Licensed under the Apache License, Version 2.0 (the "License"); 5 | # you may not use this file except in compliance with the License. 6 | # You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | 16 | # this script runs tslint against the repo using docker 17 | # 18 | # TODO: we should be using eslint instead now, but this repo is also 19 | # on a rather old version of node, first we get the build system migrated. 20 | 21 | set -o errexit 22 | set -o nounset 23 | set -o pipefail 24 | 25 | REPO_ROOT="$(cd "$(dirname "${BASH_SOURCE[0]}")/../../.." && pwd -P)" 26 | cd "${REPO_ROOT}" 27 | 28 | ./hack/run-in-python-container.sh ./hack/boilerplate/verify_boilerplate.py 29 | -------------------------------------------------------------------------------- /.prow-images.yaml: -------------------------------------------------------------------------------- 1 | images: 2 | - dir: cmd/admission 3 | - dir: cmd/branchprotector 4 | - dir: cmd/checkconfig 5 | - dir: cmd/config-bootstrapper 6 | - dir: cmd/deck 7 | - dir: cmd/exporter 8 | - dir: cmd/gerrit 9 | - dir: cmd/crier 10 | - dir: cmd/gangway 11 | - dir: cmd/generic-autobumper 12 | - dir: cmd/gcsupload 13 | - dir: cmd/hook 14 | - dir: cmd/hmac 15 | - dir: cmd/horologium 16 | - dir: cmd/invitations-accepter 17 | - dir: cmd/jenkins-operator 18 | - dir: cmd/mkpj 19 | - dir: cmd/mkpod 20 | - dir: cmd/moonraker 21 | - dir: cmd/peribolos 22 | - dir: cmd/sinker 23 | - dir: cmd/status-reconciler 24 | - dir: cmd/sub 25 | - dir: cmd/tide 26 | - dir: cmd/tot 27 | - dir: cmd/pipeline 28 | - dir: cmd/prow-controller-manager 29 | - dir: cmd/webhook-server 30 | # pod utils 31 | - dir: cmd/clonerefs 32 | arch: all 33 | - dir: cmd/entrypoint 34 | arch: all 35 | - dir: cmd/initupload 36 | arch: all 37 | - dir: cmd/sidecar 38 | arch: all 39 | - dir: cmd/external-plugins/needs-rebase 40 | - dir: cmd/external-plugins/cherrypicker 41 | - dir: cmd/external-plugins/refresh 42 | - dir: cmd/ghproxy 43 | -------------------------------------------------------------------------------- /test/integration/config/prow/cluster/fakegcsserver.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: apps/v1 2 | kind: Deployment 3 | metadata: 4 | namespace: default 5 | name: fakegcsserver 6 | labels: 7 | app: fakegcsserver 8 | spec: 9 | selector: 10 | matchLabels: 11 | app: fakegcsserver 12 | replicas: 1 13 | template: 14 | metadata: 15 | labels: 16 | app: fakegcsserver 17 | spec: 18 | containers: 19 | - name: fakegcsserver 20 | image: localhost:5001/fakegcsserver 21 | args: 22 | - --config-path=/etc/config/config.yaml 23 | ports: 24 | - containerPort: 8888 25 | volumeMounts: 26 | - name: config 27 | mountPath: /etc/config 28 | readOnly: true 29 | volumes: 30 | - name: config 31 | configMap: 32 | name: config 33 | --- 34 | apiVersion: v1 35 | kind: Service 36 | metadata: 37 | labels: 38 | app: fakegcsserver 39 | namespace: default 40 | name: fakegcsserver 41 | spec: 42 | ports: 43 | - name: main 44 | port: 80 45 | targetPort: 8888 46 | protocol: TCP 47 | selector: 48 | app: fakegcsserver 49 | type: ClusterIP 50 | -------------------------------------------------------------------------------- /pkg/git/types/types.go: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright 2022 The Kubernetes Authors. 3 | 4 | Licensed under the Apache License, Version 2.0 (the "License"); 5 | you may not use this file except in compliance with the License. 6 | You may obtain a copy of the License at 7 | 8 | http://www.apache.org/licenses/LICENSE-2.0 9 | 10 | Unless required by applicable law or agreed to in writing, software 11 | distributed under the License is distributed on an "AS IS" BASIS, 12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | See the License for the specific language governing permissions and 14 | limitations under the License. 15 | */ 16 | 17 | // Package types stores types used by all git clients 18 | package types 19 | 20 | // PullRequestMergeType enumerates the types of merges used by Prow for either GitHub or Gerrit API 21 | type PullRequestMergeType string 22 | 23 | // Possible types of merges for the GitHub merge API 24 | const ( 25 | MergeMerge PullRequestMergeType = "merge" 26 | MergeRebase PullRequestMergeType = "rebase" 27 | MergeSquash PullRequestMergeType = "squash" 28 | MergeIfNecessary PullRequestMergeType = "ifNecessary" 29 | ) 30 | -------------------------------------------------------------------------------- /cmd/peribolos/dev.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: batch/v1 2 | kind: Job 3 | metadata: 4 | name: peribolos 5 | spec: 6 | backoffLimit: 2 7 | template: 8 | metadata: 9 | name: peribolos 10 | spec: 11 | containers: 12 | - name: peribolos 13 | image: gcr.io/k8s-staging-test-infra/peribolos:latest # Note: not gcr.io/k8s-prow for dev 14 | imagePullPolicy: Always # Good practice for dev/debugging, bad for prod 15 | args: 16 | - --config-path=/etc/config/config.yaml 17 | - --github-token-path=/etc/github/oauth 18 | - --min-admins=2 19 | - --fix-org 20 | - --fix-org-members 21 | - --fix-teams 22 | - --fix-team-members 23 | #- --confirm 24 | volumeMounts: 25 | - name: oauth 26 | mountPath: /etc/github 27 | readOnly: true 28 | - name: test-config 29 | mountPath: /etc/config 30 | readOnly: true 31 | restartPolicy: Never 32 | volumes: 33 | - name: oauth 34 | secret: 35 | secretName: oauth-token 36 | - name: test-config 37 | configMap: 38 | name: peribolos-test-config 39 | 40 | -------------------------------------------------------------------------------- /test/integration/test/overall_test.go: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright 2020 The Kubernetes Authors. 3 | 4 | Licensed under the Apache License, Version 2.0 (the "License"); 5 | you may not use this file except in compliance with the License. 6 | You may obtain a copy of the License at 7 | 8 | http://www.apache.org/licenses/LICENSE-2.0 9 | 10 | Unless required by applicable law or agreed to in writing, software 11 | distributed under the License is distributed on an "AS IS" BASIS, 12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | See the License for the specific language governing permissions and 14 | limitations under the License. 15 | */ 16 | 17 | package integration 18 | 19 | import ( 20 | "flag" 21 | "os" 22 | "testing" 23 | ) 24 | 25 | var runIntegrationTest = flag.Bool("run-integration-test", false, "The switch for whether run integration test or not") 26 | var fakepubsubNodePort = flag.Int("fakepubsub-node-port", 30303, "The port to use for connecting sub tests with the fakepubsub service (for configuring PUBSUB_EMULATOR_HOST)") 27 | 28 | func TestMain(m *testing.M) { 29 | flag.Parse() 30 | if *runIntegrationTest { 31 | os.Exit(m.Run()) 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /hack/third_party/gimme/LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2015-2018 gimme contributors 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /cmd/deck/static/api/tide.ts: -------------------------------------------------------------------------------- 1 | import {PullRequest as BasePullRequest} from "./github"; 2 | 3 | export interface TideQuery { 4 | orgs?: string[]; 5 | repos?: string[]; 6 | excludedRepos?: string[]; 7 | excludedBranches?: string[]; 8 | includedBranches?: string[]; 9 | labels?: string[]; 10 | missingLabels?: string[]; 11 | author?: string; 12 | milestone?: string; 13 | reviewApprovedRequired?: boolean; 14 | } 15 | 16 | export interface PullRequest extends BasePullRequest { 17 | Title: string; 18 | } 19 | 20 | export type Action = "WAIT" | "TRIGGER" | "TRIGGER_BATCH" | "MERGE" | "MERGE_BATCH" | "BLOCKED"; 21 | 22 | export interface Blocker { 23 | Number: number; 24 | Title: string; 25 | URL: string; 26 | } 27 | 28 | export interface TidePool { 29 | Org: string; 30 | Repo: string; 31 | Branch: string; 32 | 33 | SuccessPRs: PullRequest[]; 34 | PendingPRs: PullRequest[]; 35 | MissingPRs: PullRequest[]; 36 | 37 | BatchPending: PullRequest[]; 38 | 39 | Action: Action; 40 | Target: PullRequest[]; 41 | Blockers: Blocker[]; 42 | } 43 | 44 | export interface TideData { 45 | Queries: string[]; 46 | TideQueries: TideQuery[]; 47 | Pools: TidePool[]; 48 | } 49 | -------------------------------------------------------------------------------- /cmd/deck/template/plugins.html: -------------------------------------------------------------------------------- 1 | {{define "title"}}Prow Plugin Catalog{{end}} 2 | 3 | {{define "scripts"}} 4 | 5 | 6 | 7 | 8 | {{end}} 9 | 10 | {{define "content"}} 11 | 21 |
22 |
23 | {{end}} 24 | 25 | {{define "extra content"}} 26 | 27 |

28 |
29 |
30 |
31 | 32 |
33 |
34 | {{end}} 35 | 36 | {{template "page" (settings mobileUnfriendly lightMode "plugins" .)}} 37 | -------------------------------------------------------------------------------- /hack/make-rules/py-test/activate-python_venv.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | # Copyright 2021 The Kubernetes Authors. 3 | # 4 | # Licensed under the Apache License, Version 2.0 (the "License"); 5 | # you may not use this file except in compliance with the License. 6 | # You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | 16 | set -o errexit 17 | set -o nounset 18 | set -o pipefail 19 | 20 | REPO_ROOT="$(cd "$(dirname "${BASH_SOURCE[0]}")/../../.." && pwd -P)" 21 | cd "${REPO_ROOT}" 22 | 23 | # Ensure virtual env 24 | # Trick from https://pythonspeed.com/articles/activate-virtualenv-dockerfile/ 25 | export VIRTUAL_ENV="${REPO_ROOT}/.python_virtual_env" 26 | 27 | if [[ ! -f "${VIRTUAL_ENV}/bin/activate" ]]; then 28 | python3 -m venv "${VIRTUAL_ENV}" 29 | fi 30 | 31 | source "${VIRTUAL_ENV}/bin/activate" 32 | -------------------------------------------------------------------------------- /hack/tools/ensure-kind.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | # Copyright 2024 The Kubernetes Authors. 3 | # 4 | # Licensed under the Apache License, Version 2.0 (the "License"); 5 | # you may not use this file except in compliance with the License. 6 | # You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | 16 | # usage: source this script to ensure kind is setup 17 | 18 | # ensure kind is available for setup-kind-cluster.sh etc 19 | # TODO: consider factoring out the kind version used for CI or 20 | # else ensure all CI jobs use this script 21 | # TODO: consider enforcing a particular version locally as well to avoid confusion 22 | if ! command -v kind; then 23 | local repo_gobin="${REPO_ROOT}/_bin" 24 | GOBIN="${repo_gobin}" go install sigs.k8s.io/kind@v0.30.0 25 | export PATH="${repo_gobin}:${PATH}" 26 | fi 27 | -------------------------------------------------------------------------------- /pkg/flagutil/flagutil.go: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright 2018 The Kubernetes Authors. 3 | 4 | Licensed under the Apache License, Version 2.0 (the "License"); 5 | you may not use this file except in compliance with the License. 6 | You may obtain a copy of the License at 7 | 8 | http://www.apache.org/licenses/LICENSE-2.0 9 | 10 | Unless required by applicable law or agreed to in writing, software 11 | distributed under the License is distributed on an "AS IS" BASIS, 12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | See the License for the specific language governing permissions and 14 | limitations under the License. 15 | */ 16 | 17 | // Package flagutil contains utilities and interfaces shared between 18 | // several test-infra commands. 19 | package flagutil 20 | 21 | import ( 22 | "flag" 23 | ) 24 | 25 | // OptionGroup provides an interface which can be implemented by an 26 | // option handler (e.g. for GitHub or Kubernetes) to support generic 27 | // option-group handling. 28 | type OptionGroup interface { 29 | // AddFlags injects options into the given FlagSet. 30 | AddFlags(fs *flag.FlagSet) 31 | 32 | // Validate validates options. 33 | Validate(dryRun bool) error 34 | } 35 | -------------------------------------------------------------------------------- /pkg/slack/client_test.go: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright 2021 The Kubernetes Authors. 3 | 4 | Licensed under the Apache License, Version 2.0 (the "License"); 5 | you may not use this file except in compliance with the License. 6 | You may obtain a copy of the License at 7 | 8 | http://www.apache.org/licenses/LICENSE-2.0 9 | 10 | Unless required by applicable law or agreed to in writing, software 11 | distributed under the License is distributed on an "AS IS" BASIS, 12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | See the License for the specific language governing permissions and 14 | limitations under the License. 15 | */ 16 | 17 | package slack 18 | 19 | import ( 20 | "flag" 21 | "testing" 22 | 23 | "github.com/google/go-cmp/cmp" 24 | ) 25 | 26 | func TestHostsFlag(t *testing.T) { 27 | var testArg HostsFlag 28 | flags := flag.NewFlagSet("foo", flag.PanicOnError) 29 | flags.Var(&testArg, "test-arg", "") 30 | if err := flags.Parse([]string{"--test-arg", "a=b"}); err != nil { 31 | t.Fatal(err) 32 | } 33 | if diff := cmp.Diff(HostsFlag(map[string]string{"a": "b"}), testArg); diff != "" { 34 | t.Fatalf("Arg parsing mismatch. Want(-), got(+):\n%s", diff) 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /pkg/github/links.go: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright 2016 The Kubernetes Authors. 3 | 4 | Licensed under the Apache License, Version 2.0 (the "License"); 5 | you may not use this file except in compliance with the License. 6 | You may obtain a copy of the License at 7 | 8 | http://www.apache.org/licenses/LICENSE-2.0 9 | 10 | Unless required by applicable law or agreed to in writing, software 11 | distributed under the License is distributed on an "AS IS" BASIS, 12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | See the License for the specific language governing permissions and 14 | limitations under the License. 15 | */ 16 | 17 | package github 18 | 19 | import ( 20 | "regexp" 21 | ) 22 | 23 | var lre = regexp.MustCompile(`<([^>]*)>; *rel="([^"]*)"`) 24 | 25 | // Parse Link headers, returning a map from Rel to URL. 26 | // Only understands the URI and "rel" parameter. Very limited. 27 | // See https://tools.ietf.org/html/rfc5988#section-5 28 | func parseLinks(h string) map[string]string { 29 | links := map[string]string{} 30 | for _, m := range lre.FindAllStringSubmatch(h, 10) { 31 | if len(m) != 3 { 32 | continue 33 | } 34 | links[m[2]] = m[1] 35 | } 36 | return links 37 | } 38 | -------------------------------------------------------------------------------- /site/content/en/docs/components/optional/status-reconciler.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: "status-reconciler" 3 | weight: 10 4 | description: > 5 | 6 | --- 7 | 8 | `status-reconciler` ensures that changes to blocking presubmits in Prow configuration while PRs are 9 | in flight do not cause those PRs to get stuck. 10 | 11 | When the set of blocking presubmits changes for a repository, one of three cases occurs: 12 | 13 | - a new blocking presubmit exists and should be triggered for every trusted pull request in flight 14 | - an existing blocking presubmit is removed and should have its' status retired 15 | - an existing blocking presubmit is renamed and should have its' status migrated 16 | 17 | The `status-reconciler` watches the job configuration for Prow and ensures that the above actions 18 | are taken as necessary. 19 | 20 | To exclude repos from being reconciled, passing flag `--denylist`, this can be done repeatedly. 21 | This is useful when moving a repo from prow instance A to prow instance B, while unwinding jobs from 22 | prow instance A, the jobs are not expected to be blindly lablled succeed by prow instance A. 23 | 24 | Note that `status-reconciler` is edge driven (not level driven) so it can't be used retrospectively. 25 | -------------------------------------------------------------------------------- /pkg/genyaml/testdata/embedded_structs/example_config.go: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright 2019 The Kubernetes Authors. 3 | 4 | Licensed under the Apache License, Version 2.0 (the "License"); 5 | you may not use this file except in compliance with the License. 6 | You may obtain a copy of the License at 7 | 8 | http://www.apache.org/licenses/LICENSE-2.0 9 | 10 | Unless required by applicable law or agreed to in writing, software 11 | distributed under the License is distributed on an "AS IS" BASIS, 12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | See the License for the specific language governing permissions and 14 | limitations under the License. 15 | */ 16 | 17 | package embedded_structs 18 | 19 | type Building struct { 20 | // Address of building 21 | Address string 22 | // Bathroom in building 23 | Bathroom `json:"bathroom"` 24 | // Bedroom in building 25 | Bedroom `json:"bedroom"` 26 | } 27 | 28 | type Bathroom struct { 29 | // Width of Bathroom 30 | Width int `json:"width"` 31 | // Height of Bathroom 32 | Height int `json:"height"` 33 | } 34 | 35 | type Bedroom struct { 36 | // Width of Bedroom 37 | Width int `json:"width"` 38 | // Height of Bedroom 39 | Height int `json:"height"` 40 | } 41 | -------------------------------------------------------------------------------- /cmd/deck/static/spyglass/lens.css: -------------------------------------------------------------------------------- 1 | /* 2 | * Ensure we don't accidentally scroll on this frame. 3 | */ 4 | html { 5 | overflow-y: hidden; 6 | } 7 | /* 8 | * MDL sets min-height: 100% for the body, which prevents us from ever shrinking. 9 | * In order to prevent this, we unset it again, using a higher-priority selector. 10 | */ 11 | body.lens-body { 12 | min-height: unset; 13 | font-size: 14px; 14 | } 15 | 16 | 17 | /* 18 | * Dark mode + table tweaks 19 | */ 20 | table.mdl-data-table { 21 | height: unset; 22 | padding: 0; 23 | margin: 0; 24 | border: 0; 25 | width: 100%; 26 | font-size: inherit; 27 | } 28 | 29 | .mdl-data-table { 30 | background-color: unset; 31 | border-collapse: collapse; 32 | } 33 | 34 | .mdl-data-table tbody tr:hover { 35 | background-color: #666 !important; 36 | } 37 | 38 | .hidden { 39 | visibility: collapse; 40 | } 41 | 42 | .mdl-data-table td { 43 | color: #e8e8e8; 44 | border-width: 1px; 45 | } 46 | 47 | .expander { 48 | cursor: pointer; 49 | user-select: none; 50 | background-color: #222222; 51 | } 52 | 53 | .expander .icon-button { 54 | vertical-align: middle; 55 | } 56 | 57 | a:link { 58 | color: #FF9999; 59 | } 60 | 61 | a:visited { 62 | color: #FF9999; 63 | } 64 | -------------------------------------------------------------------------------- /pkg/genyaml/testdata/interface_types/example_config.go: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright 2019 The Kubernetes Authors. 3 | 4 | Licensed under the Apache License, Version 2.0 (the "License"); 5 | you may not use this file except in compliance with the License. 6 | You may obtain a copy of the License at 7 | 8 | http://www.apache.org/licenses/LICENSE-2.0 9 | 10 | Unless required by applicable law or agreed to in writing, software 11 | distributed under the License is distributed on an "AS IS" BASIS, 12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | See the License for the specific language governing permissions and 14 | limitations under the License. 15 | */ 16 | 17 | package interface_types 18 | 19 | type Zoo struct { 20 | // Animals is an array of animals of the zoo 21 | Animals []Animal `json:"animals"` 22 | } 23 | 24 | type Animal interface { 25 | // Sound the animal makes 26 | Sound() 27 | } 28 | 29 | type Cheetah struct { 30 | // Name of cheetah 31 | Name string `json:"name"` 32 | } 33 | 34 | func (c *Cheetah) Sound() { 35 | println("meowww") 36 | } 37 | 38 | type Lion struct { 39 | // Name of lion 40 | Name string `json:"name"` 41 | } 42 | 43 | func (l *Lion) Sound() { 44 | println("roarrr") 45 | } 46 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "dependencies": { 3 | "code-prettify": "^0.1.0", 4 | "color": "^3.1.2", 5 | "dialog-polyfill": "^0.5.0", 6 | "moment": "^2.22.2", 7 | "pako": "^1.0.10" 8 | }, 9 | "bazel-update-info": { 10 | "WORKSPACE": "NB: set frozen_lockfile = False" 11 | }, 12 | "devDependencies": { 13 | "@bazel/bazelisk": "1.19.0", 14 | "@bazel/jasmine": "3.1.0", 15 | "@bazel/rollup": "3.8.0", 16 | "@bazel/terser": "3.8.0", 17 | "@bazel/typescript": "3.8.0", 18 | "@rollup/plugin-commonjs": "14.0.0", 19 | "@rollup/plugin-json": "4.1.0", 20 | "@rollup/plugin-node-resolve": "8.4.0", 21 | "@types/color": "3.0.6", 22 | "@types/google.visualization": "^0.0.43", 23 | "@types/gtag.js": "^0.0.0", 24 | "@types/jasmine": "3.3.16", 25 | "@types/pako": "1.0.7", 26 | "@typescript-eslint/eslint-plugin": "5.62.0", 27 | "@typescript-eslint/parser": "5.62.0", 28 | "eslint": "8.57.0", 29 | "eslint-plugin-jsdoc": "48.2.6", 30 | "eslint-plugin-prefer-arrow": "^1.2.3", 31 | "jasmine": "3.4.0", 32 | "rollup": "2.79.2", 33 | "rollup-plugin-amd": "4.0.0", 34 | "rollup-plugin-terser": "5.1.3", 35 | "terser": "5.14.2", 36 | "typescript": "3.9.10" 37 | } 38 | } 39 | -------------------------------------------------------------------------------- /pkg/crier/reporters/criercommonlib/shardedlock_test.go: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright 2022 The Kubernetes Authors. 3 | 4 | Licensed under the Apache License, Version 2.0 (the "License"); 5 | you may not use this file except in compliance with the License. 6 | You may obtain a copy of the License at 7 | 8 | http://www.apache.org/licenses/LICENSE-2.0 9 | 10 | Unless required by applicable law or agreed to in writing, software 11 | distributed under the License is distributed on an "AS IS" BASIS, 12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | See the License for the specific language governing permissions and 14 | limitations under the License. 15 | */ 16 | 17 | // Package criercommonlib contains shared lib used by reporters 18 | package criercommonlib 19 | 20 | import ( 21 | "testing" 22 | 23 | "golang.org/x/sync/semaphore" 24 | ) 25 | 26 | func TestShardedLockCleanup(t *testing.T) { 27 | t.Parallel() 28 | sl := &ShardedLock{mapLock: semaphore.NewWeighted(1), locks: map[SimplePull]*semaphore.Weighted{}} 29 | key := SimplePull{"org", "repo", 1} 30 | sl.locks[key] = semaphore.NewWeighted(1) 31 | sl.Cleanup() 32 | if _, exists := sl.locks[key]; exists { 33 | t.Error("lock didn't get cleaned up") 34 | } 35 | 36 | } 37 | -------------------------------------------------------------------------------- /hack/make-rules/verify/gofmt.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | # Copyright 2021 The Kubernetes Authors. 3 | # 4 | # Licensed under the Apache License, Version 2.0 (the "License"); 5 | # you may not use this file except in compliance with the License. 6 | # You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | 16 | set -o nounset 17 | set -o errexit 18 | set -o pipefail 19 | 20 | REPO_ROOT="$(cd "$(dirname "${BASH_SOURCE[0]}")/../../.." && pwd -P)" 21 | cd $REPO_ROOT 22 | 23 | echo "Ensuring go version." 24 | source ./hack/build/setup-go.sh 25 | 26 | find . -name '*.go' -type f -print0 | xargs -0 gofmt -s -w 27 | diff=$(find . -name '*.go' -type f -print0 | xargs -0 gofmt -s -d) 28 | if [[ -z "$diff" ]]; then 29 | exit 0 30 | fi 31 | 32 | echo "$diff" 33 | echo 34 | echo "ERROR: found unformatted go files, fix with:" >&2 35 | echo " make update-gofmt" >&2 36 | exit 1 37 | -------------------------------------------------------------------------------- /hack/run-in-python-container.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | # Copyright 2021 The Kubernetes Authors. 3 | # 4 | # Licensed under the Apache License, Version 2.0 (the "License"); 5 | # you may not use this file except in compliance with the License. 6 | # You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | 16 | # This script runs $@ in a python container 17 | 18 | set -o errexit 19 | set -o nounset 20 | set -o pipefail 21 | 22 | REPO_ROOT="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd -P)" 23 | cd "${REPO_ROOT}" 24 | 25 | PY_IMAGE='python:3.13-slim-bookworm' 26 | 27 | docker run \ 28 | --rm -i \ 29 | -e HOME=/tmp \ 30 | -e PYTHONPATH='' \ 31 | -v "${REPO_ROOT:?}:${REPO_ROOT:?}" -w "${REPO_ROOT}" \ 32 | --security-opt="label=disable" \ 33 | "${PY_IMAGE}" \ 34 | bash -c 'source ./hack/make-rules/py-test/activate-python_venv.sh && $0 $@' "$@" 35 | -------------------------------------------------------------------------------- /pkg/sidecar/testdata/output/artifacts/docker/file.txt: -------------------------------------------------------------------------------- 1 | bob smith and jim james carelessly leaked their passwords, XXXXXXXX and XXXXXXXX, for registries, along with their auth values, XXXXXXXXXXXXXXX and XXXXXXXXXXXXXXX. Sidecar censored that data even when it wasn't part of the full secret. 2 | To make matters worse, they even printed the full contents of the secret! 3 | XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX 4 | 5 | BOB SMITH and JIM JAMES carelessly leaked their passwords, XXXXXXXX and XXXXXXXX, for registries, along with their auth values, XXXXXXXXXXXXXXX and XXXXXXXXXXXXXXX. Sidecar censored that data even when it wasn't part of the full secret. 6 | To make matters worse, they even printed the full contents of the secret! 7 | XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX -------------------------------------------------------------------------------- /site/content/en/docs/legacy-snapshot/_index.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: "Legacy Snapshot" 3 | description: > 4 | Legacy docs 5 | weight: 1000 6 | --- 7 | 8 | ## Legacy Snapshot 9 | 10 | Historically, almost all of Prow's documentation resided in the 11 | [kubernetes/test-infra][k/t-i] ("k/t-i") repo. As part of the [migration 12 | effort](https://github.com/kubernetes-sigs/prow/issues/4), those docs were 13 | replaced with "tombstones" in 14 | https://github.com/kubernetes/test-infra/pull/27818, with a pointer to this 15 | page. 16 | 17 | This page captures 18 | Prow documentation in the [k/t-i][] repository as of [October 19 | 25, 20 | 2022](https://github.com/kubernetes/test-infra/tree/ad35c59116f550a260de4fed95438fb43188ff1a). 21 | All Markdown files have been copied in along with their directory structure 22 | here. 23 | 24 | ## How you can help 25 | 26 | The files in this snapshot should probably be reorganized around logical 27 | delineations, and not the (inherited) filesystem delineations from [k/t-i][]. 28 | This is an ongoing effort and the goal is to one day delete this snapshot 29 | altogether (to be replaced by equivalent documentation outside of this folder). 30 | 31 | [k8s]: https://github.com/kubernetes/kubernetes 32 | [k/t-i]: https://github.com/kubernetes/test-infra 33 | --------------------------------------------------------------------------------