eddiezane / kubectl-generate

kubectl generate is a proof on concept that attempts to tackle scaffolding yaml manifests
Apache License 2.0
4 stars 4 forks source link

kubectl generate KEP WIP document #2

Open armujahid opened 1 year ago

armujahid commented 1 year ago

I am linking kubectl generate KEP WIP document so that we can finalize the design and architecture and start building this generator :)

kubectl generate was first discussed in the meeting on August 12, 2020, and has also been recently discussed in the meeting on October 5, 2022. https://docs.google.com/document/d/1r0YElcXt6G5mOWxwZiXgGu_X6he3F--wKwg-9UBc29I/edit?usp=sharing

POC demo: https://www.youtube.com/watch?v=3mEs5fcF36I&feature=youtu.be&t=2093

armujahid commented 1 year ago

Summary of Eddie's POC demo video as per my understanding:

3 phase rollout: Phase 1: Hardcoded example that will be merged into the OpenAPI spec: Currently we have a hardcoded deployment template. Example field is build into the OpenAPI. Example is being merged into the deployment

kubectl generate deployment Or kubectl generate --schema local.yaml deployment (community can provide their own templates. Or we can have org specific templates)

We can merge the examples in upstream OpenAPI spec so we don't have to provide these examples in our generator. Out of the box CRD support. Remote overrides (Not sure what that means)

Phase 2: Custom setters to override different fields in the template e.g. --image=nginx (similar to kustomize setters?)

Phase 3: Custom OpenAPI extension with the concept of a template so that we can dynamically parse cli flags that can override different fields.