Skip to content

Commit 6944420

Browse files
KEP-1933: Update to 'stable' (kubernetes#2847)
* KEP-1933: Update KEP to 'stable' * Uncomment PRR approval. * Correct ToC.
1 parent 49cd7f0 commit 6944420

File tree

3 files changed

+25
-19
lines changed

3 files changed

+25
-19
lines changed
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,6 @@
11
kep-number: 1933
22
beta:
33
approver: "@deads2k"
4+
stable:
5+
approver: "@deads2k"
6+
#

keps/sig-security/1933-secret-logging-static-analysis/README.md

Lines changed: 20 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -92,8 +92,8 @@ tags, and then generate with `hack/update-toc.sh`.
9292
- [Alpha (1.20)](#alpha-120)
9393
- [Alpha -> Beta Graduation](#alpha---beta-graduation)
9494
- [Beta](#beta)
95-
- [Beta -> GA Graduation](#beta---ga-graduation)
96-
- [GA](#ga)
95+
- [Beta -> Stable Graduation](#beta---stable-graduation)
96+
- [Stable](#stable)
9797
- [Upgrade / Downgrade Strategy](#upgrade--downgrade-strategy)
9898
- [Version Skew Strategy](#version-skew-strategy)
9999
- [Production Readiness Review Questionnaire](#production-readiness-review-questionnaire)
@@ -134,9 +134,9 @@ Items marked with (R) are required *prior to targeting to a milestone / release*
134134
- [x] (R) Graduation criteria is in place
135135
- [x] (R) Production readiness review completed
136136
- [x] Production readiness review approved
137-
- [ ] "Implementation History" section is up-to-date for milestone
138-
- [ ] User-facing documentation has been created in [kubernetes/website], for publication to [kubernetes.io]
139-
- [ ] Supporting documentation—e.g., additional design documents, links to mailing list discussions/SIG meetings, relevant PRs/issues, release notes
137+
- [x] "Implementation History" section is up-to-date for milestone
138+
- [x] User-facing documentation has been created in [kubernetes/website], for publication to [kubernetes.io]
139+
- [x] Supporting documentation—e.g., additional design documents, links to mailing list discussions/SIG meetings, relevant PRs/issues, release notes
140140

141141
<!--
142142
**Note:** This checklist is iterative and should be reviewed and updated every time this enhancement is being considered for a milestone.
@@ -285,9 +285,9 @@ it may train developers to ignore issues.
285285
Additionally, *because* it is not initially blocking, it risks being overlooked
286286
as unimportant even when findings are relevant.
287287

288-
Should issues reach master, either by the happenstance of a merge, ignored warnings, or analysis flakiness,
288+
Should issues reach a branch, either by the happenstance of a merge, overridden warnings, or analysis flakiness,
289289
reported findings may include those out of scope for the change set in a given PR.
290-
Such incidents are little more than confusing toil for developers.
290+
Such incidents would provide confusion and toil for developers, but could be quickly corrected, suppressed via configuration, or the offending commit reverted.
291291

292292
Changes to `test-infra` carry with them the potential for inconvenience,
293293
should they introduce any instability to wider testing. While diligent review
@@ -344,11 +344,11 @@ As part of testing of our testing process, these tests should belong to `kuberne
344344
#### Beta
345345
- Analysis runs as a non-blocking presubmit check, warning developers of any findings in their changes.
346346

347-
#### Beta -> GA Graduation
347+
#### Beta -> Stable Graduation
348348
- Test is validated as running soundly at scale.
349349
- No false positives, test failures, or other concerning issues are raised for 1-2 weeks.
350350

351-
#### GA
351+
#### Stable
352352
- Analysis runs as a blocking presubmit test.
353353

354354
<!--
@@ -536,7 +536,9 @@ communicated clearly such that developer correction can proceed as smoothly as p
536536
During non-blocking release stages, this should include instructions for reporting false-positives if the PR author believes the findings are incorrect.
537537
During blocking release stages, this should include instructions for escalating possible false-positives to avoid blocking other PRs and how to contact contributors with `/override` permissions to approve bypass of analysis.
538538

539-
Analyzer failures should be reported to [`go-flow-levee` Issues](http://github.com/google/go-flow-levee/issues).
539+
Assistance in resolving issues identified by the analyzer can be found in the [Verification Tests Documentation](https://github.com/kubernetes/community/blob/master/contributors/devel/sig-testing/verify-tests.md)
540+
541+
Analyzer failures or bugs should be reported to [`go-flow-levee` Issues](http://github.com/google/go-flow-levee/issues).
540542

541543
## Implementation History
542544

@@ -554,6 +556,7 @@ Major milestones might include:
554556
* 2020-08-13: Initial Proposal Merged (#1936)
555557
* 2020-09-10: Alpha state - Non-blocking, manually triggered test added to Prow (kubernetes/test-infra/pull/19181)
556558
* 2020-12-16: Beta state - Prow test converted to automatically trigger (kubernetes/test-infra/pull/20164)
559+
* 2020-02-11: Stable state - Prow test is now blocking (kubernetes/test-infra/pull/20836)
557560

558561
## Drawbacks
559562

@@ -565,11 +568,10 @@ As a blocking test, there is a risk for developer toil in the event of any
565568
false-positive or test flakiness.
566569
This can be mitigated by any contributor with `/override` permissions.
567570

568-
Similarly, depending the order in which PRs are tested and merged,
569-
it is theoretically possible that a merge would result in a violation reaching master.
570-
If this is not properly handled, all PRs made at that time could present as
571-
failing analysis.
572-
This can be mitigated by consistent scans of `master` as a baseline.
571+
In the unexpected event that Prow-bot merges two PR without first rebasing one to the HEAD of the target branch, it could be possible for an analysis violation to reach a given branch.
572+
Like any other failing test that could reach `master`, all subsequent PRs would be blocked by spurious failure.
573+
This could be mitigated if analysis first executes a baseline against the target branch without the changes introduced by a PR.
574+
However, such additional testing has not proven necessary given the rarity of both such Prow-bot misbehavior and the sort of PR diffs necessary to introduce a new violation.
573575

574576
As this analysis depends on project-specific considerations of what constitutes
575577
a secret or a sink, periodic review is required to ensure configuration is kept up-to-date.
@@ -587,8 +589,9 @@ information to express the idea and why it was not acceptable.
587589
-->
588590

589591
[GitHub's CodeQL](https://securitylab.github.com/tools/codeql) includes taint analysis
590-
and permits general SSA graph queries. I am currently investigating if it is viable for this usecase.
591-
If so, integration with CodeQL / lgtm.com may be better than embedding analysis into the Prow testing.
592+
and permits general SSA graph queries. While CodeQL may provide similar testing, [its own documentation](https://lgtm.com/help/lgtm/about-automated-code-review) indicates that any findings would not be blocking.
593+
Given the intended scope of this KEP as a means to block potential security concerns, blocking on detection is of heightened interest.
594+
CodeQL could be used to augment coverage in the future, however.
592595

593596
While other static analysis tools exist for Go, these tend towards more general linters.
594597
[`gosec`](https://github.com/securego/gosec), for instance, can be used to detect

keps/sig-security/1933-secret-logging-static-analysis/kep.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,9 +25,9 @@ see-also:
2525
- /keps/sig-instrumentation/1602-structured-logging
2626
replaces: []
2727

28-
stage: beta
28+
stage: stable
2929

30-
latest-milestone: "v1.21"
30+
latest-milestone: "v1.22"
3131

3232
milestone:
3333
alpha: "v1.20"

0 commit comments

Comments
 (0)