-
Notifications
You must be signed in to change notification settings - Fork 64
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Finalize Delivery-related template interface #289
Comments
Hello @sclevine! Welcome to the Cartographer community and thank you for opening your first issue, we appreciate your contributions |
@sclevine I like this on principle, but I'm a little worried that "(Cluster)Deployment(Template)" receives a "deployment" ? I know it can happen with source into source, config into config etc, but typically that doesn't happen. |
I also think that there is a separate distinction for |
RFC 13 should be updated to match this spec if we accept this issue |
|
Closed by #322 |
In RFC0013, two templates were proposed for deploying services and validated them post-deployment:
ClusterDeployTemplates are cluster-scoped resources that enable application operators to specify resource templates that deploy environments.
ClusterDeployTemplates take a single source artifact and return a single deployment artifact.
source -> deployment
ClusterDeliveryTemplates are cluster-scoped resources that enable application operators to specify resource templates that perform validations on a particular deployed environment.
ClusterDeliveryTemplates take a deployment artifact and any number of additional source artifacts. They return a single deployment artifact.
deployment, source[] -> deployment
Based on feedback from the community, I want to suggest that we simplify this interface by making these templates identical in inputs/outputs, by moving the source->deployment "cast" to the input of
ClusterDeployTemplate
. This also gives us the ability to inject additional K8s config (e.g., values.yaml files for Kapp, out-of-band resources) into ClusterDeployTemplate. Additionally, I also want to suggest that we rename these resources for clarity. The new descriptions would look like:ClusterDeploymentTemplates are cluster-scoped resources that enable application operators to specify resource templates that deploy environments.
ClusterDeliveryTemplates take a deployment artifact and any number of additional source artifacts. They return a single deployment artifact.
deployment, source[] -> deployment
ClusterDeploymentValidationTemplates are cluster-scoped resources that enable application operators to specify resource templates that perform validations on a particular deployed environment.
ClusterDeliveryTemplates take a deployment artifact and any number of additional source artifacts. They return a single deployment artifact.
deployment, source[] -> deployment
An interesting outcome of this approach would be that it becomes possible to feed the output of a deployment into another deployment. This may or may not be useful. One use case might be deploying several environments that should remain synchronized.
The text was updated successfully, but these errors were encountered: