New Repo: `serving-progressive-rollout`
houshengbo opened this issue · comments
Use this issue type to request a new repo in knative-extensions
(or
knative
, which may require additional discussion).
Repo information
Org: knative-extensions
Repo: serving-progressive-rollout
Go module (Optional): knative.dev/serving
Purpose (Description): This project targets to create an extension for the Knative Serving project, to implement the rollout of a new revision progressively and incrementally, based on the existing old revision. The purpose is to save the compute resource during the phase of rolling out a new revision.
Related issue: knative/serving#12971
Existing design doc: https://docs.google.com/document/d/1C5iwrdC66axepm9iGVp_KrwbSnkbzfgx4iaQ_-QWc1I/edit
As the conclusion of the discussion in the Serving work group, we decided to implement the progressive rollout as an extension for serving.
Sponsoring WG: Serving and Operations.
Actions to fulfill
This area is used to track the repo creation process.
The requestor and sponsoring WG lead should perform the steps listed below and cross out the checkmarks when done.
The TOC is involved only in the TOC Gate steps.
- Add this issue to the TOC project board for review. You are responsible for moving your entry on the board to "Needs Discussion" or "In Progress" as you move forward in this checklist.
You may not be able to use the Projects quick menu on this page. In that case, go to the project board and use the Add cards interface.
- Send a PR adding entries for this repo in
/peribolos/knative-extensions.yaml
. Please mind the alphabetical order when adding to a list.- Add the repository and a description.
- Grant
Knative Admin
theadmin
privilege. - Grant the sponsoring WG the
write
privilege.
TOC Gate: Once the TOC has approved the above, it will merge and Peribolos will create an empty repository.
-
Ask Steering to add the repo to EasyCLA in Slack.
-
(golang) Send a PR to add aliases for
knative.dev/$REPONAME
import paths (sample). -
Have a lead from the sponsoring WG bootstrap the Git repository by pushing an
appropriate "template" repository (basic,
sample-controller,
sample-source) to the new repository as
a git remote. For example:git clone https://github.com/knative-extensions/sample-controller.git cd sample-controller git remote add newrepo https://github.com/knative-extensions/$REPONAME.git git push newrepo main
-
Add your GitHub ID to the
OWNERS
file for your repo. -
Set up prow for a new repo
-
Bootstrap your CI jobs using hack project (look at other extensions repos for reference)
-
Create a sample PR to verify Prow (e.g., edit the boilerplate README)
-
Verify that within 24 hours the appropriate branch protections have been applied
requiringtide
to pass before PRs are merged. -
(optional) Send a PR adding the repo to knobots.
-
(optional) Send a PR adding the repo to CLOMonitor (more information).
Repo should be created by there's still other stuff in the check list to complete