witty-family-13337
04/19/2022, 11:33 AMexperimental-deploy
goal at Pant’s core) and thought about having a quick discussion about a specific feature we have in our own implementation, to see if that would be welcomed here or if there are better ideas.
The implementation provides with dependency inference of a helm_deployment
in relation to first-party Docker targets that may live in the same code repository. This is done by forcing a rendering of the Helm chart used in a given helm_deployment
and then parsing the resulting Kubernetes manifests in search of references to container images.
This not only creates a dependency on the Docker backend, but also forces to build the Docker build contexts of all the docker_image
targets as the only way to resolve the actual container image reference, is to use the interpolation context attached to the Docker build context.
The implementation I chose of the dependency inference in the PR is just a way to inform Pants of the dependency graph between targets but doesn’t participate in the experimental-deploy
goal implementation. Ideally, a run of the experimental-deploy
goal should trigger the publishing of the 1st party Docker images to guarantee that the required versions are in place (and not make the deployment fail). This is how we do it in our side, but may not be a desired objective right now.
Sorry for the lengthy post!