Skip to content

Commit 9a387c2

Browse files
committed
update graduation criteria, version, test plan
1 parent 653453e commit 9a387c2

File tree

1 file changed

+20
-68
lines changed

1 file changed

+20
-68
lines changed

enhancements/sdk-external-and-pluggable-validations.md

Lines changed: 20 additions & 68 deletions
Original file line numberDiff line numberDiff line change
@@ -349,80 +349,32 @@ of compiling them in.
349349

350350
### Test Plan
351351

352-
**Note:** *Section not required until targeted at a release.*
353-
354-
Consider the following in developing a test plan for this enhancement:
355-
- Will there be e2e and integration tests, in addition to unit tests?
356-
- How will it be tested in isolation vs with other components?
357-
358-
No need to outline all of the test cases, just the general strategy. Anything
359-
that would count as tricky in the implementation and anything particularly
360-
challenging to test should be called out.
361-
362-
All code is expected to have adequate tests (eventually with coverage
363-
expectations).
352+
* unit testing of the sdk external validator feature
353+
* bundle validate e2e
354+
* external validators will have their own test coverages
364355

365356
### Graduation Criteria
366357

367-
**Note:** *Section not required until targeted at a release.*
368-
369-
Define graduation milestones.
370-
371-
These may be defined in terms of API maturity, or as something else. Initial proposal
372-
should keep this high-level with a focus on what signals will be looked at to
373-
determine graduation.
374-
375-
Consider the following in developing the graduation criteria for this
376-
enhancement:
377-
- Maturity levels - `Dev Preview`, `Tech Preview`, `GA`
378-
- Deprecation
379-
380-
Clearly define what graduation means.
381-
382-
#### Examples
383-
384-
These are generalized examples to consider, in addition to the aforementioned
385-
[maturity levels][maturity-levels].
386-
387358
##### Dev Preview -> Tech Preview
388359

389-
- Ability to utilize the enhancement end to end
390-
- End user documentation, relative API stability
391-
- Sufficient test coverage
392-
- Gather feedback from users rather than just developers
360+
- dev preview will require the user to specify the location of the validator to
361+
run
393362

394363
##### Tech Preview -> GA
395364

396-
- More testing (upgrade, downgrade, scale)
397-
- Sufficient time for feedback
398-
- Available by default
399-
400-
**For non-optional features moving to GA, the graduation criteria must include
401-
end to end tests.**
365+
- TBD
402366

403367
##### Removing a deprecated feature
404368

405-
- Announce deprecation and support policy of the existing feature
406-
- Deprecate the feature
369+
N/A
407370

408371
### Upgrade / Downgrade Strategy
409372

410-
If applicable, how will the component be upgraded and downgraded? Make sure this
411-
is in the test plan.
412-
413-
Consider the following in developing an upgrade/downgrade strategy for this
414-
enhancement:
415-
- What changes (in invocations, configurations, API use, etc.) is an existing
416-
cluster required to make on upgrade in order to keep previous behavior?
417-
- What changes (in invocations, configurations, API use, etc.) is an existing
418-
cluster required to make on upgrade in order to make use of the enhancement?
373+
N/A
419374

420375
### Version Skew Strategy
421376

422-
* The version of the validators can change however the validator author sees fit.
423-
* The API or contract between `operator-sdk` and validators will be
424-
* input to validator: bundle directory
425-
* output from validator: `ManifestResult` JSON
377+
N/A
426378

427379
## Implementation History
428380

@@ -436,6 +388,17 @@ compilation step being needed depending on the language used to implement them.
436388

437389
## Alternatives
438390

391+
* use a language like JavaScript or CUE to define all validations
392+
* validations could be run from a git repo, i.e. operator-sdk could pull it
393+
and then evaluate it
394+
* pro:
395+
* simpler delivery, expose via a gitrepo and done
396+
* con:
397+
* all existing validations would have to be re-written in a new language
398+
structure which could introduce new bugs
399+
* unproven technology
400+
* would have to write the engine to know how to execute these
401+
439402
* put validations in their own images
440403
* need to define "API" contract what is the entrypoint and what parameters do
441404
we give it
@@ -460,17 +423,6 @@ TODO: ---------- vvvvvv CUT vvvvvv ----------
460423
* authors would have to create binaries of their validations
461424
TODO: ---------- ^^^^^^ CUT ^^^^^^ ----------
462425

463-
* use a language like JavaScript or CUE to define all validations
464-
* validations could be run from a git repo, i.e. operator-sdk could pull it
465-
and then evaluate it
466-
* pro:
467-
* simpler delivery, expose via a gitrepo and done
468-
* con:
469-
* all existing validations would have to be re-written in a new language
470-
structure which could introduce new bugs
471-
* unproven technology
472-
* would have to write the engine to know how to execute these
473-
474426
* use scorecard to do the validations
475427
* create validations written in scorecard as custom tests
476428
* pro:

0 commit comments

Comments
 (0)