diff --git a/keps/draft-20190418-skeleton-generator.md b/keps/draft-20190418-skeleton-generator.md new file mode 100644 index 000000000..b9ed3c7e6 --- /dev/null +++ b/keps/draft-20190418-skeleton-generator.md @@ -0,0 +1,39 @@ +--- +kep-number: draft-20190418 +title: Skeleton generator +authors: + - "@djannot" +owners: + - TBD +editor: TBD +creation-date: 2019-04-18 +status: provisional +--- + +# Skeleton generator + +## Table of Contents + + * [Table of Contents](#table-of-contents) + * [Summary](#summary) + * [Motivation](#motivation) + +Created by [gh-md-toc](https://github.com/ekalinin/github-markdown-toc) + +## Summary + +In order to develop a new framework using KUDO, you always need to create several `Plans` (`deploy`, `update`, `upgrade`, ...) and for each plan to create several `Phases`, `Steps` and `Tasks`. + +Also, any Framework will have a `Task` in the `deploy` plan to create similar Kubernetes objects (`StatefulSets`, `Services`, ...). + +A Skeleton generator could create `yaml` templates with the common `Plans`, `Phases`, `Steps` and `Tasks`. + +This generator should be part of the KUDO CLI. + +With the new proposed approach based on dynamic CRDs, these elements will be defined in separated `yaml` files, so it will be even easier to create a Skeleton generator with a clear directory structure. + +## Motivation + +Having a Skeleton generator would help people getting started faster when they want to develop a new KUDO framework. + +It would also make the framework created using this generator more readable as they would follow a naming convention for the different objects (`StatefulSets`, `Services`, ...).