by goenning on 12/12/24, 3:02 PM with 30 comments
A few things included:
- Tree view with schema, type and description of all native resources - History changes since version X (properties added/removed/modified) - Examples of some resources that you can easily copy as a starting point - Supports all versions since X, including the newly released 1.32 - I also want to add support for popular CRD, but I’m not sure how I’ll do that yet, I’m open to suggestions!
Everything is auto generated based on the OpenAPI spec, with some manual inputs for examples and external links.
Hope you like it and if there’s anything else you think it could be useful just let me know.
by abuckenheimer on 12/12/24, 4:42 PM
Maybe one nitpick would be to keep colon between the key and the type so one can copy paste multiple lines of relevant spec to be filled in your editor easily.
by emmanueloga_ on 12/12/24, 11:09 PM
* Go types are converted to Protobuf via go-to-protobuf.
* Protobuf generates OpenAPI specs and JSONSchemas via kube-openapi.
* Users rely on tools and DSLs to manage the complexity of YAML manifests.
This pipeline prioritizes some convenience for the core team over simplicity for end users. In the end, that minimal convenience transmutes into layers of convoluted code generators to maintain for the core team, and unwieldy, tens-of-thousands-of-lines schemas for the end users.
Also, does Kubernetes really benefit enough from Protobuf to justify the complexity? k8s IPC and network traffic likely account for a small fraction of overall app traffic. Perhaps JSON and schemas for validation could be enough.
The proliferation of tools to manage YAML manifests is a sign of room for improvement. Perhaps a "k8s 2.0" could start with JSONSchemas: this could encourage minimal, flat, simple, and user-friendly schemas, and hopefully a more coherent internal pipeline.
by joushx on 12/12/24, 9:21 PM
by leg100 on 12/12/24, 6:34 PM
Perhaps add an "expand all" button to avoid clicking individually on properties to see their descriptions?
I usually rely on the official generated docs (all on one giant page):
https://kubernetes.io/docs/reference/generated/kubernetes-ap...
by fikama on 12/12/24, 9:36 PM
by robinhoodexe on 12/12/24, 4:38 PM
Adding support for CRDs would be very nice. Maybe look up popular CNCF projects and find their official helm charts, that contain the CRDs?
by vbezhenar on 12/12/24, 5:11 PM
https://kubespec.dev/apps/v1/Deployment https://kubernetes.io/docs/reference/kubernetes-api/workload...
minReadySeconds: integer
paused: boolean
progressDeadlineSeconds: integer
...
vs selector
template
replicas
minReadySeconds
...
I'm very nitpicky about order of fields and I always follow kubernetes documentation order. Not sure where it really comes from, but generally it's good enough and better than alphabetical order (or inconsistent order).by hintymad on 12/13/24, 12:25 AM
by keisku on 12/14/24, 12:31 AM
by imcritic on 12/12/24, 9:31 PM
by JohnMakin on 12/12/24, 6:23 PM
by astonex on 12/13/24, 4:36 PM
by wpm on 12/12/24, 4:50 PM
by elliot07 on 12/13/24, 6:40 AM
by JeffMcCune on 12/12/24, 7:49 PM
by nosefrog on 12/12/24, 5:46 PM
by lormayna on 12/12/24, 6:57 PM
by swills on 12/12/24, 8:58 PM
by pythops on 12/13/24, 9:48 AM
by devops99 on 12/12/24, 4:47 PM