Skip to content
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

Add Support for Image Builders as a Stack Component #137

Open
1 task
strickvl opened this issue Feb 4, 2024 · 2 comments
Open
1 task

Add Support for Image Builders as a Stack Component #137

strickvl opened this issue Feb 4, 2024 · 2 comments
Assignees
Labels
enhancement New feature or request good first issue Good for newcomers

Comments

@strickvl
Copy link
Contributor

strickvl commented Feb 4, 2024

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

  • MLStacks constants and enums are updated to include image builders as a stack component, along with the supported flavors (GCP, Kaniko).
  • Terraform modular definitions (e.g., for GCP in src/mlstacks/terraform/gcp-modular/output_file.tf) are updated to output details necessary for configuring and using the image builder stack component.
  • Proper IAM permissions are set up in the Terraform files to enable the use of Google Cloud Build for the image builder component.
  • Integration is ensured between the image builder component and other necessary stack components, such as container registries and artifact stores, for seamless operation.

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

  • I agree to follow this project's Code of Conduct
@strickvl strickvl added enhancement New feature or request good first issue Good for newcomers labels Feb 4, 2024
@astro-wizard
Copy link

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

@strickvl
Copy link
Contributor Author

strickvl commented Feb 6, 2024

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request good first issue Good for newcomers
Projects
None yet
Development

When branches are created from issues, their pull requests are automatically linked.

2 participants