@@ -97,6 +97,10 @@ tags, and then generate with `hack/update-toc.sh`.
9797 - [ Large JSON blob could lead to slower read/write and resource consumption] ( #large-json-blob-could-lead-to-slower-readwrite-and-resource-consumption )
9898- [ Design Details] ( #design-details )
9999 - [ Test Plan] ( #test-plan )
100+ - [ Prerequisite testing updates] ( #prerequisite-testing-updates )
101+ - [ Unit tests] ( #unit-tests )
102+ - [ Integration tests] ( #integration-tests )
103+ - [ e2e tests] ( #e2e-tests )
100104 - [ Graduation Criteria] ( #graduation-criteria )
101105 - [ Upgrade / Downgrade Strategy] ( #upgrade--downgrade-strategy )
102106 - [ Version Skew Strategy] ( #version-skew-strategy )
@@ -167,26 +171,27 @@ Items marked with (R) are required *prior to targeting to a milestone / release*
167171## Summary
168172
169173Currently it is not possible to filter for issues or PRs that are related to
170- CVEs announced by kubernetes. This KEP addresses this concern by labelling this
174+ CVEs announced by kubernetes. This KEP addresses this concern by labeling these
171175issues or PRs with the new label ** official-cve-feed ** using the automation. The
172176in-scope issues are the closed issues for which there is a CVE ID and is
173177officially announced as a Kubernetes CVE by SRC in the past.
174178
175179## Motivation
176180
177181With the growing number of eyes on Kubernetes, the number of CVEs related to
178- Kubernetes have increased. Although most CVEs are regularly fixed that directly
179- or indirectly or transitively impact Kubernetes, there is no single place to
180- programmatically subscribe or pull the data of fixed CVEs, for the end users of
181- Kubernetes. Current options are either broken or incomplete.
182+ Kubernetes have increased. Although most CVEs that directly, indirectly, or
183+ transitively impact Kubernetes are regularly fixed, there is no single place
184+ for the end users of Kubernetes to programmatically subscribe or pull the data
185+ of fixed CVEs. Current options are either
186+ [ broken or incomplete] ( https://github.com/kubernetes/sig-security/issues/1 ) .
182187
183188An auto-refreshing CVE feed will allow end users to programmatically fetch the
184- list of CVEs and allow them to get the latest information from kubernetes
189+ list of CVEs and allow them to get the latest information from Kubernetes
185190community.
186191
187192### Goals
188193
189- Create a periodically auto-refreshing machine-readable list of official
194+ Create a periodically auto-refreshing, machine-readable list of official
190195Kubernetes CVEs
191196
192197### Non-Goals
@@ -203,7 +208,7 @@ Kubernetes CVEs
203208#### Story 1
204209
205210As a K8s end user, I want a list of CVEs with relevant information that I can
206- fetch programmatically, so I can understand when new CVEs are announced
211+ fetch programmatically, so I can track when new CVEs are announced.
207212
208213#### Story 2
209214
@@ -219,7 +224,7 @@ feed manually
219224
220225### Story 4
221226
222- As a K8s platform provider, I want to automatically to know if my kubernetes
227+ As a K8s platform provider, I want to automatically know if my Kubernetes
223228clusters are vulnerable to any of the CVEs SRC have announced. I want to have a
224229programmatically available API to parse this kind of data so I can easily
225230provide it to users of my platform.
@@ -276,7 +281,7 @@ label that can only be applied by SRC and SIG Security Tooling Leads.
276281Blobs will only be rewritten, if the generated blob is different from existing
277282blob. As hash file would be created and stored alongside generated blob. This
278283hash file will be check everytime before push to the hash of the generated file.
279- If the hash file matches, writing to bucket will be skipped, If hash file is
284+ If the hash file matches writing to the bucket will be skipped, if hash file is
280285different writing to bucket, will be triggered.
281286
282287## Design Details
@@ -306,16 +311,10 @@ The steps to implement this design will involve a prow job that:
306311
307312### Test Plan
308313
314+ <!--
309315<!--
310316**Note:** *Not required until targeted at a release.*
311-
312- Consider the following in developing a test plan for this enhancement:
313- - Will there be e2e and integration tests, in addition to unit tests?
314- - How will it be tested in isolation vs with other components?
315-
316- No need to outline all of the test cases, just the general strategy. Anything
317- that would count as tricky in the implementation, and anything particularly
318- challenging to test, should be called out.
317+ The goal is to ensure that we don't accept enhancements with inadequate testing.
319318
320319All code is expected to have adequate tests (eventually with coverage
321320expectations). Please adhere to the [Kubernetes testing guidelines][testing-guidelines]
@@ -324,6 +323,67 @@ when drafting this test plan.
324323[testing-guidelines]: https://git.k8s.io/community/contributors/devel/sig-testing/testing.md
325324-->
326325
326+ [ ] I/we understand the owners of the involved components may require updates to
327+ existing tests to make this code solid enough prior to committing the changes necessary
328+ to implement this enhancement.
329+
330+ ##### Prerequisite testing updates
331+
332+ <!--
333+ Based on reviewers feedback describe what additional tests need to be added prior
334+ implementing this enhancement to ensure the enhancements have also solid foundations.
335+ -->
336+
337+ ##### Unit tests
338+
339+ <!--
340+ In principle every added code should have complete unit test coverage, so providing
341+ the exact set of tests will not bring additional value.
342+ However, if complete unit test coverage is not possible, explain the reason of it
343+ together with explanation why this is acceptable.
344+ -->
345+
346+ <!--
347+ Additionally, for Alpha try to enumerate the core package you will be touching
348+ to implement this enhancement and provide the current unit coverage for those
349+ in the form of:
350+ - <package>: <date> - <current test coverage>
351+ The data can be easily read from:
352+ https://testgrid.k8s.io/sig-testing-canaries#ci-kubernetes-coverage-unit
353+
354+ This can inform certain test coverage improvements that we want to do before
355+ extending the production code to implement this enhancement.
356+ -->
357+
358+ - ` <package> ` : ` <date> ` - ` <test coverage> `
359+
360+ ##### Integration tests
361+
362+ <!--
363+ This question should be filled when targeting a release.
364+ For Alpha, describe what tests will be added to ensure proper quality of the enhancement.
365+
366+ For Beta and GA, add links to added tests together with links to k8s-triage for those tests:
367+ https://storage.googleapis.com/k8s-triage/index.html
368+ -->
369+
370+ - <test >: <link to test coverage >
371+
372+ ##### e2e tests
373+
374+ <!--
375+ This question should be filled when targeting a release.
376+ For Alpha, describe what tests will be added to ensure proper quality of the enhancement.
377+
378+ For Beta and GA, add links to added tests together with links to k8s-triage for those tests:
379+ https://storage.googleapis.com/k8s-triage/index.html
380+
381+ We expect no non-infra related flakes in the last month as a GA graduation criteria.
382+ -->
383+
384+ - <test >: <link to test coverage >
385+ -->
386+
327387### Graduation Criteria
328388
329389<!--
0 commit comments