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!