diff --git a/cmd/checkconfig/main.go b/cmd/checkconfig/main.go index 611f878f15..0f26f59056 100644 --- a/cmd/checkconfig/main.go +++ b/cmd/checkconfig/main.go @@ -517,7 +517,7 @@ func strictBranchesConfig(c config.ProwConfig) (*orgRepoConfig, error) { } func validateStrictBranches(c config.ProwConfig) error { - const explanation = "See #5: https://github.com/kubernetes/test-infra/blob/master/prow/cmd/tide/maintainers.md#best-practices Also note that this validation is imperfect, see the check-config code for details" + const explanation = "See #5: https://docs.prow.k8s.io/docs/components/core/tide/maintainers/#best-practices Also note that this validation is imperfect, see the check-config code for details" if len(c.Tide.Queries) == 0 { // Short circuit here so that we can allow global level branchprotector // 'strict: true' if Tide is not enabled. @@ -977,7 +977,7 @@ func validateNeedsOkToTestLabel(cfg *config.Config) error { "the tide query at position %d"+ "forbids the %q label and requires the %q label, "+ "which is not recommended; "+ - "see https://github.com/kubernetes/test-infra/blob/master/prow/cmd/tide/maintainers.md#best-practices "+ + "see https://docs.prow.k8s.io/docs/components/core/tide/maintainers/#best-practices "+ "for more information", i, labels.NeedsOkToTest, lgtm.LGTMLabel), ) diff --git a/cmd/checkconfig/main_test.go b/cmd/checkconfig/main_test.go index 2a73e4b0cf..27b4a83bc2 100644 --- a/cmd/checkconfig/main_test.go +++ b/cmd/checkconfig/main_test.go @@ -932,7 +932,7 @@ func TestValidateStrictBranches(t *testing.T) { }, }, errItems: []string{"kubernetes"}, - okItems: []string{"k8s"}, + okItems: []string{}, }, { name: "conflict: repo level", diff --git a/cmd/deck/main.go b/cmd/deck/main.go index d906a974e9..60f0d7b45c 100644 --- a/cmd/deck/main.go +++ b/cmd/deck/main.go @@ -485,7 +485,7 @@ func main() { } // if we allow direct reruns, we must protect against CSRF in all post requests using the cookie secret as a token - // for more information about CSRF, see https://github.com/kubernetes/test-infra/blob/master/prow/cmd/deck/csrf.md + // for more information about CSRF, see https://docs.prow.k8s.io/docs/components/core/deck/csrf/ empty := prowapi.ProwJobSpec{} if o.rerunCreatesJob && csrfToken == nil && !authCfgGetter(&empty).IsAllowAnyone() { logrus.Fatal("Rerun creates job cannot be enabled without CSRF protection, which requires --cookie-secret to be exactly 32 bytes") diff --git a/cmd/deck/static/common/rerun.ts b/cmd/deck/static/common/rerun.ts index 01a3ab12a5..936d5af31e 100644 --- a/cmd/deck/static/common/rerun.ts +++ b/cmd/deck/static/common/rerun.ts @@ -4,7 +4,7 @@ import {relativeURL} from "./urls"; export function createRerunProwJobIcon(modal: HTMLElement, parentEl: Element, prowjob: string, showRerunButton: boolean, csrfToken: string): HTMLElement { const LATEST_JOB = 'latest'; const ORIGINAL_JOB = 'original'; - const inrepoconfigURL = 'https://github.com/kubernetes/test-infra/blob/master/prow/inrepoconfig.md'; + const inrepoconfigURL = 'https://docs.prow.k8s.io/docs/inrepoconfig/'; const i = icon.create("refresh", "Show instructions for rerunning this job"); const closeModal = (): void => { diff --git a/pkg/flagutil/github.go b/pkg/flagutil/github.go index cbba11e6d1..2244badfbf 100644 --- a/pkg/flagutil/github.go +++ b/pkg/flagutil/github.go @@ -219,7 +219,7 @@ func (o *GitHubOptions) Validate(bool) error { } if o.TokenPath != "" && len(endpoints) == 1 && endpoints[0] == github.DefaultAPIEndpoint && !o.AllowDirectAccess { - logrus.Warn("It doesn't look like you are using ghproxy to cache API calls to GitHub! This has become a required component of Prow and other components will soon be allowed to add features that may rapidly consume API ratelimit without caching. Starting May 1, 2020 use Prow components without ghproxy at your own risk! https://github.com/kubernetes/test-infra/tree/master/ghproxy#ghproxy") + logrus.Warn("It doesn't look like you are using ghproxy to cache API calls to GitHub! This has become a required component of Prow and other components will soon be allowed to add features that may rapidly consume API ratelimit without caching. Starting May 1, 2020 use Prow components without ghproxy at your own risk! https://docs.prow.k8s.io/docs/ghproxy/") } if o.graphqlEndpoint == "" { diff --git a/pkg/flagutil/storage.go b/pkg/flagutil/storage.go index 33b2846313..380602c9f4 100644 --- a/pkg/flagutil/storage.go +++ b/pkg/flagutil/storage.go @@ -41,7 +41,7 @@ type StorageClientOptions struct { // AddFlags injects status client options into the given FlagSet. func (o *StorageClientOptions) AddFlags(fs *flag.FlagSet) { fs.StringVar(&o.GCSCredentialsFile, "gcs-credentials-file", "", "File where GCS credentials are stored") - fs.StringVar(&o.S3CredentialsFile, "s3-credentials-file", "", "File where s3 credentials are stored. For the exact format see https://github.com/kubernetes/test-infra/blob/master/prow/io/providers/providers.go") + fs.StringVar(&o.S3CredentialsFile, "s3-credentials-file", "", "File where s3 credentials are stored. For the exact format see https://github.com/kubernetes-sigs/prow/blob/main/pkg/io/providers/providers.go") } func (o *StorageClientOptions) HasGCSCredentials() bool { diff --git a/pkg/genfiles/genfiles_test.go b/pkg/genfiles/genfiles_test.go index 36d1a66b94..9967b98088 100644 --- a/pkg/genfiles/genfiles_test.go +++ b/pkg/genfiles/genfiles_test.go @@ -35,7 +35,7 @@ func TestGroupLoad(t *testing.T) { src: `# Files that should be ignored by tools which do not want to consider generated # code. # -# eg: https://git.sigs.k8s.io/prow/pkg/plugins/size/size.go +# eg: https://github.com/kubernetes-sigs/prow/blob/main/pkg/plugins/size/size.go # # This file is a series of lines, each of the form: # diff --git a/pkg/plugins/approve/approve.go b/pkg/plugins/approve/approve.go index d35027b207..dbcc267838 100644 --- a/pkg/plugins/approve/approve.go +++ b/pkg/plugins/approve/approve.go @@ -133,7 +133,7 @@ func helpProvider(config *plugins.Configuration, enabledRepos []config.OrgRepo) Description: `The approve plugin implements a pull request approval process that manages the '` + labels.Approved + `' label and an approval notification comment. Approval is achieved when the set of users that have approved the PR is capable of approving every file changed by the PR. A user is able to approve a file if their username or an alias they belong to is listed in the 'approvers' section of an OWNERS file in the directory of the file or higher in the directory tree.

Per-repo configuration may be used to require that PRs link to an associated issue before approval is granted. It may also be used to specify that the PR authors implicitly approve their own PRs. -
For more information see here.`, +
For more information see here.`, Config: approveConfig, Snippet: yamlSnippet, } diff --git a/pkg/plugins/config.go b/pkg/plugins/config.go index 873fe5c011..c3daab5dd6 100644 --- a/pkg/plugins/config.go +++ b/pkg/plugins/config.go @@ -54,7 +54,7 @@ type Configuration struct { // If it is defined on both organization and repository levels, the list of enabled // plugin names for the repository is the merging list of the two levels. // You can find a comprehensive list of the default available plugins here - // https://github.com/kubernetes/test-infra/tree/master/prow/plugins + // https://github.com/kubernetes-sigs/prow/tree/main/pkg/plugins // note that you're also able to add external plugins. Plugins Plugins `json:"plugins,omitempty"` diff --git a/pkg/plugins/plugin-config-documented.yaml b/pkg/plugins/plugin-config-documented.yaml index cb61c9eb21..0c557e34e5 100644 --- a/pkg/plugins/plugin-config-documented.yaml +++ b/pkg/plugins/plugin-config-documented.yaml @@ -486,7 +486,7 @@ owners: # If it is defined on both organization and repository levels, the list of enabled # plugin names for the repository is the merging list of the two levels. # You can find a comprehensive list of the default available plugins here -# https://github.com/kubernetes/test-infra/tree/master/prow/plugins +# https://github.com/kubernetes-sigs/prow/tree/main/pkg/plugins # note that you're also able to add external plugins. plugins: "": diff --git a/site/content/en/_index.html b/site/content/en/_index.html index 88cfff17b9..e89708be9b 100644 --- a/site/content/en/_index.html +++ b/site/content/en/_index.html @@ -8,7 +8,7 @@ }}"> Learn more - + Get the code
diff --git a/site/content/en/docs/announcements.md b/site/content/en/docs/announcements.md index 0b99354e98..04337dc1f3 100644 --- a/site/content/en/docs/announcements.md +++ b/site/content/en/docs/announcements.md @@ -105,7 +105,7 @@ New features added to each component: - *June 23rd, 2020* An [hmac](/docs/components/optional/hmac/) tool was added to automatically reconcile webhooks and hmac tokens for the orgs and repos integrated with your prow instance. - *June 8th, 2020* A new informer-based Plank implementation was added. It can be used by deploying - the new [prow-controller-manager](https://github.com/kubernetes/test-infra/tree/master/config/prow/experimental/controller_manager.yaml) binary. + the new [prow-controller-manager](https://github.com/kubernetes/test-infra/blob/master/config/prow/experimental/controller_manager.yaml) binary. We plan to gradually move all our controllers into that binary, see - *May 31, 2020* '--gcs-no-auth' in Deck is deprecated and not used anymore. We always fall back to an anonymous GCS client now, if all other options fail. This flag will @@ -243,12 +243,12 @@ used when updating deployments. - *February 22nd, 2022* Since prow version `v20220222-acb5731b85`, static files in `deck` image will be stored under `/var/run/ko/` directory. - *October 27th, 2021* The checkconfig flag `--prow-yaml-repo-path` no longer defaults to `/home/prow/go/src/github.com/<< prow-yaml-repo-name >>/.prow.yaml` when `--prow-yaml-repo-name` is set. The defaulting has instead been replaced with the assumption that the Prow YAML file/directory can be found in the current working directory if `--prow-yaml-repo-path` is not specified. If you are running checkconfig from a decorated ProwJobs as is typical, then this is already the case. -- *September 16th, 2021* The ProwJob [CRD manifest](https://github.com/kubernetes/test-infra/tree/master/config/prow/cluster/prowjob-crd/prowjob_customresourcedefinition.yaml) +- *September 16th, 2021* The ProwJob [CRD manifest](https://github.com/kubernetes-sigs/prow/blob/main/config/prow/cluster/prowjob-crd/prowjob_customresourcedefinition.yaml) has been extended to specify a schema. Unfortunately, this results in a huge manifest which in turn makes the standard `kubectl apply` fail, as the last-applied annotation it generates exceeds the maximum annotation size. If you are using Kubernetes 1.18 or newer, you can add - the `--server-side=true` argument to work around this. If not, you can use a [schemaless manifest](https://github.com/kubernetes/test-infra/tree/master/config/prow/cluster/prowjob-crd/legacy/prowjob-schemaless_customresourcedefinition.yaml) -- *September 15th, 2021* `autobump` removed, please use `generic-autobumper` instead, see [example config](https://github.com/kubernetes/test-infra/tree/master/config/prow/autobump-config/prow-component-autobump-config.yaml) + the `--server-side=true` argument to work around this. If not, you can use a [schemaless manifest](https://github.com/kubernetes/test-infra/blob/master/config/prow/cluster/prowjob-crd/legacy/prowjob-schemaless_customresourcedefinition.yaml) +- *September 15th, 2021* `autobump` removed, please use `generic-autobumper` instead, see [example config](https://github.com/kubernetes/test-infra/blob/master/config/prow/autobump-config/prow-component-autobump-config.yaml) - *April 16th, 2021* Flagutil remove default value for `--github-token-path`. - *April 15th, 2021* Sinker requires --dry-run=false (default is true) to function correctly in production. - *April 14th, 2021* Deck remove default value for `--cookie-secret-file`. @@ -269,8 +269,8 @@ used when updating deployments. for more details. - *November, 2020* The `blacklist` flag in status reconciler has been deprecated in favor of `denylist`. The support of `blacklist` will be stopped in February 2021. - *October, 2020* The `plank` binary has been deprecated in favor of the more modern implementation in the prow-controller-manager that provides the same functionality. Check out - its [README](/docs/components/core/prow-controller-manager/) or check out its [deployment](https://github.com/kubernetes/test-infra/tree/master/config/prow/cluster/prow_controller_manager_deployment.yaml) and - [rbac](https://github.com/kubernetes/test-infra/tree/master/config/prow/cluster/prow_controller_manager_rbac.yaml) manifest. The plank binary will be removed in February, 2021. + its [README](/docs/components/core/prow-controller-manager/) or check out its [deployment](https://github.com/kubernetes/test-infra/blob/master/config/prow/cluster/prow_controller_manager_deployment.yaml) and + [rbac](https://github.com/kubernetes/test-infra/blob/master/config/prow/cluster/prow_controller_manager_rbac.yaml) manifest. The plank binary will be removed in February, 2021. - *September 14th, 2020* Sinker now requires `LIST` and `WATCH` permissions for pods - *September 2, 2020* The already deprecated `namespace` and `additional_namespaces` settings in the config updater will be removed in October, 2020 - *August 28, 2020* `tide` now ignores archived repositories in queries. diff --git a/site/content/en/docs/build-clusters.md b/site/content/en/docs/build-clusters.md index 6b6336efad..94bf0f9ec1 100644 --- a/site/content/en/docs/build-clusters.md +++ b/site/content/en/docs/build-clusters.md @@ -34,7 +34,7 @@ Service Account** and **GSA** means **GCP (IAM) Service Account**. ## Running the build cluster setup script The Prow source repo comes with a default -[create-build-cluster.sh](https://github.com/kubernetes/test-infra/blob/master/prow/create-build-cluster.sh) +[create-build-cluster.sh](https://github.com/kubernetes-sigs/prow/blob/main/pkg/create-build-cluster.sh) script which allows you to create a new GKE cluster with the intent of giving the [Kubernetes Prow instance](https://prow.k8s.io) access to it. Because there are different Prow instances and each instance has its own default settings @@ -54,7 +54,7 @@ There are two requirements: 1. Prow must be able to schedule jobs into your build cluster. 2. The jobs themselves must be able to upload artifacts to the GCS bucket used -by [Deck](../components/deck), in order to report job status (e.g., "passing" or +by [Deck](../components/core/deck/), in order to report job status (e.g., "passing" or "failing"). We look at both requirements below. diff --git a/site/content/en/docs/build-test-update.md b/site/content/en/docs/build-test-update.md index 0fec35beb9..2085b9d980 100644 --- a/site/content/en/docs/build-test-update.md +++ b/site/content/en/docs/build-test-update.md @@ -33,7 +33,7 @@ go build ./cmd/hook go test ./pkg/plugins/lgtm ``` (Note: `deck` depends on non-go static files, these were tested by integration -tests, and for e2e test use [`runlocal`](https://github.com/kubernetes/test-infra/tree/master/prow/cmd/deck/runlocal) if desired.) +tests, and for e2e test use [`runlocal`](https://github.com/kubernetes-sigs/prow/blob/main/cmd/deck/runlocal) if desired.) ### How to test a plugin @@ -115,7 +115,7 @@ The ProwJob must use `agent: kubernetes` (the default, runs ProwJobs as Pods). Each Prow instance can supply a preconfigured variant of pj-on-kind.sh that properly defaults the config file locations. [Example](https://github.com/istio/test-infra/blob/01167b0dc9cb19bee40aa8dff958f526cfeeb570/prow/pj-on-kind.sh) for [prow.istio.io](https://prow.istio.io). -To test ProwJobs for the [prow.k8s.io] instance use [`config/pj-on-kind.sh`](https://github.com/kubernetes/test-infra/tree/master/config/pj-on-kind.sh). +To test ProwJobs for the [prow.k8s.io] instance use [`config/pj-on-kind.sh`](https://github.com/kubernetes/test-infra/blob/master/config/pj-on-kind.sh). ##### Example This command runs the ProwJob [`pull-test-infra-yamllint`](https://github.com/kubernetes/test-infra/blob/170921984a34ca40f2763f9e71d6ce6e033dec03/config/jobs/kubernetes/test-infra/test-infra-presubmits.yaml#L94-L107) locally on Kind. @@ -142,17 +142,6 @@ export KUBECONFIG='//.kube/kind-config-mkpod' ``` After pointing to the correct master you will be able to drop into the container using `kubectl exec -it `. **This pod will only last the lifecycle of the job, if you need more time to debug you might add a `sleep` within the job execution. -#### Using Phaino -[Phaino](/docs/components/cli-tools/phaino/) lets you interactively mock and run the job locally on -your workstation in a docker container. Detailed instructions can be found in -Phaino's [Readme](/docs/components/cli-tools/phaino/). - -Note: Test containers designed for decorated jobs (configured with `decorate: true`) -may behave incorrectly or fail entirely without the environment the pod utilities -provide. Similarly jobs that mount volumes or use `extra_refs` likely won't work -properly. -These jobs are best run locally as decorated pods inside a [Kind] cluster [Using pj-on-kind.sh](#using-pj-on-kindsh). - ### How to manually run a given job on Prow If the normal job triggering mechanisms (`/test foo` comments, PR changes, PR @@ -187,4 +176,4 @@ to generate ProwJob YAML. [Kind]: https://sigs.k8s.io/kind [mkpj]: /docs/components/cli-tools/mkpj/ [mkpod]: /docs/components/cli-tools/mkpod/ -[pj-on-kind.sh]: https://github.com/kubernetes/test-infra/tree/master/prow/pj-on-kind.sh +[pj-on-kind.sh]: https://github.com/kubernetes-sigs/prow/blob/main/pkg/pj-on-kind.sh diff --git a/site/content/en/docs/components/_index.md b/site/content/en/docs/components/_index.md index 694bee20ba..f0de373a47 100644 --- a/site/content/en/docs/components/_index.md +++ b/site/content/en/docs/components/_index.md @@ -13,49 +13,48 @@ Prow has a microservice architecture implemented as a collection of container im #### Core Components -* `crier` ([doc](/docs/components/core/crier/), [code](https://github.com/kubernetes/test-infra/tree/master/prow/cmd/crier)) reports on ProwJob status changes. Can be configured to report to gerrit, github, pubsub, slack, etc. -* `deck` ([doc](/docs/components/core/deck/), [code](https://github.com/kubernetes/test-infra/tree/master/prow/cmd/deck)) presents a nice view of [recent jobs](https://prow.k8s.io/), [command](https://prow.k8s.io/command-help) and [plugin](https://prow.k8s.io/plugins) help information, the [current status](https://prow.k8s.io/tide) and [history](https://prow.k8s.io/tide-history) of merge automation, and a [dashboard for PR authors](https://prow.k8s.io/pr). -* `hook` ([doc](/docs/components/core/hook/), [code](https://github.com/kubernetes/test-infra/tree/master/prow/cmd/hook)) is the most important piece. It is a stateless server that listens for GitHub webhooks and dispatches them to the appropriate plugins. Hook's plugins are used to trigger jobs, implement 'slash' commands, post to Slack, and more. See the plugins [doc](/docs/components/plugins/) and [code directory](https://github.com/kubernetes/test-infra/tree/master/prow/plugins) for more information on plugins. -* `horologium` ([doc](/docs/components/core/horologium/), [code](https://github.com/kubernetes/test-infra/tree/master/prow/cmd/horologium)) triggers periodic jobs when necessary. -* `prow-controller-manager` ([doc](/docs/components/core/prow-controller-manager/), [code](https://github.com/kubernetes/test-infra/tree/master/prow/cmd/prow-controller-manager)) manages the job execution and lifecycle for jobs that run in k8s pods. It currently acts as a replacement for [`plank`](/docs/components/deprecated/plank/) -* `sinker` ([doc](/docs/components/core/sinker/), [code](https://github.com/kubernetes/test-infra/tree/master/prow/cmd/sinker)) cleans up old jobs and pods. +* `crier` ([doc](/docs/components/core/crier/), [code](https://github.com/kubernetes-sigs/prow/tree/main/cmd/crier)) reports on ProwJob status changes. Can be configured to report to gerrit, github, pubsub, slack, etc. +* `deck` ([doc](/docs/components/core/deck/), [code](https://github.com/kubernetes-sigs/prow/tree/main/cmd/deck)) presents a nice view of [recent jobs](https://prow.k8s.io/), [command](https://prow.k8s.io/command-help) and [plugin](https://prow.k8s.io/plugins) help information, the [current status](https://prow.k8s.io/tide) and [history](https://prow.k8s.io/tide-history) of merge automation, and a [dashboard for PR authors](https://prow.k8s.io/pr). +* `hook` ([doc](/docs/components/core/hook/), [code](https://github.com/kubernetes-sigs/prow/tree/main/cmd/hook)) is the most important piece. It is a stateless server that listens for GitHub webhooks and dispatches them to the appropriate plugins. Hook's plugins are used to trigger jobs, implement 'slash' commands, post to Slack, and more. See the plugins [doc](/docs/components/plugins/) and [code directory](https://github.com/kubernetes-sigs/prow/tree/main/pkg/plugins) for more information on plugins. +* `horologium` ([doc](/docs/components/core/horologium/), [code](https://github.com/kubernetes-sigs/prow/tree/main/cmd/horologium)) triggers periodic jobs when necessary. +* `prow-controller-manager` ([doc](/docs/components/core/prow-controller-manager/), [code](https://github.com/kubernetes-sigs/prow/tree/main/cmd/prow-controller-manager)) manages the job execution and lifecycle for jobs that run in k8s pods. It currently acts as a replacement for [`plank`](/docs/components/deprecated/plank/) +* `sinker` ([doc](/docs/components/core/sinker/), [code](https://github.com/kubernetes-sigs/prow/tree/main/cmd/sinker)) cleans up old jobs and pods. #### Merge Automation -* `tide` ([doc](/docs/components/core/tide/), [code](https://github.com/kubernetes/test-infra/tree/master/prow/cmd/tide)) manages retesting and merging PRs once they meet the configured merge criteria. See [its README](/docs/components/core/tide/) for more information. +* `tide` ([doc](/docs/components/core/tide/), [code](https://github.com/kubernetes-sigs/prow/tree/main/cmd/tide)) manages retesting and merging PRs once they meet the configured merge criteria. See [its README](/docs/components/core/tide/) for more information. #### Optional Components -* `branchprotector` ([doc](/docs/components/optional/branchprotector/), [code](https://github.com/kubernetes/test-infra/tree/master/prow/cmd/branchprotector)) configures [github branch protection](https://help.github.com/articles/about-protected-branches/) according to a specified policy -* `exporter` ([doc](/docs/components/optional/exporter/), [code](https://github.com/kubernetes/test-infra/tree/master/prow/cmd/exporter)) exposes metrics about ProwJobs not directly related to a specific Prow component -* `gcsupload` ([doc](/docs/components/optional/gcsupload/), [code](https://github.com/kubernetes/test-infra/tree/master/prow/cmd/gcsupload)) -* `gerrit` ([doc](/docs/components/optional/gerrit/), [code](https://github.com/kubernetes/test-infra/tree/master/prow/cmd/gerrit)) is a Prow-gerrit adapter for handling CI on [gerrit](https://www.gerritcodereview.com/) workflows -* `hmac` ([doc](/docs/components/optional/hmac/), [code](https://github.com/kubernetes/test-infra/tree/master/prow/cmd/hmac)) updates HMAC tokens, GitHub webhooks and HMAC secrets for the orgs/repos specified in the Prow config file -* `jenkins-operator` ([doc](/docs/components/optional/jenkins-operator/), [code](https://github.com/kubernetes/test-infra/tree/master/prow/cmd/jenkins-operator)) is the controller that manages jobs that run on Jenkins. We moved away from using this component in favor of running all jobs on Kubernetes. -* `tot` ([doc](/docs/components/optional/tot/), [code](https://github.com/kubernetes/test-infra/tree/master/prow/cmd/tot)) vends sequential build numbers. Tot is only necessary for integration with automation that expects sequential build numbers. If Tot is not used, Prow automatically generates build numbers that are monotonically increasing, but not sequential. -* `status-reconciler` ([doc](/docs/components/optional/status-reconciler/), [code](https://github.com/kubernetes/test-infra/tree/master/prow/cmd/status-reconciler)) ensures changes to blocking presubmits in Prow configuration does not cause in-flight GitHub PRs to get stuck -* `sub` ([doc](/docs/components/optional/sub/), [code](https://github.com/kubernetes/test-infra/tree/master/prow/cmd/sub)) listen to Cloud Pub/Sub notification to trigger Prow Jobs. +* `branchprotector` ([doc](/docs/components/optional/branchprotector/), [code](https://github.com/kubernetes-sigs/prow/tree/main/cmd/branchprotector)) configures [github branch protection](https://help.github.com/articles/about-protected-branches/) according to a specified policy +* `exporter` ([doc](/docs/components/optional/exporter/), [code](https://github.com/kubernetes-sigs/prow/tree/main/cmd/exporter)) exposes metrics about ProwJobs not directly related to a specific Prow component +* `gcsupload` ([doc](/docs/components/optional/gcsupload/), [code](https://github.com/kubernetes-sigs/prow/tree/main/cmd/gcsupload)) +* `gerrit` ([doc](/docs/components/optional/gerrit/), [code](https://github.com/kubernetes-sigs/prow/tree/main/cmd/gerrit)) is a Prow-gerrit adapter for handling CI on [gerrit](https://www.gerritcodereview.com/) workflows +* `hmac` ([doc](/docs/components/optional/hmac/), [code](https://github.com/kubernetes-sigs/prow/tree/main/cmd/hmac)) updates HMAC tokens, GitHub webhooks and HMAC secrets for the orgs/repos specified in the Prow config file +* `jenkins-operator` ([doc](/docs/components/optional/jenkins-operator/), [code](https://github.com/kubernetes-sigs/prow/tree/main/cmd/jenkins-operator)) is the controller that manages jobs that run on Jenkins. We moved away from using this component in favor of running all jobs on Kubernetes. +* `tot` ([doc](/docs/components/optional/tot/), [code](https://github.com/kubernetes-sigs/prow/tree/main/cmd/tot)) vends sequential build numbers. Tot is only necessary for integration with automation that expects sequential build numbers. If Tot is not used, Prow automatically generates build numbers that are monotonically increasing, but not sequential. +* `status-reconciler` ([doc](/docs/components/optional/status-reconciler/), [code](https://github.com/kubernetes-sigs/prow/tree/main/cmd/status-reconciler)) ensures changes to blocking presubmits in Prow configuration does not cause in-flight GitHub PRs to get stuck +* `sub` ([doc](/docs/components/optional/sub/), [code](https://github.com/kubernetes-sigs/prow/tree/main/cmd/sub)) listen to Cloud Pub/Sub notification to trigger Prow Jobs. ## CLI Tools -* `checkconfig` ([doc](/docs/components/cli-tools/checkconfig/), [code](https://github.com/kubernetes/test-infra/tree/master/prow/cmd/checkconfig)) loads and verifies the configuration, useful as a pre-submit. -* `config-bootstrapper` ([doc](/docs/components/cli-tools/config-bootstrapper/), [code](https://github.com/kubernetes/test-infra/tree/master/prow/cmd/config-bootstrapper)) bootstraps a configuration that would be incrementally updated by the [`updateconfig` Prow plugin](/docs/components/plugins/updateconfig/) -* `generic-autobumper` ([doc](/docs/components/cli-tools/generic-autobumper/), [code](https://github.com/kubernetes/test-infra/tree/master/prow/cmd/generic-autobumper)) automates image version upgrades (e.g. for a Prow deployment) by opening a PR with images changed to their latest version according to a config file. -* `invitations-accepter` ([doc](/docs/components/cli-tools/invitations-accepter/), [code](https://github.com/kubernetes/test-infra/tree/master/prow/cmd/invitations-accepter)) approves all pending GitHub repository invitations -* `mkpj` ([doc](/docs/components/cli-tools/mkpj/), [code](https://github.com/kubernetes/test-infra/tree/master/prow/cmd/mkpj)) creates `ProwJobs` using Prow configuration. -* `mkpod` ([doc](/docs/components/cli-tools/mkpod/), [code](https://github.com/kubernetes/test-infra/tree/master/prow/cmd/mkpod)) creates `Pods` from `ProwJobs`. -* `peribolos` ([doc](/docs/components/cli-tools/peribolos/), [code](https://github.com/kubernetes/test-infra/tree/master/prow/cmd/peribolos)) manages GitHub org, team and membership settings according to a config file. Used by [kubernetes/org](https://github.com/kubernetes/org) -* `phaino` ([doc](/docs/components/cli-tools/phaino/), [code](https://github.com/kubernetes/test-infra/tree/master/prow/cmd/phaino)) runs an approximation of a ProwJob on your local workstation -* `phony` ([doc](/docs/components/cli-tools/phony/), [code](https://github.com/kubernetes/test-infra/tree/master/prow/cmd/phony)) sends fake webhooks for testing hook and plugins. +* `checkconfig` ([doc](/docs/components/cli-tools/checkconfig/), [code](https://github.com/kubernetes-sigs/prow/tree/main/cmd/checkconfig)) loads and verifies the configuration, useful as a pre-submit. +* `config-bootstrapper` ([doc](/docs/components/cli-tools/config-bootstrapper/), [code](https://github.com/kubernetes-sigs/prow/tree/main/cmd/config-bootstrapper)) bootstraps a configuration that would be incrementally updated by the [`updateconfig` Prow plugin](/docs/components/plugins/updateconfig/) +* `generic-autobumper` ([doc](/docs/components/cli-tools/generic-autobumper/), [code](https://github.com/kubernetes-sigs/prow/tree/main/cmd/generic-autobumper)) automates image version upgrades (e.g. for a Prow deployment) by opening a PR with images changed to their latest version according to a config file. +* `invitations-accepter` ([doc](/docs/components/cli-tools/invitations-accepter/), [code](https://github.com/kubernetes-sigs/prow/tree/main/cmd/invitations-accepter)) approves all pending GitHub repository invitations +* `mkpj` ([doc](/docs/components/cli-tools/mkpj/), [code](https://github.com/kubernetes-sigs/prow/tree/main/cmd/mkpj)) creates `ProwJobs` using Prow configuration. +* `mkpod` ([doc](/docs/components/cli-tools/mkpod/), [code](https://github.com/kubernetes-sigs/prow/tree/main/cmd/mkpod)) creates `Pods` from `ProwJobs`. +* `peribolos` ([doc](/docs/components/cli-tools/peribolos/), [code](https://github.com/kubernetes-sigs/prow/tree/main/cmd/peribolos)) manages GitHub org, team and membership settings according to a config file. Used by [kubernetes/org](https://github.com/kubernetes/org) +* `phony` ([doc](/docs/components/cli-tools/phony/), [code](https://github.com/kubernetes-sigs/prow/tree/main/cmd/phony)) sends fake webhooks for testing hook and plugins. ## Pod Utilities These are small tools that are automatically added to ProwJob pods for jobs that request pod decoration. They are used to transparently provide source code cloning and upload of metadata, logs, and job artifacts to persistent storage. See [their README](/docs/components/pod-utilities/) for more information. -* `clonerefs` ([doc](/docs/components/pod-utilities/clonerefs/), [code](https://github.com/kubernetes/test-infra/tree/master/prow/cmd/clonerefs)) -* `initupload` ([doc](/docs/components/pod-utilities/initupload/), [code](https://github.com/kubernetes/test-infra/tree/master/prow/cmd/initupload)) -* `entrypoint` ([doc](/docs/components/pod-utilities/entrypoint/), [code](https://github.com/kubernetes/test-infra/tree/master/prow/cmd/entrypoint)) -* `sidecar` ([doc](/docs/components/pod-utilities/sidecar/), [code](https://github.com/kubernetes/test-infra/tree/master/prow/cmd/sidecar)) +* `clonerefs` ([doc](/docs/components/pod-utilities/clonerefs/), [code](https://github.com/kubernetes-sigs/prow/tree/main/cmd/clonerefs)) +* `initupload` ([doc](/docs/components/pod-utilities/initupload/), [code](https://github.com/kubernetes-sigs/prow/tree/main/cmd/initupload)) +* `entrypoint` ([doc](/docs/components/pod-utilities/entrypoint/), [code](https://github.com/kubernetes-sigs/prow/tree/main/cmd/entrypoint)) +* `sidecar` ([doc](/docs/components/pod-utilities/sidecar/), [code](https://github.com/kubernetes-sigs/prow/tree/main/cmd/sidecar)) ## Base Images @@ -63,11 +62,12 @@ The container images in [`images`](https://github.com/kubernetes/test-infra/tree ## TODO: undocumented -* `admission` ([doc](/docs/components/undocumented/admission/), [code](https://github.com/kubernetes/test-infra/tree/master/prow/cmd/admission)) -* `grandmatriarch` ([doc](/docs/components/undocumented/grandmatriarch/), [code](https://github.com/kubernetes/test-infra/tree/master/prow/cmd/grandmatriarch)) -* `pipeline` ([doc](/docs/components/undocumented/pipeline/), [code](https://github.com/kubernetes/test-infra/tree/master/prow/cmd/pipeline)) -* `tackle` ([doc](/docs/components/undocumented/tackle/), [code](https://github.com/kubernetes/test-infra/tree/master/prow/cmd/tackle)) +* `admission` ([doc](/docs/components/undocumented/admission/), [code](https://github.com/kubernetes-sigs/prow/tree/main/cmd/admission)) +* `grandmatriarch` ([doc](/docs/components/undocumented/grandmatriarch/), [code](https://github.com/kubernetes-sigs/prow/tree/main/cmd/grandmatriarch)) +* `pipeline` ([doc](/docs/components/undocumented/pipeline/), [code](https://github.com/kubernetes-sigs/prow/tree/main/cmd/pipeline)) +* `tackle` ([doc](/docs/components/undocumented/tackle/), [code](https://github.com/kubernetes-sigs/prow/tree/main/cmd/tackle)) ## Deprecated -* `cm2kc` ([doc](/docs/components/deprecated/cm2kc/), [code](https://github.com/kubernetes/test-infra/tree/master/prow/cmd/cm2kc)) is a CLI tool used to convert a [clustermap file](/docs/getting-started-deploy/#run-test-pods-in-different-clusters) to a [kubeconfig file](https://kubernetes.io/docs/tasks/access-application-cluster/configure-access-multiple-clusters/). Deprecated because we have moved away from clustermaps; you should use [`gencred`](https://github.com/kubernetes/test-infra/tree/master/gencred) to generate a [kubeconfig file](https://kubernetes.io/docs/tasks/access-application-cluster/configure-access-multiple-clusters/) directly. +* `cm2kc` ([doc](/docs/components/deprecated/cm2kc/), [code](https://github.com/kubernetes-sigs/prow/tree/main/cmd/cm2kc)) is a CLI tool used to convert a [clustermap file](/docs/getting-started-deploy/#run-test-pods-in-different-clusters) to a [kubeconfig file](https://kubernetes.io/docs/tasks/access-application-cluster/configure-access-multiple-clusters/). Deprecated because we have moved away from clustermaps; you should use [`gencred`](https://github.com/kubernetes/test-infra/tree/master/gencred) to generate a [kubeconfig file](https://kubernetes.io/docs/tasks/access-application-cluster/configure-access-multiple-clusters/) directly. +* `phaino` ([doc](/docs/components/deprecated/phaino/)) runs an approximation of a ProwJob on your local workstation diff --git a/site/content/en/docs/components/cli-tools/generic-autobumper.md b/site/content/en/docs/components/cli-tools/generic-autobumper.md index 1e82f9ea41..2380a610e0 100644 --- a/site/content/en/docs/components/cli-tools/generic-autobumper.md +++ b/site/content/en/docs/components/cli-tools/generic-autobumper.md @@ -9,7 +9,7 @@ This tool automates the version upgrading of images such as the [prow.k8s.io](ht Its workflow is: * Given a local git repo containing the manifests of Prow component deployment, - e.g., [/config/prow/cluster](https://github.com/kubernetes/test-infra/tree/master/config/prow/cluster) folder in this repo. + e.g., [/config/prow/cluster](https://github.com/kubernetes-sigs/prow/tree/main/config/prow/cluster) folder in this repo. * Find out the most recent tags of given prefixes in `gcr.io` registry and modify the yaml files with them. * `git-commit` the change, push it to the remote repo, and create/update a PR, @@ -20,9 +20,9 @@ The cluster admins can upgrade the version of images by approving the PR. Define Prow jobs to utilize this tool: * Periodic job for the above workflow: Periodically generate PRs for bumping the version, - e.g., [ci-test-infra-autobump-prow](https://github.com/kubernetes/test-infra/blob/master/config/jobs/kubernetes/test-infra/test-infra-trusted.yaml#L869). + e.g., [ci-test-infra-autobump-prow](https://github.com/kubernetes/test-infra/blob/master/config/jobs/kubernetes/test-infra/test-infra-trusted.yaml#L527). * Postsubmit job for auto-deployment: In order to make the changes effective in Prow-cluster, -a postsubmit job, e.g., [`post-test-infra-deploy-prow`](https://github.com/kubernetes/test-infra/blob/master/config/jobs/kubernetes/test-infra/test-infra-trusted.yaml#L89) +a postsubmit job, e.g., [`post-test-infra-deploy-prow`](https://github.com/kubernetes/test-infra/blob/master/config/jobs/kubernetes/test-infra/test-infra-trusted.yaml#L84) for [prow.k8s.io](https://prow.k8s.io/) is defined for deploying the yaml files. ### Requirement diff --git a/site/content/en/docs/components/cli-tools/peribolos.md b/site/content/en/docs/components/cli-tools/peribolos.md index cc160b04cf..991b831c4d 100644 --- a/site/content/en/docs/components/cli-tools/peribolos.md +++ b/site/content/en/docs/components/cli-tools/peribolos.md @@ -166,7 +166,7 @@ This flag is designed to protect against typos in the configuration which might See `go run ./cmd/peribolos --help` for the full and current list of settings that can be configured with flags. -[`config.yaml`]: https://github.com/kubernetes/test-infra/tree/master/config/prow/config.yaml +[`config.yaml`]: https://github.com/kubernetes/test-infra/blob/master/config/prow/config.yaml [edit team]: https://developer.github.com/v3/teams/#edit-team [edit org]: https://developer.github.com/v3/orgs/#edit-an-organization [peribolos]: https://en.wikipedia.org/wiki/Peribolos diff --git a/site/content/en/docs/components/cli-tools/phony.md b/site/content/en/docs/components/cli-tools/phony.md index 796c61c1b3..a6fda13d0e 100644 --- a/site/content/en/docs/components/cli-tools/phony.md +++ b/site/content/en/docs/components/cli-tools/phony.md @@ -50,4 +50,4 @@ If you are testing `hook` and successfully sent the webhook from `phony`, you sh {"author":"","component":"hook","event-GUID":"GUID","event-type":"pull_request","level":"info","msg":"Pull request .","org":"","pr":0,"repo":"","time":"2018-05-29T11:38:57-07:00","url":""} ``` -A list of supported events can be found in the [GitHub API Docs](https://developer.github.com/v3/activity/events/types/). Some example event payloads can be found in the [`examples`](https://github.com/kubernetes/test-infra/tree/master/prow/cmd/phony/examples) directory. +A list of supported events can be found in the [GitHub API Docs](https://developer.github.com/v3/activity/events/types/). Some example event payloads can be found in the [`examples`](https://github.com/kubernetes-sigs/prow/tree/main/cmd/phony/examples) directory. diff --git a/site/content/en/docs/components/core/crier.md b/site/content/en/docs/components/core/crier.md index f19c2155bb..ddb07c24b0 100644 --- a/site/content/en/docs/components/core/crier.md +++ b/site/content/en/docs/components/core/crier.md @@ -12,7 +12,7 @@ Crier reports your prowjobs on their status changes. For any reporter you want to use, you need to mount your prow configs and specify `--config-path` and `job-config-path` flag as most of other prow controllers do. -### [Gerrit reporter](https://github.com/kubernetes/test-infra/tree/master/prow/crier/reporters/gerrit) +### [Gerrit reporter](https://github.com/kubernetes-sigs/prow/tree/main/pkg/crier/reporters/gerrit) You can enable gerrit reporter in crier by specifying `--gerrit-workers=n` flag. @@ -27,7 +27,7 @@ The reporter will also cast a +1/-1 vote on the `prow.k8s.io/gerrit-report-label or by default it will vote on `CodeReview` label. Where `+1` means all jobs on the patshset pass and `-1` means one or more jobs failed on the patchset. -### [Pubsub reporter](https://github.com/kubernetes/test-infra/tree/master/prow/crier/reporters/pubsub) +### [Pubsub reporter](https://github.com/kubernetes-sigs/prow/tree/main/pkg/crier/reporters/pubsub) You can enable pubsub reporter in crier by specifying `--pubsub-workers=n` flag. @@ -45,17 +45,17 @@ Pubsub reporter will report whenever prowjob has a state transition. You can check the reported result by [list the pubsub topic](https://cloud.google.com/sdk/gcloud/reference/pubsub/topics/list). -### [GitHub reporter](https://github.com/kubernetes/test-infra/tree/master/prow/crier/reporters/github) +### [GitHub reporter](https://github.com/kubernetes-sigs/prow/tree/main/pkg/crier/reporters/github) You can enable github reporter in crier by specifying `--github-workers=N` flag (N>0). You also need to mount a github oauth token by specifying `--github-token-path` flag, which defaults to `/etc/github/oauth`. -If you have a [ghproxy](https://github.com/kubernetes/test-infra/tree/master/ghproxy) deployed, also remember to point `--github-endpoint` to your ghproxy to avoid token throttle. +If you have a [ghproxy](/docs/ghproxy/) deployed, also remember to point `--github-endpoint` to your ghproxy to avoid token throttle. -The actual report logic is in the [github report library](https://github.com/kubernetes/test-infra/tree/master/prow/github/report) for your reference. +The actual report logic is in the [github report library](https://github.com/kubernetes-sigs/prow/tree/main/pkg/github/report) for your reference. -### [Slack reporter](https://github.com/kubernetes/test-infra/tree/master/prow/crier/reporters/slack) +### [Slack reporter](https://github.com/kubernetes-sigs/prow/tree/main/pkg/crier/reporters/slack) > **NOTE:** if enabling the slack reporter for the *first* time, Crier will message to the Slack channel for **all** ProwJobs matching the configured filtering criteria. @@ -238,7 +238,7 @@ so as a user you only want to make one of them to report :-) To disable GitHub reporting in Plank, add the `--skip-report=true` flag to the Plank [deployment](https://github.com/kubernetes/test-infra/blob/de3775a7480fe0a724baacf24a87cbf058cd9fd5/prow/cluster/plank_deployment.yaml#L45). -Before migrating, be sure plank is setting the [PrevReportStates field](https://github.com/kubernetes/test-infra/blob/de3775a7480fe0a724baacf24a87cbf058cd9fd5/prow/apis/prowjobs/v1/types.go#L566) +Before migrating, be sure plank is setting the [PrevReportStates field](https://github.com/kubernetes-sigs/prow/blob/db89760fea406dd2813e331c3d52b53b5bcbd140/pkg/apis/prowjobs/v1/types.go#L1078) by describing a finished presubmit prowjob. Plank started to set this field after commit [2118178](https://github.com/kubernetes/test-infra/pull/10975/commits/211817826fc3c4f3315a02e46f3d6aa35573d22f), if not, you want to upgrade your plank to a version includes this commit before moving forward. you can check this entry by: diff --git a/site/content/en/docs/components/core/deck/_index.md b/site/content/en/docs/components/core/deck/_index.md index 02178a0468..d01e1413c0 100644 --- a/site/content/en/docs/components/core/deck/_index.md +++ b/site/content/en/docs/components/core/deck/_index.md @@ -50,7 +50,7 @@ See example below: Rerunning can also be done on Spyglass: ![Example](./spyglass_rerun.png) -This is also available for non github prow if the frontend is secured and [`allow_anyone`](https://github.com/kubernetes/test-infra/blob/95cc9f4b68d0ce5702c3b3e009221de0fe0a482a/prow/apis/prowjobs/v1/types.go#L190-L191) is set to true for the job. +This is also available for non github prow if the frontend is secured and [`allow_anyone`](https://github.com/kubernetes-sigs/prow/blob/db89760fea406dd2813e331c3d52b53b5bcbd140/pkg/apis/prowjobs/v1/types.go#L264-L265) is set to true for the job. ## Abort Prow Job via Prow UI @@ -62,4 +62,4 @@ See example below: Aborting can also be done on Spyglass: ![Example](./spyglass_abort.png) -This is also available for non github prow if the frontend is secured and [`allow_anyone`](https://github.com/kubernetes/test-infra/blob/95cc9f4b68d0ce5702c3b3e009221de0fe0a482a/prow/apis/prowjobs/v1/types.go#L190-L191) is set to true for the job. \ No newline at end of file +This is also available for non github prow if the frontend is secured and [`allow_anyone`](https://github.com/kubernetes-sigs/prow/blob/db89760fea406dd2813e331c3d52b53b5bcbd140/pkg/apis/prowjobs/v1/types.go#L264-L265) is set to true for the job. \ No newline at end of file diff --git a/site/content/en/docs/components/core/deck/github-oauth-setup.md b/site/content/en/docs/components/core/deck/github-oauth-setup.md index b5000f5e78..693a21dc83 100644 --- a/site/content/en/docs/components/core/deck/github-oauth-setup.md +++ b/site/content/en/docs/components/core/deck/github-oauth-setup.md @@ -113,7 +113,7 @@ Pass the file path to `deck` as a flag: `--github-token-path=/etc/github/oauth` -You can optionally use [ghproxy](https://github.com/kubernetes/test-infra/blob/master/ghproxy/README.md) to reduce token usage. +You can optionally use [ghproxy](/docs/ghproxy/) to reduce token usage. ## Run PR Status endpoint locally diff --git a/site/content/en/docs/components/core/prow-controller-manager.md b/site/content/en/docs/components/core/prow-controller-manager.md index cb5f0f1046..8e63eb1f6f 100644 --- a/site/content/en/docs/components/core/prow-controller-manager.md +++ b/site/content/en/docs/components/core/prow-controller-manager.md @@ -30,8 +30,8 @@ $ go run ./cmd/prow-controller-manager --help ### Configuration -* [Deployment manifest](https://github.com/kubernetes/test-infra/tree/master/config/prow/cluster/prow_controller_manager_deployment.yaml) -* [RBAC manifest](https://github.com/kubernetes/test-infra/tree/master/config/prow/cluster/prow_controller_manager_rbac.yaml) +* [Deployment manifest](https://github.com/kubernetes/test-infra/blob/master/config/prow/cluster/prow_controller_manager_deployment.yaml) +* [RBAC manifest](https://github.com/kubernetes/test-infra/blob/master/config/prow/cluster/prow_controller_manager_rbac.yaml) [Plank]: /docs/components/deprecated/plank/ [Sinker]: /docs/components/core/sinker/ diff --git a/site/content/en/docs/components/core/tide/config.md b/site/content/en/docs/components/core/tide/config.md index 9a4c27cfe8..9ce214fcf5 100644 --- a/site/content/en/docs/components/core/tide/config.md +++ b/site/content/en/docs/components/core/tide/config.md @@ -5,7 +5,7 @@ description: > --- -Configuration of Tide is located under the [config/prow/config.yaml](https://github.com/kubernetes/test-infra/tree/master/config/prow/config.yaml) file. All configuration for merge behavior and criteria belongs in the `tide` yaml struct, but it may be necessary to also configure presubmits for Tide to run against PRs (see ['Configuring Presubmit Jobs'](#configuring-presubmit-jobs) below). +Configuration of Tide is located under the [config/prow/config.yaml](https://github.com/kubernetes/test-infra/blob/master/config/prow/config.yaml) file. All configuration for merge behavior and criteria belongs in the `tide` yaml struct, but it may be necessary to also configure presubmits for Tide to run against PRs (see ['Configuring Presubmit Jobs'](#configuring-presubmit-jobs) below). This document will describe the fields of the `tide` configuration and how to populate them, but you can also check out the [GoDocs](https://godoc.org/github.com/kubernetes/test-infra/prow/config#Tide) for the most up to date configuration specification. @@ -160,7 +160,7 @@ All PRs that conform to the criteria are processed and merged. The processing itself can include running jobs (e.g. tests) to verify the PRs are good to go. All commits in PRs from `github.com/kubeflow/community` repository are squashed before merging. -For a full list of properties of queries, please refer to [https://github.com/kubernetes/test-infra/blob/27c9a7f2784088c2db5ff133e8a7a1e2eab9ab3f/prow/config/prow-config-documented.yaml#:~:text=meet%20merge%20requirements.-,queries%3A,-%2D%20author%3A%20%27%20%27](https://github.com/kubernetes/test-infra/tree/master/prow/config/prow-config-documented.yaml). +For a full list of properties of queries, please refer to [`prow-config-documented.yaml`](https://github.com/kubernetes-sigs/prow/blob/db89760fea406dd2813e331c3d52b53b5bcbd140/pkg/config/prow-config-documented.yaml#L1236). ### Persistent Storage of Action History diff --git a/site/content/en/docs/components/cli-tools/phaino.md b/site/content/en/docs/components/deprecated/phaino.md similarity index 100% rename from site/content/en/docs/components/cli-tools/phaino.md rename to site/content/en/docs/components/deprecated/phaino.md diff --git a/site/content/en/docs/components/optional/branchprotector.md b/site/content/en/docs/components/optional/branchprotector.md index 28c025363d..137509882f 100644 --- a/site/content/en/docs/components/optional/branchprotector.md +++ b/site/content/en/docs/components/optional/branchprotector.md @@ -214,8 +214,8 @@ for more details. Branchprotector runs as a prow periodic job, for example [ci-test-infra-branchprotector](https://github.com/kubernetes/test-infra/blob/6155b657d8958e60e6767be6569863e4dd08c413/config/jobs/kubernetes/test-infra/test-infra-trusted.yaml#L662). -[`branch_protection.go`]: https://github.com/kubernetes/test-infra/tree/master/prow/config/branch_protection.go -[`config.yaml`]: https://github.com/kubernetes/test-infra/tree/master/config/prow/config.yaml +[`branch_protection.go`]: https://github.com/kubernetes-sigs/prow/blob/main/pkg/config/branch_protection.go +[`config.yaml`]: https://github.com/kubernetes/test-infra/blob/master/config/prow/config.yaml [github branch protection]: https://docs.github.com/en/repositories/configuring-branches-and-merges-in-your-repository/defining-the-mergeability-of-pull-requests/about-protected-branches [status contexts]: https://developer.github.com/v3/repos/statuses/#create-a-status [protection api]: https://developer.github.com/v3/repos/branches/#update-branch-protection diff --git a/site/content/en/docs/components/optional/exporter.md b/site/content/en/docs/components/optional/exporter.md index 1bbcc19979..aa9c1d93b4 100644 --- a/site/content/en/docs/components/optional/exporter.md +++ b/site/content/en/docs/components/optional/exporter.md @@ -21,7 +21,7 @@ in [kubernetes/kube-state-metrics](https://github.com/kubernetes/kube-state-metr A typical usage of `prow_job_labels` is to [join](https://github.com/kubernetes/kube-state-metrics/tree/master/docs#join-metrics) it with other metrics using a [Prometheus matching operator](https://prometheus.io/docs/prometheus/latest/querying/operators/#vector-matching). -Note that `job_name` is [`.spec.job`](https://github.com/kubernetes/test-infra/blob/98fac12af0e0b98970606dd7a5c48028a72e7f1d/prow/apis/prowjobs/v1/types.go#L117) +Note that `job_name` is [`.spec.job`](https://github.com/kubernetes-sigs/prow/blob/db89760fea406dd2813e331c3d52b53b5bcbd140/pkg/apis/prowjobs/v1/types.go#L158) instead of `.metadata.name` as taken in `kube_pod_labels`. The gauge value is always `1` because we have another metric [`prowjobs`](/docs/metrics/) for the number jobs by name. The metric here shows only the existence of such a job with the label set in the cluster. diff --git a/site/content/en/docs/components/optional/gangway.md b/site/content/en/docs/components/optional/gangway.md index d499267c5d..0a54bbecba 100644 --- a/site/content/en/docs/components/optional/gangway.md +++ b/site/content/en/docs/components/optional/gangway.md @@ -52,11 +52,11 @@ client][gangway-client-google]. See the [example][example]. -[example]:https://github.com/kubernetes/test-infra/blob/master/prow/examples/gangway/main.go -[gangway.proto]:https://github.com/kubernetes/test-infra/blob/master/prow/gangway/gangway.proto -[gangway.pb.go]:https://github.com/kubernetes/test-infra/blob/master/prow/gangway/gangway.pb.go -[gangway_grpc.pb.go]:https://github.com/kubernetes/test-infra/blob/master/prow/gangway/gangway_grpc.pb.go -[gangway.go]:https://github.com/kubernetes/test-infra/blob/master/prow/gangway/gangway.go -[design-doc]:https://docs.google.com/document/d/1v77jp1Nb5C2C2-PdV02SGViO9CyZ9SvNxCPOHyIUQeo/edit?usp=sharing -[integration-test-config]:https://github.com/kubernetes/test-infra/blob/f3e439df9f34818fd35a7cc8f2546070540429e4/prow/test/integration/config/prow/config.yaml#L71 -[gangway-client-google]:https://github.com/kubernetes/test-infra/blob/master/prow/gangway/client/google/google.go +[example]: https://github.com/kubernetes-sigs/prow/blob/main/pkg/examples/gangway/main.go +[gangway.proto]: https://github.com/kubernetes-sigs/prow/blob/main/pkg/gangway/gangway.proto +[gangway.pb.go]: https://github.com/kubernetes-sigs/prow/blob/main/pkg/gangway/gangway.pb.go +[gangway_grpc.pb.go]: https://github.com/kubernetes-sigs/prow/blob/main/pkg/gangway/gangway_grpc.pb.go +[gangway.go]: https://github.com/kubernetes-sigs/prow/blob/main/pkg/gangway/gangway.go +[design-doc]: https://docs.google.com/document/d/1v77jp1Nb5C2C2-PdV02SGViO9CyZ9SvNxCPOHyIUQeo/edit?usp=sharing +[integration-test-config]: https://github.com/kubernetes-sigs/prow/blob/db89760fea406dd2813e331c3d52b53b5bcbd140/test/integration/config/prow/config.yaml#L75 +[gangway-client-google]: https://github.com/kubernetes-sigs/prow/blob/main/pkg/gangway/client/google/google.go diff --git a/site/content/en/docs/components/optional/status-reconciler.md b/site/content/en/docs/components/optional/status-reconciler.md index 960b0ae9c6..dbc6af930f 100644 --- a/site/content/en/docs/components/optional/status-reconciler.md +++ b/site/content/en/docs/components/optional/status-reconciler.md @@ -22,5 +22,3 @@ This is useful when moving a repo from prow instance A to prow instance B, while prow instance A, the jobs are not expected to be blindly lablled succeed by prow instance A. Note that `status-reconciler` is edge driven (not level driven) so it can't be used retrospectively. -To update statuses that were stale before deploying `status-reconciler`, -you can use the [`migratestatus`](https://github.com/kubernetes/test-infra/tree/master/maintenance/migratestatus) tool. diff --git a/site/content/en/docs/components/optional/sub.md b/site/content/en/docs/components/optional/sub.md index d5f4200822..4487ac512f 100644 --- a/site/content/en/docs/components/optional/sub.md +++ b/site/content/en/docs/components/optional/sub.md @@ -192,7 +192,7 @@ Triggering presubmit job is similar to periodic jobs. Two things to change: This will start postsubmit job `my-postsubmit-job`, clones source code from `base_ref` at `base_sha`. -(There are more fields can be supplied, see [full documentation](https://github.com/kubernetes/test-infra/blob/18678b3b8f4bc7c51475f41964927ff7e635f3b9/prow/apis/prowjobs/v1/types.go#L883)) +(There are more fields can be supplied, see [full documentation](https://github.com/kubernetes-sigs/prow/blob/db89760fea406dd2813e331c3d52b53b5bcbd140/pkg/apis/prowjobs/v1/types.go#L1128)) #### Presubmit Prow Jobs @@ -228,7 +228,7 @@ This will start presubmit job `my-presubmit-job`, clones source code like pull r defined under `pulls`, which merges to `base_ref` at `base_sha`. (There are more fields that can be supplied, see [full -documentation](https://github.com/kubernetes/test-infra/blob/18678b3b8f4bc7c51475f41964927ff7e635f3b9/prow/apis/prowjobs/v1/types.go#L883). +documentation](https://github.com/kubernetes-sigs/prow/blob/db89760fea406dd2813e331c3d52b53b5bcbd140/pkg/apis/prowjobs/v1/types.go#L1128). For example, if you want the job to be reported on the PR, add `number` field right next to `sha`) diff --git a/site/content/en/docs/components/plugins/_index.md b/site/content/en/docs/components/plugins/_index.md index 1466ede790..695647b120 100644 --- a/site/content/en/docs/components/plugins/_index.md +++ b/site/content/en/docs/components/plugins/_index.md @@ -7,7 +7,7 @@ description: > Plugins are sub-components of [`hook`](/docs/components/core/hook/) that consume [GitHub webhooks](https://developer.github.com/webhooks/) related to their function and can be individually enabled per repo or org. -All plugin specific configuration is stored in [`plugins.yaml`](https://github.com/kubernetes/test-infra/tree/master/config/prow/plugins.yaml). +All plugin specific configuration is stored in [`plugins.yaml`](https://github.com/kubernetes/test-infra/blob/master/config/prow/plugins.yaml). The `Configuration` golang struct holds all the config fields organized into substructures by plugin. See its [GoDoc](https://godoc.org/sigs.k8s.io/prow/pkg/plugins#Configuration) for up-to-date descriptions of every config option. ## Help Information @@ -19,7 +19,7 @@ For an alternate view, please see to see all ## How to enable a plugin on a repo -Add an entry to [plugins.yaml](https://github.com/kubernetes/test-infra/tree/master/config/prow/plugins.yaml). If you misspell the name then a +Add an entry to [plugins.yaml](https://github.com/kubernetes/test-infra/blob/master/config/prow/plugins.yaml). If you misspell the name then a unit test will fail. If you have [updateconfig](/docs/components/plugins/updateconfig/) plugin deployed then the config will be automatically updated once the PR is merged, else you will need to run `make update-plugins`. This does not require @@ -27,7 +27,7 @@ redeploying the binaries, and will take effect within a minute. ## External Plugins -External plugins offer an alternative to compiling a plugin into the `hook` binary. Any web endpoint that can properly handle GitHub webhooks can be configured as an external plugin that `hook` will forward webhooks to. External plugin endpoints are specified per org or org/repo in [`plugins.yaml`](https://github.com/kubernetes/test-infra/tree/master/config/prow/plugins.yaml) under the `external_plugins` field. Specific event types may be optionally specified to filter which events are forwarded to the endpoint. +External plugins offer an alternative to compiling a plugin into the `hook` binary. Any web endpoint that can properly handle GitHub webhooks can be configured as an external plugin that `hook` will forward webhooks to. External plugin endpoints are specified per org or org/repo in [`plugins.yaml`](https://github.com/kubernetes/test-infra/blob/master/config/prow/plugins.yaml) under the `external_plugins` field. Specific event types may be optionally specified to filter which events are forwarded to the endpoint. External plugins are well suited for: - Slow operations that would impact the performance of other plugins if run as part of `hook`. @@ -35,7 +35,7 @@ External plugins are well suited for: - Isolating a more or less privileged plugin or a plugin that executes PR code. - Integrating existing GitHub services with Prow. -Examples of external plugins can be found in the [`prow/external-plugins`](https://github.com/kubernetes/test-infra/tree/master/prow/external-plugins) directory. The following is an example external plugin configuration that would live in [`plugins.yaml`](https://github.com/kubernetes/test-infra/tree/master/config/prow/plugins.yaml). +Examples of external plugins can be found in the [`prow/external-plugins`](https://github.com/kubernetes-sigs/prow/tree/main/cmd/external-plugins) directory. The following is an example external plugin configuration that would live in [`plugins.yaml`](https://github.com/kubernetes/test-infra/blob/master/config/prow/plugins.yaml). ```yaml external_plugins: diff --git a/site/content/en/docs/components/plugins/approve/approvers/_index.md b/site/content/en/docs/components/plugins/approve/approvers/_index.md index 5a23927a12..4c27eba68a 100644 --- a/site/content/en/docs/components/plugins/approve/approvers/_index.md +++ b/site/content/en/docs/components/plugins/approve/approvers/_index.md @@ -228,12 +228,12 @@ If an approval is cancelled, the bot will delete the status added to the PR and ### Code Implementation Links Blunderbuss: -[prow/plugins/blunderbuss/blunderbuss.go](https://git.sigs.k8s.io/prow/pkg/plugins/blunderbuss/blunderbuss.go) +[prow/plugins/blunderbuss/blunderbuss.go](https://github.com/kubernetes-sigs/prow/blob/main/pkg/plugins/blunderbuss/blunderbuss.go) LGTM: -[prow/plugins/lgtm/lgtm.go](https://git.sigs.k8s.io/prow/pkg/plugins/lgtm/lgtm.go) +[prow/plugins/lgtm/lgtm.go](https://github.com/kubernetes-sigs/prow/blob/main/pkg/plugins/lgtm/lgtm.go) Approve: -[prow/plugins/approve/approve.go](https://git.sigs.k8s.io/prow/pkg/plugins/approve/approve.go) +[prow/plugins/approve/approve.go](https://github.com/kubernetes-sigs/prow/blob/main/pkg/plugins/approve/approve.go) -[prow/plugins/approve/approvers/owners.go](https://git.sigs.k8s.io/prow/pkg/plugins/approve/approvers/owners.go) +[prow/plugins/approve/approvers/owners.go](https://github.com/kubernetes-sigs/prow/blob/main/pkg/plugins/approve/approvers/owners.go) diff --git a/site/content/en/docs/components/pod-utilities/_index.md b/site/content/en/docs/components/pod-utilities/_index.md index 87b932d84f..61edc1efce 100644 --- a/site/content/en/docs/components/pod-utilities/_index.md +++ b/site/content/en/docs/components/pod-utilities/_index.md @@ -29,7 +29,7 @@ Writing a ProwJob that uses the Pod Utilities is much easier than writing one that doesn't because the Pod Utilities will transparently handle many of the tasks the job would otherwise need to do in order to prepare its environment and output more than pass/fail. Historically, this was achieved by wrapping -every job with a [bootstrap.py](https://github.com/kubernetes/test-infra/tree/master/jenkins/bootstrap.py) script that handled cloning +every job with a [bootstrap.py](https://github.com/kubernetes/test-infra/blob/master/jenkins/bootstrap.py) script that handled cloning source code, preparing the test environment, and uploading job metadata, logs, and artifacts. This was cumbersome to configure and required every job to be wrapped with the script in the job image. The pod utilities achieve the same goals @@ -132,7 +132,7 @@ the `exta_refs` field. If the cloned path of this repo must be used as a default ### Migrating from bootstrap.py to Pod Utilities -Jobs using the deprecated [bootstrap.py](https://github.com/kubernetes/test-infra/tree/master/jenkins/bootstrap.py) should switch to the Pod Utilities at +Jobs using the deprecated [bootstrap.py](https://github.com/kubernetes/test-infra/blob/master/jenkins/bootstrap.py) should switch to the Pod Utilities at their earliest convenience. @dims has created a handy [migration guide](https://gist.github.com/dims/c1296f8ed42238baea0a5fcae45f4cf4). ## Automatic Censoring of Secret Data diff --git a/site/content/en/docs/config.md b/site/content/en/docs/config.md index 49b506e2ba..050033caf2 100644 --- a/site/content/en/docs/config.md +++ b/site/content/en/docs/config.md @@ -8,4 +8,4 @@ description: > 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. Configuration for plugins is handled and stored separately. See the [`plugins`](/docs/components/plugins/) package for details. -You can find a sample config with all possible options and a documentation of them [here.](https://github.com/kubernetes/test-infra/tree/master/prow/config/prow-config-documented.yaml) +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). diff --git a/site/content/en/docs/gerrit.md b/site/content/en/docs/gerrit.md index 54ddb971b7..65ffbd4c6c 100644 --- a/site/content/en/docs/gerrit.md +++ b/site/content/en/docs/gerrit.md @@ -9,14 +9,14 @@ description: > ## Related Deployments -- Prow-gerrit adapter ([doc](/docs/components/optional/gerrit/), [code](https://github.com/kubernetes/test-infra/tree/master/prow/cmd/gerrit)) -- Crier (the reporter) ([doc](/docs/components/core/crier/), [code](https://github.com/kubernetes/test-infra/tree/master/prow/cmd/crier)) +- Prow-gerrit adapter ([doc](/docs/components/optional/gerrit/), [code](https://github.com/kubernetes-sigs/prow/tree/main/cmd/gerrit)) +- Crier (the reporter) ([doc](/docs/components/core/crier/), [code](https://github.com/kubernetes-sigs/prow/tree/main/cmd/crier)) ## Related packages #### Client -We have a [gerrit-client package](https://github.com/kubernetes/test-infra/tree/master/prow/gerrit/client) that provides a thin wrapper around +We have a [gerrit-client package](https://github.com/kubernetes-sigs/prow/tree/main/pkg/gerrit/client) that provides a thin wrapper around [andygrunwald/go-gerrit](https://github.com/andygrunwald/go-gerrit), which is a go client library for accessing the [Gerrit Code Review REST API](https://gerrit-review.googlesource.com/Documentation/rest-api.html) @@ -52,7 +52,7 @@ presubmit and postsubmit jobs based on your prow config. #### Gerrit Labels -Prow adds the following [Labels](https://github.com/kubernetes/test-infra/tree/master/prow/gerrit/client/client.go) to Gerrit Presubmits that can be accessed in the container by leveraging the [Downward API](https://kubernetes.io/docs/tasks/inject-data-application/environment-variable-expose-pod-information/). +Prow adds the following [Labels](https://github.com/kubernetes-sigs/prow/blob/main/pkg/gerrit/client/client.go) to Gerrit Presubmits that can be accessed in the container by leveraging the [Downward API](https://kubernetes.io/docs/tasks/inject-data-application/environment-variable-expose-pod-information/). - "prow.k8s.io/gerrit-revision": SHA of current patchset from a gerrit change - "prow.k8s.io/gerrit-patchset": Numeric ID of the current patchset diff --git a/site/content/en/docs/getting-started-deploy.md b/site/content/en/docs/getting-started-deploy.md index 171cece2de..795ebc0c67 100644 --- a/site/content/en/docs/getting-started-deploy.md +++ b/site/content/en/docs/getting-started-deploy.md @@ -67,7 +67,7 @@ $ gcloud container --project "${PROJECT}" clusters create prow \ ### Create cluster role bindings -As of 1.8 Kubernetes uses [Role-Based Access Control (“RBAC”)](https://kubernetes.io/docs/admin/authorization/rbac/) to drive authorization decisions, allowing `cluster-admin` to dynamically configure policies. +As of 1.8 Kubernetes uses [Role-Based Access Control (“RBAC”)](https://kubernetes.io/docs/reference/access-authn-authz/rbac/) to drive authorization decisions, allowing `cluster-admin` to dynamically configure policies. To create cluster resources you need to grant a user `cluster-admin` role in all namespaces for the cluster. For Prow on GCP, you can use the following command. @@ -129,9 +129,9 @@ kubectl create secret -n prow generic github-token --from-file=cert=/path/to/git ### Update the sample manifest There are three sample manifests to get you started: -* [`starter-s3.yaml`](https://github.com/kubernetes/test-infra/tree/master/config/prow/cluster/starter/starter-s3.yaml) sets up a minio as blob storage for logs and is particularly well suited to quickly get something working. NOTE: this method requires 2 PVs of 100Gi each. -* [`starter-gcs.yaml`](https://github.com/kubernetes/test-infra/tree/master/config/prow/cluster/starter/starter-gcs.yaml) uses GCS as blob storage and requires additional configuration to set up the bucket and ServiceAccounts. See [this](#configure-a-gcs-bucket) for details. -* [`starter-azure.yaml`](https://github.com/kubernetes/test-infra/tree/master/config/prow/cluster/starter/starter-azure.yaml) uses Azure as blob storage and requires MinIO deployment. See [this](#configure-an-azure-blob-storage) for details. +* [`starter-s3.yaml`](https://github.com/kubernetes/test-infra/blob/master/config/prow/cluster/starter/starter-s3.yaml) sets up a minio as blob storage for logs and is particularly well suited to quickly get something working. NOTE: this method requires 2 PVs of 100Gi each. +* [`starter-gcs.yaml`](https://github.com/kubernetes/test-infra/blob/master/config/prow/cluster/starter/starter-gcs.yaml) uses GCS as blob storage and requires additional configuration to set up the bucket and ServiceAccounts. See [this](#configure-a-gcs-bucket) for details. +* [`starter-azure.yaml`](https://github.com/kubernetes/test-infra/blob/master/config/prow/cluster/starter/starter-azure.yaml) uses Azure as blob storage and requires MinIO deployment. See [this](#configure-an-azure-blob-storage) for details. **Note**: It will deploy prow in the `prow` namespace of the cluster. @@ -287,7 +287,7 @@ In order to configure the Azure storage, follow the following steps: - `prow-logs` - `status-reconciler` - `tide` -1. apply [starter-azure.yaml](https://github.com/kubernetes/test-infra/tree/master/config/prow/cluster/starter/starter-azure.yaml). +1. apply [starter-azure.yaml](https://github.com/kubernetes/test-infra/blob/master/config/prow/cluster/starter/starter-azure.yaml). ### Configure a GCS bucket @@ -319,7 +319,7 @@ In order to configure the bucket, follow the following steps: After [downloading](https://cloud.google.com/sdk/gcloud/) the `gcloud` tool and authenticating, the following collection of commands will execute the above steps for you: -> You will need to change the bucket name from `gs://your-bucket-name/` to a globally unique one and use that instead in [`starter-gcs.yaml`](https://github.com/kubernetes/test-infra/tree/master/config/prow/cluster/starter/starter-gcs.yaml) too. +> You will need to change the bucket name from `gs://your-bucket-name/` to a globally unique one and use that instead in [`starter-gcs.yaml`](https://github.com/kubernetes/test-infra/blob/master/config/prow/cluster/starter/starter-gcs.yaml) too. ```sh $ gcloud iam service-accounts create prow-gcs-publisher @@ -342,7 +342,7 @@ v20191108-08fbf64ac ``` Then, we can use that tag to retrieve the corresponding utility images in `default_decoration_config_entries[]` in `config.yaml`: -For more information on how the pod utility images for prow are versioned see [generic-autobumper](/docs/components/cli-tools/generic-autobumper/) and the [autobump config used for prow.k8s.io](https://github.com/kubernetes/test-infra/tree/master/config/prow/autobump-config/prow-component-autobump-config.yaml) +For more information on how the pod utility images for prow are versioned see [generic-autobumper](/docs/components/cli-tools/generic-autobumper/) and the [autobump config used for prow.k8s.io](https://github.com/kubernetes/test-infra/blob/master/config/prow/autobump-config/prow-component-autobump-config.yaml) ```yaml plank: @@ -436,7 +436,7 @@ You may choose to run test pods in a separate cluster entirely. This is a good p One can use a Kubernetes [`kubeconfig`](https://kubernetes.io/docs/concepts/configuration/organize-cluster-access-kubeconfig/) file (i.e. `Config` object) to instruct Prow components to use the *build* cluster(s). All contexts in `kubeconfig` are used as *build* clusters and the [`InClusterConfig`](https://kubernetes.io/docs/tasks/access-application-cluster/access-cluster/#accessing-the-api-from-a-pod) (or `current-context`) is the *default*. -NOTE: See the [`create-build-cluster.sh` script](https://github.com/kubernetes/test-infra/tree/master/prow/create-build-cluster.sh) to help you quickly create and register a GKE cluster as a build cluster for a Prow instance. Continue reading for information about registering a build cluster by hand. +NOTE: See the [`create-build-cluster.sh` script](https://github.com/kubernetes-sigs/prow/blob/main/pkg/create-build-cluster.sh) to help you quickly create and register a GKE cluster as a build cluster for a Prow instance. Continue reading for information about registering a build cluster by hand. Create a secret containing a `kubeconfig` like this: @@ -577,7 +577,7 @@ See [how to configure tide][7] for more details. GitHub Oauth is required for [PR Status](https://prow.k8s.io/pr) and for the rerun button on [Prow Status](https://prow.k8s.io). To enable these features, follow the -instructions in [`github_oauth_setup.md`](https://github.com/kubernetes/test-infra/blob/master/prow/cmd/deck/github_oauth_setup.md). +instructions in [How to setup GitHub Oauth](/docs/components/core/deck/github-oauth-setup/). ### Configure SSL diff --git a/site/content/en/docs/getting-started-develop.md b/site/content/en/docs/getting-started-develop.md index 1d51f8db5d..1aa8d9b7c1 100644 --- a/site/content/en/docs/getting-started-develop.md +++ b/site/content/en/docs/getting-started-develop.md @@ -10,7 +10,7 @@ description: > Please consider upstreaming any changes or additions you make! Contributions in any form (issues, pull requests, even constructive comments in discussions) are more than welcome! You can develop in-tree for more help and review, or out-of-tree if you need to for whatever reason. If you upstream a new feature or a change that impacts the default behavior of Prow, consider adding an [announcement](/docs/announcements/) about it and dropping an email at the [sig-testing](https://groups.google.com/forum/#!forum/kubernetes-sig-testing) mailing list. -**New Contributors** should search for issues in kubernetes/test-infra with the `help-wanted` and/or `good first issue` labels. [(Query link)](https://github.com/kubernetes/test-infra/issues?utf8=%E2%9C%93&q=is%3Aopen+is%3Aissue+label%3A%22help+wanted%22). Before starting work please ensure that the issue is still active and then provide a short design overview of your planned solution. +**New Contributors** should search for issues in kubernetes-sigs/prow with the `help-wanted` and/or `good first issue` labels. [(Query link)](https://github.com/kubernetes-sigs/prow/issues?utf8=%E2%9C%93&q=is%3Aopen+is%3Aissue+label%3A%22help+wanted%22). Before starting work please ensure that the issue is still active and then provide a short design overview of your planned solution. Also reach out on the Kubernetes slack in the `sig-testing` channel. ## Prow Integration Points diff --git a/site/content/en/docs/github.md b/site/content/en/docs/github.md index fa140a670d..c21084606c 100644 --- a/site/content/en/docs/github.md +++ b/site/content/en/docs/github.md @@ -10,19 +10,19 @@ It uses both [v3](https://developer.github.com/v3/) and [v4](https://developer.g of GitHub's API. It is subject to change as needed without notice, but you can reuse and extend it within this repository. -Its primary component is [client.go](https://github.com/kubernetes/test-infra/tree/master/prow/github/client.go), a GitHub client that sends and receives API calls. +Its primary component is [client.go](https://github.com/kubernetes-sigs/prow/blob/main/pkg/github/client.go), a GitHub client that sends and receives API calls. ## Recommended Usage ### Instantiation An application that takes flags may want to set GitHub flags, such as a proxy endpoint. To do that, -[GitHubOptions](https://github.com/kubernetes/test-infra/tree/master/prow/flagutil/github.go) has a method that returns a GitHub client. +[GitHubOptions](https://github.com/kubernetes-sigs/prow/blob/main/pkg/flagutil/github.go) has a method that returns a GitHub client. If you're not using flags, you can instantiate a client with the `NewClient` and `NewClientWithFields` methods ### Interfacing a Subset of Client -This client has a lot of functions listed in the interfaces of [client.go](https://github.com/kubernetes/test-infra/tree/master/prow/github/client.go). Further, +This client has a lot of functions listed in the interfaces of [client.go](https://github.com/kubernetes-sigs/prow/blob/main/pkg/github/client.go). Further, these interfaces may change at any time. To avoid having to extend the entire interface, we recommend writing a local interface that uses the functionality you need. @@ -36,5 +36,5 @@ type githubClient interface { } ``` -The provided fake works like this; [FakeClient](https://github.com/kubernetes/test-infra/tree/master/prow/github/fakegithub/fakegithub.go) doesn't completely +The provided fake works like this; [FakeClient](https://github.com/kubernetes-sigs/prow/blob/main/pkg/github/fakegithub/fakegithub.go) doesn't completely implement Client, but gives many common functions used in testing. diff --git a/site/content/en/docs/jobs.md b/site/content/en/docs/jobs.md index 32af9541f4..88e13f0040 100644 --- a/site/content/en/docs/jobs.md +++ b/site/content/en/docs/jobs.md @@ -8,7 +8,7 @@ description: > For a brief overview of how Prow runs jobs take a look at ["Life of a Prow Job"](/docs/life-of-a-prow-job/). For a brief cookbook for jobs intended for [prow.k8s.io](https://prow.k8s.io/), please refer to -[`config/jobs/README.md`](https://github.com/kubernetes/test-infra/tree/master/config/jobs/README.md) +[`config/jobs/README.md`](https://github.com/kubernetes/test-infra/blob/master/config/jobs/README.md) Make sure Prow has been [deployed] correctly: @@ -21,7 +21,7 @@ Make sure Prow has been [deployed] correctly: ## How to configure new jobs -To configure a new job you'll need to add an entry into [config.yaml](https://github.com/kubernetes/test-infra/tree/master/config/prow/config.yaml). +To configure a new job you'll need to add an entry into [config.yaml](https://github.com/kubernetes/test-infra/blob/master/config/prow/config.yaml). If you have [update-config](/docs/components/plugins/updateconfig/) plugin deployed then the config will be automatically updated once the PR is merged, else you will need to run `make update-config`. This does not require redeploying any binaries, @@ -384,7 +384,7 @@ The format to send your `deck` URL is `/badge.svg?jobs=single-job-name` or `/bad [Pod overview]: https://kubernetes.io/docs/concepts/workloads/pods/pod-overview/#pod-templates [PodSpec api reference]: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.25/#podspec-v1-core -[`Presets`]: https://github.com/kubernetes/test-infra/blob/3afb608d28630b99e49e09dd101a96c201268739/prow/config/jobs.go#L33-L40 -[`plugins.yaml`]: https://github.com/kubernetes/test-infra/tree/master/config/prow/plugins.yaml +[`Presets`]: https://github.com/kubernetes-sigs/prow/blob/db89760fea406dd2813e331c3d52b53b5bcbd140/pkg/config/jobs.go#L42-L48 +[`plugins.yaml`]: https://github.com/kubernetes/test-infra/blob/master/config/prow/plugins.yaml [deployed]: /docs/getting-started-deploy/ [regular expression]: https://golang.org/pkg/regexp/syntax/ diff --git a/site/content/en/docs/life-of-a-prow-job.md b/site/content/en/docs/life-of-a-prow-job.md index 322fb70f6e..7ba2582ad1 100644 --- a/site/content/en/docs/life-of-a-prow-job.md +++ b/site/content/en/docs/life-of-a-prow-job.md @@ -121,25 +121,25 @@ Here is a summary of the above: [hook-service-yaml]: https://github.com/kubernetes/test-infra/blob/5df7636b83cab54e248e550a31dbf1e4731197a6/config/prow/cluster/hook_service.yaml [ingress-yaml]: https://github.com/kubernetes/test-infra/blob/5df7636b83cab54e248e550a31dbf1e4731197a6/config/prow/cluster/tls-ing_ingress.yaml [plugins-yaml]: https://github.com/kubernetes/test-infra/blob/5df7636b83cab54e248e550a31dbf1e4731197a6/config/prow/plugins.yaml -[api-ProwJob]: https://github.com/kubernetes/test-infra/blob/5df7636b83cab54e248e550a31dbf1e4731197a6/prow/apis/prowjobs/v1/types.go#L103 -[api-ProwJobSpec]: https://github.com/kubernetes/test-infra/blob/5df7636b83cab54e248e550a31dbf1e4731197a6/prow/apis/prowjobs/v1/types.go#L115 -[api-ProwJobStatus]: https://github.com/kubernetes/test-infra/blob/5df7636b83cab54e248e550a31dbf1e4731197a6/prow/apis/prowjobs/v1/types.go#L805 -[hook-initialize-configAgent]: https://github.com/kubernetes/test-infra/blob/5df7636b83cab54e248e550a31dbf1e4731197a6/prow/cmd/hook/main.go#L107 -[hook-main]: https://github.com/kubernetes/test-infra/blob/5df7636b83cab54e248e550a31dbf1e4731197a6/prow/cmd/hook/main.go#L99 -[sinker-clean]: https://github.com/kubernetes/test-infra/blob/5df7636b83cab54e248e550a31dbf1e4731197a6/prow/cmd/sinker/main.go#L289 -[sinker]: https://github.com/kubernetes/test-infra/blob/5df7636b83cab54e248e550a31dbf1e4731197a6/prow/cmd/sinker/main.go#L94 -[github-GenericCommentEvent]: https://github.com/kubernetes/test-infra/blob/5df7636b83cab54e248e550a31dbf1e4731197a6/prow/github/types.go#L1170 -[github-ValidateWebhook]: https://github.com/kubernetes/test-infra/blob/5df7636b83cab54e248e550a31dbf1e4731197a6/prow/github/webhooks.go#L31 -[githubeventserver-handleEvent]: https://github.com/kubernetes/test-infra/blob/5df7636b83cab54e248e550a31dbf1e4731197a6/prow/githubeventserver/githubeventserver.go#L202 -[hook-handleGenericComment]: https://github.com/kubernetes/test-infra/blob/5df7636b83cab54e248e550a31dbf1e4731197a6/prow/hook/events.go#L424 -[hook-ServeHTTP]: https://github.com/kubernetes/test-infra/blob/5df7636b83cab54e248e550a31dbf1e4731197a6/prow/hook/server.go#L57 -[hook-ServeHTTP-ValidateWebhook]: https://github.com/kubernetes/test-infra/blob/5df7636b83cab54e248e550a31dbf1e4731197a6/prow/hook/server.go#L58 -[hook-ServeHTTP-demuxEvent]: https://github.com/kubernetes/test-infra/blob/5df7636b83cab54e248e550a31dbf1e4731197a6/prow/hook/server.go#L72 -[plugins-ClientAgent]: https://github.com/kubernetes/test-infra/blob/5df7636b83cab54e248e550a31dbf1e4731197a6/prow/plugins/plugins.go#L233 -[plugins-ConfigAgent]: https://github.com/kubernetes/test-infra/blob/5df7636b83cab54e248e550a31dbf1e4731197a6/prow/plugins/plugins.go#L246 -[trigger-FilterPresubmits]: https://github.com/kubernetes/test-infra/blob/5df7636b83cab54e248e550a31dbf1e4731197a6/prow/plugins/trigger/generic-comment.go#L147-L162 -[trigger-handleGenericComment]: https://github.com/kubernetes/test-infra/blob/5df7636b83cab54e248e550a31dbf1e4731197a6/prow/plugins/trigger/generic-comment.go#L32 -[trigger-handleGenericComment-getPresubmits]: https://github.com/kubernetes/test-infra/blob/5df7636b83cab54e248e550a31dbf1e4731197a6/prow/plugins/trigger/generic-comment.go#L56 +[api-ProwJob]: https://github.com/kubernetes-sigs/prow/blob/db89760fea406dd2813e331c3d52b53b5bcbd140/pkg/apis/prowjobs/v1/types.go#L129 +[api-ProwJobSpec]: https://github.com/kubernetes-sigs/prow/blob/db89760fea406dd2813e331c3d52b53b5bcbd140/pkg/apis/prowjobs/v1/types.go#L141 +[api-ProwJobStatus]: https://github.com/kubernetes-sigs/prow/blob/db89760fea406dd2813e331c3d52b53b5bcbd140/pkg/apis/prowjobs/v1/types.go#L1044 +[hook-initialize-configAgent]: https://github.com/kubernetes-sigs/prow/blob/db89760fea406dd2813e331c3d52b53b5bcbd140/cmd/hook/main.go#L115 +[hook-main]: https://github.com/kubernetes-sigs/prow/blob/db89760fea406dd2813e331c3d52b53b5bcbd140/cmd/hook/main.go#L107 +[sinker-clean]: https://github.com/kubernetes-sigs/prow/blob/db89760fea406dd2813e331c3d52b53b5bcbd140/cmd/sinker/main.go#L327 +[sinker]: https://github.com/kubernetes-sigs/prow/blob/db89760fea406dd2813e331c3d52b53b5bcbd140/cmd/sinker/main.go#L98 +[github-GenericCommentEvent]: https://github.com/kubernetes-sigs/prow/blob/db89760fea406dd2813e331c3d52b53b5bcbd140/pkg/github/types.go#L1291 +[github-ValidateWebhook]: https://github.com/kubernetes-sigs/prow/blob/db89760fea406dd2813e331c3d52b53b5bcbd140/pkg/github/webhooks.go#L31 +[githubeventserver-handleEvent]: https://github.com/kubernetes-sigs/prow/blob/db89760fea406dd2813e331c3d52b53b5bcbd140/pkg/githubeventserver/githubeventserver.go#L222 +[hook-handleGenericComment]: https://github.com/kubernetes-sigs/prow/blob/db89760fea406dd2813e331c3d52b53b5bcbd140/pkg/hook/events.go#L357 +[hook-ServeHTTP]: https://github.com/kubernetes-sigs/prow/blob/db89760fea406dd2813e331c3d52b53b5bcbd140/pkg/hook/server.go#L57 +[hook-ServeHTTP-ValidateWebhook]: https://github.com/kubernetes-sigs/prow/blob/db89760fea406dd2813e331c3d52b53b5bcbd140/pkg/hook/server.go#L58 +[hook-ServeHTTP-demuxEvent]: https://github.com/kubernetes-sigs/prow/blob/db89760fea406dd2813e331c3d52b53b5bcbd140/pkg/hook/server.go#L72 +[plugins-ClientAgent]: https://github.com/kubernetes-sigs/prow/blob/db89760fea406dd2813e331c3d52b53b5bcbd140/pkg/plugins/plugins.go#L258 +[plugins-ConfigAgent]: https://github.com/kubernetes-sigs/prow/blob/db89760fea406dd2813e331c3d52b53b5bcbd140/pkg/plugins/plugins.go#L271 +[trigger-FilterPresubmits]: https://github.com/kubernetes-sigs/prow/blob/db89760fea406dd2813e331c3d52b53b5bcbd140/pkg/plugins/trigger/generic-comment.go#L182-L198 +[trigger-handleGenericComment]: https://github.com/kubernetes-sigs/prow/blob/db89760fea406dd2813e331c3d52b53b5bcbd140/pkg/plugins/trigger/generic-comment.go#L33 +[trigger-handleGenericComment-getPresubmits]: https://github.com/kubernetes-sigs/prow/blob/db89760fea406dd2813e331c3d52b53b5bcbd140/pkg/plugins/trigger/generic-comment.go#L57 [prow-repo-sync-point]: https://github.com/kubernetes/test-infra/tree/5df7636b83cab54e248e550a31dbf1e4731197a6 [sample-github-webhook-payloads]: https://github.com/kubernetes/test-infra/tree/5df7636b83cab54e248e550a31dbf1e4731197a6/prow/cmd/phony/examples diff --git a/site/content/en/docs/metadata-artifacts.md b/site/content/en/docs/metadata-artifacts.md index 398e6809e7..9827f4a0c8 100644 --- a/site/content/en/docs/metadata-artifacts.md +++ b/site/content/en/docs/metadata-artifacts.md @@ -88,7 +88,7 @@ Decorated PR (finished): "revision":"5dd9241d43f256984358354d1fec468f274f9ac4" } ``` -[`Started.json` PodUtil](https://github.com/kubernetes/test-infra/blob/016edc15b8271c7528993cea0615cb11ecff201c/prow/initupload/run.go#L37) +[`Started.json` PodUtil](https://github.com/kubernetes-sigs/prow/blob/db89760fea406dd2813e331c3d52b53b5bcbd140/pkg/pod-utils/downwardapi/jobspec.go#L213) |Fields|Content| |---|---| |timestamp|epoch| @@ -96,7 +96,7 @@ Decorated PR (finished): "revision":"5dd9241d43f256984358354d1fec468f274f9ac4" |job-version (dep)|Never set| |pull|Pr number primary is testing, first pull in Spec Pull list| |repo-commit|*unset* (but shouldn't be)| -|repos|For Ref, ExtraRef add Org/Repo: [Ref](https://github.com/kubernetes/test-infra/blob/4b5c7c99a851eb427f5c77bd0c8d11526f7b63c4/prow/apis/prowjobs/v1/types.go#L789) | +|repos|For Ref, ExtraRef add Org/Repo: [Ref](https://github.com/kubernetes-sigs/prow/blob/db89760fea406dd2813e331c3d52b53b5bcbd140/pkg/apis/prowjobs/v1/types.go#L1174) | |node| *unset*| |metadata| *misc*| *Ex* @@ -120,7 +120,7 @@ Decorated PR (finished): "revision":"5dd9241d43f256984358354d1fec468f274f9ac4" } ``` -[`Finished.json` *PodUtils*](https://github.com/kubernetes/test-infra/blob/016edc15b8271c7528993cea0615cb11ecff201c/prow/sidecar/run.go#L209) +[`Finished.json` *PodUtils*](https://github.com/kubernetes-sigs/prow/blob/db89760fea406dd2813e331c3d52b53b5bcbd140/pkg/sidecar/run.go#L297) |Fields|Content| |---|---| |timestamp|epoch| @@ -128,7 +128,7 @@ Decorated PR (finished): "revision":"5dd9241d43f256984358354d1fec468f274f9ac4" |result|SUCCESS, ABORTED, FAILURE| |repo-version (dep)|*unset*| |job-version (dep)|*unset*| -|revision (dep)|[SHA from Refs](https://github.com/kubernetes/test-infra/blob/4b5c7c99a851eb427f5c77bd0c8d11526f7b63c4/prow/pod-utils/downwardapi/jobspec.go#L163)| +|revision (dep)|[SHA from Refs](https://github.com/kubernetes-sigs/prow/blob/db89760fea406dd2813e331c3d52b53b5bcbd140/pkg/pod-utils/downwardapi/jobspec.go#L175)| |metadata| *unset*| *Ex* ``` diff --git a/site/content/en/docs/metrics/_index.md b/site/content/en/docs/metrics/_index.md index 839e06f2bd..6d5e835225 100644 --- a/site/content/en/docs/metrics/_index.md +++ b/site/content/en/docs/metrics/_index.md @@ -69,7 +69,7 @@ provide a single scrape endpoint, Prow's prometheus metrics are pushed to a Prometheus pushgateway that is scraped instead of the metric source. A proxy is used to limit cluster external requests to GET requests since Prometheus doesn't provide any form of authentication. The pushgateway and proxy deployment are -defined in [`pushgateway_deployment.yaml`](https://github.com/kubernetes/test-infra/tree/master/config/prow/cluster/pushgateway_deployment.yaml). +defined in [`pushgateway_deployment.yaml`](https://github.com/kubernetes/test-infra/blob/master/config/prow/cluster/pushgateway_deployment.yaml). ## Kubernetes Prow Metrics diff --git a/site/content/en/docs/more-prow.md b/site/content/en/docs/more-prow.md index 75798aba94..5a4984e7ed 100644 --- a/site/content/en/docs/more-prow.md +++ b/site/content/en/docs/more-prow.md @@ -23,7 +23,7 @@ postsubmit job that `kubectl apply`s the resource files whenever they are changed (based on a `run_if_changed` or `skip_if_only_changed` regexp). In order to `kubectl apply` to the cluster, the job will need to supply credentials (e.g. a kubeconfig file or -[GCP service account key-file](https://github.com/kubernetes/test-infra/tree/master/prow/gcloud-deployer-service-account.sh)). Since +[GCP service account key-file](https://github.com/kubernetes-sigs/prow/blob/main/pkg/gcloud-deployer-service-account.sh)). Since this job requires priviledged credentials to deploy to the cluster, it is important that it is run in a separate build cluster that is isolated from all presubmit jobs. See the @@ -35,17 +35,17 @@ automatically applied to the cluster when the changes merge. In order to ensure that all changes to production are properly approved, you can use OWNERS files with the [`approve` plugin](/docs/components/plugins/approve/) and [`Tide`](/docs/components/core/tide/). -With the help of the [Prow Autobump utility](/docs/components/cli-tools/generic-autobumper/) you can easily create commits that update all references to Prow images to the latest image version that has been vetted by the instance. If your Prow component resource files live in GitHub, this utility can even automatically create/update a Pull Request that includes these changes. This works great when run as a periodic job since it will maintain a single open PR that is periodically updated to reference the most recent upstream version. See the [config used to bump prow.k8s.io](https://github.com/kubernetes/test-infra/tree/master/config/prow/autobump-config/prow-component-autobump-config.yaml) for an example +With the help of the [Prow Autobump utility](/docs/components/cli-tools/generic-autobumper/) you can easily create commits that update all references to Prow images to the latest image version that has been vetted by the instance. If your Prow component resource files live in GitHub, this utility can even automatically create/update a Pull Request that includes these changes. This works great when run as a periodic job since it will maintain a single open PR that is periodically updated to reference the most recent upstream version. See the [config used to bump prow.k8s.io](https://github.com/kubernetes/test-infra/blob/master/config/prow/autobump-config/prow-component-autobump-config.yaml) for an example Combining a postsubmit deploy job with a periodic job that runs the Prow Autobump utility allows Prow to be updated to the latest version by simply merging the automatically created Pull Request (or letting Tide merge it after it has been approved). ### Deploy config changes automatically -Prow can also automatically upload changes to files that correspond to Kubernetes ConfigMaps. This includes its own `config`, `plugins` and `job-config` config maps. Take a look at the [`updateconfig` plugin](/docs/components/plugins/updateconfig/) and [`config-bootstrapper`](/docs/components/cli-tools/config-bootstrapper/) for more details. Both of these tools share the [`updateconfig` plugin's plugin configuration](https://github.com/kubernetes/test-infra/blob/531f2a5e6b6fb60e3262340a86992029aa59808f/prow/plugins/config.go#L69). The plugin provides slightly better GitHub integration and is simpler to enable, but the config-bootstrapper is more flexible. It can be run in a postsubmit job to provide config upload on non-GitHub Prow instances or run after custom config generation is executed. +Prow can also automatically upload changes to files that correspond to Kubernetes ConfigMaps. This includes its own `config`, `plugins` and `job-config` config maps. Take a look at the [`updateconfig` plugin](/docs/components/plugins/updateconfig/) and [`config-bootstrapper`](/docs/components/cli-tools/config-bootstrapper/) for more details. Both of these tools share the [`updateconfig` plugin's plugin configuration](https://github.com/kubernetes-sigs/prow/blob/db89760fea406dd2813e331c3d52b53b5bcbd140/pkg/plugins/config.go#L77). The plugin provides slightly better GitHub integration and is simpler to enable, but the config-bootstrapper is more flexible. It can be run in a postsubmit job to provide config upload on non-GitHub Prow instances or run after custom config generation is executed. ## Use other tools with Prow -* If you find that your GitHub bot is running low on API tokens consider using [`ghproxy`](https://github.com/kubernetes/test-infra/tree/master/ghproxy) to cache requests to GitHub and take advantage of the strange re-validation rules that allow for additional API token savings. +* If you find that your GitHub bot is running low on API tokens consider using [`ghproxy`](/docs/ghproxy/) to cache requests to GitHub and take advantage of the strange re-validation rules that allow for additional API token savings. * [Testgrid](https://github.com/kubernetes/test-infra/tree/master/testgrid) provides a highly configurable visual overview of test results and can be configured to send alerts for failing or stale results. Testgrid is in the process of being open sourced, but until it has completely made the switch OSS users will need to use the instance that is managed by the GKE-Engprod team. * [Kind](https://github.com/kubernetes-sigs/kind) lets you run an entire Kubernetes cluster in a container. This makes it fast and easy for ProwJobs to test anything that runs on Kubernetes (or Kubernetes itself). * [label_sync](https://github.com/kubernetes/test-infra/tree/master/label_sync) maintains GitHub labels across orgs and repos based on yaml configuration. diff --git a/site/content/en/docs/overview/_index.md b/site/content/en/docs/overview/_index.md index 428bc5962c..6db49ca033 100644 --- a/site/content/en/docs/overview/_index.md +++ b/site/content/en/docs/overview/_index.md @@ -127,9 +127,9 @@ Prow is used by the following organizations and projects: If you need to contact the maintainers of Prow you have a few options: -1. Open an issue in the [kubernetes/test-infra](https://github.com/kubernetes/test-infra) repo. +1. Open an issue in the [kubernetes-sigs/prow](https://github.com/kubernetes-sigs/prow) repo. 1. Reach out to the `#prow` channel of the [Kubernetes Slack](https://github.com/kubernetes/community/tree/master/communication#social-media). -1. Contact one of the code owners in [prow/OWNERS](https://github.com/kubernetes/test-infra/tree/master/prow/OWNERS) or in a more specifically scoped OWNERS file. +1. Contact one of the code owners in [OWNERS](https://github.com/kubernetes-sigs/prow/blob/main/OWNERS) or in a more specifically scoped OWNERS file. ### Bots home diff --git a/site/content/en/docs/prow-secrets.md b/site/content/en/docs/prow-secrets.md index 01e7620764..17feaa6cb1 100644 --- a/site/content/en/docs/prow-secrets.md +++ b/site/content/en/docs/prow-secrets.md @@ -20,7 +20,7 @@ https://github.com/external-secrets/kubernetes-external-secrets#backends_ This is performed by prow service/build clusters maintainer. 1. In the cluster that the secrets are synced to, enable workload identity by - following [`workload-identity`](https://github.com/kubernetes/test-infra/tree/master/workload-identity/README.md). + following [`workload-identity`](https://github.com/kubernetes/test-infra/blob/master/workload-identity/README.md). 1. Deploy `kubernetes-external-secrets_crd.yaml`, `kubernetes-external-secrets_deployment.yaml`, `kubernetes-external-secrets_rbac.yaml`, diff --git a/site/content/en/docs/scaling.md b/site/content/en/docs/scaling.md index 4ff68b3055..6683a1eda4 100644 --- a/site/content/en/docs/scaling.md +++ b/site/content/en/docs/scaling.md @@ -70,7 +70,7 @@ keys (different files once mounted to a container). ### GitHub API Cache -[`ghproxy`](https://github.com/kubernetes/test-infra/tree/master/ghproxy/) is a reverse proxy HTTP cache optimized for the GitHub API. +[`ghproxy`](/docs/ghproxy/) is a reverse proxy HTTP cache optimized for the GitHub API. It takes advantage of how GitHub responds to E-tags in order to fulfill repeated requests without spending additional API tokens. Check out this tool if you find that your GitHub bot is consuming or approaching its token limit. Similarly, @@ -126,7 +126,7 @@ if users have the appropriate permissions before taking action on their behalf. The following is an overview of some of the automation Prow implements to work around GitHub's limited permission system: - Permission to trigger presubmit tests is determined based on org membership - as configured in the [`triggers`](https://github.com/kubernetes/test-infra/blob/526195d3e22cb90d784c1e4db1c43041a006c848/prow/plugins/plugins.go#L180) plugin config section. + as configured in the [`triggers`](https://github.com/kubernetes-sigs/prow/blob/db89760fea406dd2813e331c3d52b53b5bcbd140/pkg/plugins/config.go#L94) plugin config section. - File ownership is described with OWNERS files and change approval is enforced with the [`approve` plugin](/docs/components/plugins/approve/). See the [docs](/docs/components/plugins/approve/approvers/) for details. - Org member review of the most recent version of the PR is enforced with the diff --git a/site/content/en/docs/spyglass/_index.md b/site/content/en/docs/spyglass/_index.md index d498fc16ba..cdc13dd7ab 100644 --- a/site/content/en/docs/spyglass/_index.md +++ b/site/content/en/docs/spyglass/_index.md @@ -65,13 +65,13 @@ properties: The following lenses are available: -- `metadata`: parses the metadata files generated by [podutils](https://github.com/kubernetes/test-infra/blob/master/prow/pod-utilities.md) +- `metadata`: parses the metadata files generated by [podutils](/docs/components/pod-utilities/) and displays their content. It has no configuration. - `junit`: parses junit files and displays their content. It has no configuration - `buildlog`: displays the build log (or any other log file), highlighting interesting parts and hiding the rest behind expandable folders. You can configure what it considers "interesting" by providing `highlight_regexes`, a list of regexes to highlight. If not specified, it uses [defaults - optimised for highlighting Kubernetes test results](https://github.com/kubernetes/test-infra/blob/370da51e0f051504be2e97305e8536ab06b3f0df/prow/spyglass/lenses/buildlog/lens.go#L76). The optional `hide_raw_log` boolean field can be used to omit the link to the raw `build-log.txt` source. + optimised for highlighting Kubernetes test results](https://github.com/kubernetes-sigs/prow/blob/db89760fea406dd2813e331c3d52b53b5bcbd140/pkg/spyglass/lenses/buildlog/lens.go#L98). The optional `hide_raw_log` boolean field can be used to omit the link to the raw `build-log.txt` source. - `podinfo`: displays info about ProwJob pods including the events and details about containers and volumes. The [`gcsk8sreporter` Crier reporter](https://github.com/kubernetes/test-infra/tree/b6180c95b3383919711cfc97436a2d082281d284/prow/crier/reporters/gcs/kubernetes) must be enabled to upload the required `podinfo.json` file. - `coverage`: displays go coverage content - `restcoverage`: displays REST API statistics diff --git a/site/content/en/docs/spyglass/architecture.md b/site/content/en/docs/spyglass/architecture.md index 712d3d8bc9..06e2bde433 100644 --- a/site/content/en/docs/spyglass/architecture.md +++ b/site/content/en/docs/spyglass/architecture.md @@ -12,7 +12,7 @@ with artifacts. ## Spyglass Core -The Spyglass Core is split across [`prow/spyglass`](https://github.com/kubernetes/test-infra/tree/master/prow/spyglass) and [`prow/cmd/deck`](https://github.com/kubernetes/test-infra/tree/master/prow/cmd/deck). It has +The Spyglass Core is split across [`pkg/spyglass`](https://github.com/kubernetes-sigs/prow/tree/main/pkg/spyglass) and [`cmd/deck`](https://github.com/kubernetes-sigs/prow/tree/main/cmd/deck). It has the following responsibilities: - Looking up artifacts for a given job and mapping those to lenses @@ -22,7 +22,7 @@ the following responsibilities: ## Spyglass Lenses -Spyglass Lenses currently all live in [`prow/spyglass/lenses`](https://github.com/kubernetes/test-infra/tree/master/prow/spyglass/lenses), though hopefully in the +Spyglass Lenses currently all live in [`pkg/spyglass/lenses`](https://github.com/kubernetes-sigs/prow/tree/main/pkg/spyglass/lenses), though hopefully in the future they can live elsewhere. Spyglass lenses have the following responsibilities: - Fetching artifacts @@ -34,17 +34,17 @@ intended API. In particular, this prevents lenses from interacting with other De the core spyglass page. In order to provide this API to lenses, a library -([`prow/cmd/deck/static/spyglass/lens.ts`](https://github.com/kubernetes/test-infra/tree/master/prow/cmd/deck/static/spyglass/lens.ts)) is injected into +([`cmd/deck/static/spyglass/lens.ts`](https://github.com/kubernetes-sigs/prow/blob/main/cmd/deck/static/spyglass/lens.ts)) is injected into the lenses under the `spyglass` namespace. This library communicates with the spyglass core via [`window.postMessage`](https://developer.mozilla.org/en-US/docs/Web/API/Window/postMessage). The spyglass core then takes the requested action on the lens's behalf, which includes facilitating communication between the lens frontend and backend. The messages exchanged between the core and the -lens are described in [`prow/cmd/deck/static/spyglass/common.ts`](https://github.com/kubernetes/test-infra/tree/master/prow/cmd/deck/static/spyglass/common.ts). +lens are described in [`cmd/deck/static/spyglass/common.ts`](https://github.com/kubernetes-sigs/prow/blob/main/cmd/deck/static/spyglass/common.ts). The messages are exchanged over a simple JSON-encoded protocol where each message sent from the lens has an ID number attached, and a response with the same ID number is expected to be received. For the purposes of static typing, the lens library is ambiently declared in -[`spyglass/lenses/lens.d.ts`](https://github.com/kubernetes/test-infra/tree/master/prow/spyglass/lenses/lens.d.ts), which just re-exports the definition of +[`pkg/spyglass/lenses/lens.d.ts`](https://github.com/kubernetes-sigs/prow/blob/main/pkg/spyglass/lenses/lens.d.ts), which just re-exports the definition of `spyglass` from `lens.ts`. This design is discussed in its [implementation PR](https://github.com/kubernetes/test-infra/pull/10208). diff --git a/site/content/en/docs/spyglass/write-a-lens.md b/site/content/en/docs/spyglass/write-a-lens.md index fe7c4d6f8f..35f4c5c4cb 100644 --- a/site/content/en/docs/spyglass/write-a-lens.md +++ b/site/content/en/docs/spyglass/write-a-lens.md @@ -10,7 +10,7 @@ Spyglass lenses consist of two components: a frontend (which may be trivial) and ## Lens backend Today, a lens backend must be linked in to the `deck` binary. As such, lenses must live under -[`prow/spyglass/lenses`](https://github.com/kubernetes/test-infra/tree/master/prow/spyglass/lenses). Additionally lenses **must** be in a folder that matches the +[`pkg/spyglass/lenses`](https://github.com/kubernetes-sigs/prow/tree/main/pkg/spyglass/lenses). Additionally lenses **must** be in a folder that matches the name of the lens. The content of this folder will be served by `deck`, enabling you to reference static content such as images, stylesheets, or scripts. @@ -64,7 +64,7 @@ If you want to read resources included in your lens (such as templates), you can provided `resourceDir`. Finally, you will need to import your lens from `deck` in order to actually link it in. You can do -this by `import`ing it from [`prow/cmd/deck/main.go`](https://github.com/kubernetes/test-infra/tree/master/prow/cmd/deck/main.go), alongside the other lenses: +this by `import`ing it from [`cmd/deck/main.go`](https://github.com/kubernetes-sigs/prow/blob/main/cmd/deck/main.go), alongside the other lenses: ```go import ( @@ -104,7 +104,7 @@ a template called `template.html`, a typescript file called `sample.ts`, a style } ``` -2. Add a line in [prow/cmd/deck/.ts-packages](https://github.com/kubernetes/test-infra/tree/master/prow/cmd/deck/.ts-packages): +2. Add a line in [cmd/deck/.ts-packages](https://github.com/kubernetes-sigs/prow/blob/main/cmd/deck/.ts-packages): ``` prow/spyglass/lenses/sample/sample.ts->script_bundle.min.js diff --git a/site/content/en/docs/test/integration/_index.md b/site/content/en/docs/test/integration/_index.md index 351b0fa7c4..429fc11e1c 100644 --- a/site/content/en/docs/test/integration/_index.md +++ b/site/content/en/docs/test/integration/_index.md @@ -30,7 +30,7 @@ description: > Assume we want to add `most-awesome-component` (source code in `cmd/most-awesome-component`). 1. Add `most-awesome-component` to the `PROW_COMPONENTS`, `PROW_IMAGES`, and - `PROW_IMAGES_TO_COMPONENTS` variables in [lib.sh](https://github.com/kubernetes/test-infra/tree/master/prow/test/integration/lib.sh). + `PROW_IMAGES_TO_COMPONENTS` variables in [lib.sh](https://github.com/kubernetes-sigs/prow/blob/main/test/integration/lib.sh). - Add the line `most-awesome-component` to `PROW_COMPONENTS`. - Add the line `[most-awesome-component]=cmd/most-awesome-component` to `PROW_IMAGES`. @@ -48,7 +48,7 @@ Assume we want to add `most-awesome-component` (source code in `cmd/most-awesome 2. Set up Kubernetes Deployment and Service configurations inside the [configuration folder][config/prow/cluster] for your new component. This way the test cluster will pick it up when it [deploys Prow - components](https://github.com/kubernetes/test-infra/tree/master/prow/test/integration/setup-prow-components.sh). + components](https://github.com/kubernetes-sigs/prow/blob/main/test/integration/setup-prow-components.sh). - If you want to deploy an existing Prow component used in production (i.e., ), you can reuse (symlink) the configurations used in @@ -60,7 +60,7 @@ Assume we want to add `most-awesome-component` (source code in `cmd/most-awesome ## New tests -Tests are written under the [`test`](https://github.com/kubernetes/test-infra/tree/master/prow/test/integration/test) directory. They are named with the +Tests are written under the [`test`](https://github.com/kubernetes-sigs/prow/tree/main/test/integration/test) directory. They are named with the pattern `_test.go*`. Continuing the example above, you would add new tests in `most-awesome-component_test.go` @@ -82,7 +82,7 @@ your tests still need some tweaking), repeat steps 1 and 3 as needed. # How it works -In short, the [integration-test.sh](https://github.com/kubernetes/test-infra/tree/master/prow/test/integration/integration-test.sh) script creates a +In short, the [integration-test.sh](https://github.com/kubernetes-sigs/prow/blob/main/test/integration/integration-test.sh) script creates a [KIND](https://kind.sigs.k8s.io/) Kubernetes cluster, runs all available integration tests, and finally deletes the cluster. @@ -92,9 +92,9 @@ deploy certain Prow components, and then from the integration tests we can create a Kubernetes Client to talk to this deployment of Prow. Note that the integration tests do not test all components (we need to fix -this). [The PROW_COMPONENTS variable](https://github.com/kubernetes/test-infra/tree/master/prow/test/integration/lib.sh) is a list of components currently +this). [The PROW_COMPONENTS variable](https://github.com/kubernetes-sigs/prow/blob/main/test/integration/lib.sh) is a list of components currently tested. These components are compiled and deployed into the test cluster on -every invocation of [integration-test.sh](https://github.com/kubernetes/test-infra/tree/master/prow/test/integration/integration-test.sh). +every invocation of [integration-test.sh](https://github.com/kubernetes-sigs/prow/blob/main/test/integration/integration-test.sh). Each tested component needs a Kubernetes configuration so that KIND understands how to deploy it into the cluster, but that's about it (more on this below). The diff --git a/site/content/en/docs/test/integration/fakegitserver.md b/site/content/en/docs/test/integration/fakegitserver.md index 7fa1e769fd..fbbaf9937c 100644 --- a/site/content/en/docs/test/integration/fakegitserver.md +++ b/site/content/en/docs/test/integration/fakegitserver.md @@ -135,7 +135,7 @@ fakegitserver over port 8123 on the host. ### Custom Base Image To use a custom base image for FGS, change the `baseImageOverrides` entry for -fakegitserver in [`.ko.yaml`](https://github.com/kubernetes/test-infra/tree/master/.ko.yaml) like this: +fakegitserver in [`.ko.yaml`](https://github.com/kubernetes-sigs/prow/blob/main/.ko.yaml) like this: ```yaml baseImageOverrides: