kpt
kpt copied to clipboard
Package authoring guidance and best practices
The documentation covers the mechanics but doesn't provide guidance on authoring packages. Some simple questions that are immediately faced by a package author (some are covered in the app epic, I believe):
- Should I set the namespace in resources? If so, to what?
- Should I separate resources into separate yaml files as a best practice? Is there a naming convention I should follow as a best practice?
- Should I use "example" for all my placeholders?
- Does file naming matter for ordering, a la
kubectl apply -f <dir>? - Is there a convention recommended for deployment labels? Should the values be "example", or the app-name? Will the label values be changed to match the package name when it's instantiated?
- Is there a convention around labeling resources with the package information and version?
- In the common case of a Service/Deployment pair, can we automatically validate the selectors match?
- Should my package create a namespace?
- Are there specific tagging conventions that should be used so that Porch UI will show a package? Or is there a best practice for tagging?