zenml-io / mlstacks

A series of Terraform based recipes to provision popular MLOps stacks on the cloud.
https://mlstacks.zenml.io/
Apache License 2.0
247 stars 32 forks source link

Add Support for Image Builders as a Stack Component #137

Open strickvl opened 8 months ago

strickvl commented 8 months ago

ZenML incorporates image builders as a key part of its stack components, enabling the customization and optimization of container images for ML workflows. MLStacks aims to align with ZenML by introducing support for image builders as a stack component, necessitating updates to constants, enums, and output stack files to accommodate this new component type.

Task Description

The task involves updating MLStacks to support image builders as a stack component, specifically focusing on the GCP flavor or the Kaniko flavor, as initial implementations. This includes configuring necessary IAM permissions for Google Cloud Build, ensuring integration with a container registry, and setting up an artifact store within the Terraform definitions.

Expected Outcome

Steps to Implement

  1. Update src/mlstacks/enums.py and src/mlstacks/constants.py to reflect the addition of image builders as a stack component, including relevant flavors.
  2. Develop or update Terraform modular definitions for deploying image builders, focusing on GCP or Kaniko as the initial flavor. This includes configuring IAM permissions and ensuring integration with container registries and artifact stores.
  3. Update output files (e.g., src/mlstacks/terraform/gcp-modular/output_file.tf) to include necessary details for the image builder component, such as URIs for the container registry and artifact store.
  4. Test the implementation thoroughly to ensure that the image builder component can be successfully deployed and integrated within MLStacks stacks, particularly on GCP.
  5. Document the setup and configuration process for the image builder stack component within MLStacks, providing guidance for users on how to utilize this new component in their stacks.

Additional Context

Adding support for image builders as a stack component in MLStacks will significantly enhance the framework's capabilities in managing and deploying containerized ML workloads, aligning with ZenML's component-based architecture and offering users more flexibility in their MLOps infrastructure.

Code of Conduct

astro-wizard commented 7 months ago

I’d like work on this task. Could you please assign this to me.

strickvl commented 7 months ago

Let us know if you have any questions, @prabhattiwari16 !