- Fixed the defaulter-gen to support recursive types in this PR.
- Earlier it was working for CRD types but breaking for other types.
- The trick was to mark the type as "unseen" in the tree if it was no longer a nested struct.
- This shows that there are no changes in kube after the cumulative change in defaulter-gen and conversion-gen.
- Added tests for defaulter-gen on top of Chao's PR as suggested by thockin.
- Discussed and decided that we will need to implement our own custom marshaller for the
$ref
property. - SUBMITTED THE PROPOSAL!!! kubernetes/community#708
- Addressed review comments in the PR (against PRs in my fork first with sttts).
- Had a problem with defaulting (we don't support it currently) but this PR, when merged, should solve it.
- Discussed code conversion for the types to OpenAPI types. We'll probably need recursive conversion funcs here.
The defaulter-gen fix that was intially creating problems could have been fixed sooner if I had figured out that one tiny little problem! Had originally said that defaulting would be supported but later after reading [1][2]found that go-openapi doesn't have defaulting support.