Skip to content

Conversation

@gorkem
Copy link
Member

@gorkem gorkem commented Nov 28, 2025

Introduces push-modelkit and unpack-modelkit components to enable integration of KitOps with Kubeflow Pipelines.

Introduces push-modelkit and unpack-modelkit components to enable
integration of KitOps with Kubeflow Pipelines.

Signed-off-by: Gorkem Ercan <gorkem.ercan@gmail.com>
Signed-off-by: Gorkem Ercan <gorkem.ercan@gmail.com>
Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR introduces Kubeflow Pipeline components for KitOps ModelKits, enabling ML practitioners to package and deploy models using KitOps within Kubeflow Pipelines. The implementation provides two core components: push-modelkit for packaging and pushing ML artifacts to OCI registries, and unpack-modelkit for pulling and extracting ModelKits.

Key Changes:

  • Added two KFP components (push-modelkit and unpack-modelkit) with comprehensive BATS test coverage
  • Included a complete house prices example pipeline demonstrating end-to-end model training and packaging
  • Added GitHub Actions workflow for automated testing and multi-platform container builds

Reviewed changes

Copilot reviewed 15 out of 15 changed files in this pull request and generated 10 comments.

Show a summary per file
File Description
build/dockerfiles/kubeflow-components/scripts/push-modelkit.sh Main script for packing and pushing ModelKits to OCI registries with attestation support
build/dockerfiles/kubeflow-components/scripts/unpack-modelkit.sh Script for unpacking ModelKits from registries to local directories
build/dockerfiles/kubeflow-components/scripts/lib/common.sh Shared utility library providing logging, retry logic, and validation functions
build/dockerfiles/kubeflow-components/tests/push-modelkit.bats Comprehensive BATS tests covering argument validation, packing/pushing, and error handling
build/dockerfiles/kubeflow-components/tests/unpack-modelkit.bats BATS tests for unpacking functionality including edge cases and error scenarios
build/dockerfiles/kubeflow-components/components/push-modelkit/component.yaml KFP component definition for push-modelkit
build/dockerfiles/kubeflow-components/components/unpack-modelkit/component.yaml KFP component definition for unpack-modelkit
build/dockerfiles/kubeflow-components/examples/house-prices-pipeline.py Complete example demonstrating training and packaging with KFP v2
build/dockerfiles/kubeflow-components/examples/train-house-prices.yaml Standalone training component example
build/dockerfiles/kubeflow-components/examples/README.md Quick start guide for examples
build/dockerfiles/kubeflow-components/README.md Comprehensive documentation covering components, usage patterns, and troubleshooting
build/dockerfiles/kubeflow-components/Dockerfile Multi-platform container image with kit CLI, cosign, and component scripts
.github/workflows/kubeflow-components-test.yaml CI workflow for running BATS tests and validating container builds
.github/workflows/platform-release.yaml Updated to build and publish kubeflow components container on releases
.github/workflows/next-container-build.yaml Updated to build kubeflow components container for next branch
Comments suppressed due to low confidence (1)

build/dockerfiles/kubeflow-components/examples/house-prices-pipeline.py:12

  • Import of 'NamedTuple' is not used.
from typing import NamedTuple

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@gorkem gorkem force-pushed the kubeflow-component branch from c965893 to 1dab689 Compare November 28, 2025 18:33
Signed-off-by: Gorkem Ercan <gorkem.ercan@gmail.com>
Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 15 out of 15 changed files in this pull request and generated 23 comments.


💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@gorkem gorkem force-pushed the kubeflow-component branch from 5ae1119 to 33ff346 Compare December 2, 2025 14:21
Includes InferenceService manifest demonstrating kit:// URI
integration with KServe for deploying ModelKits.

Signed-off-by: Gorkem Ercan <gorkem.ercan@gmail.com>
@gorkem gorkem force-pushed the kubeflow-component branch from 33ff346 to d2300ff Compare December 2, 2025 15:01
@gorkem gorkem force-pushed the kubeflow-component branch from be39aa3 to 9cbb72e Compare December 9, 2025 00:36
Update component inputs, outputs, and scripts to use reference
instead of uri for OCI alignment. Also remove redundant CI triggers and dependencies.

Signed-off-by: Gorkem Ercan <gorkem.ercan@gmail.com>
@gorkem gorkem force-pushed the kubeflow-component branch from 9cbb72e to f1da0a8 Compare December 9, 2025 00:39
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants