KitOps: Package AI/ML Models Into Versioned OCI Artifacts for Your Registry
You've probably pushed a Docker image to a registry. You know the drill: tag, push, pull, deploy. But what about your AI/ML models? Your trained weights, tokenizers, config files, and training data? Right now, most teams stash them in S3 buckets, random Git LFS repos, or worse—shared drives. That's messy, unversioned, and hard to audit.
KitOps fixes that. It lets you package an entire ML project into an OCI-compliant artifact (think Docker image, but for ML). You push it to any standard container registry (Docker Hub, GHCR, ECR, etc.), version it, and share it with your team. No more "which model.bin is the latest?" headaches.
What It Does
KitOps takes your ML project's components—model weights, tokenizers, training configs, datasets, and metadata—and bundles them into a single versioned OCI artifact called a "Kitfile." That artifact lives in your registry alongside your container images. You can tag it, sign it, and pull it just like you would with docker pull.
The core command is kit pack and kit unpack. You point it at your project directory, define what's important in a Kitfile (similar to a Dockerfile), and it builds the artifact. Later, any teammate (or CI/CD pipeline) can kit unpack that artifact to recreate the exact ML environment.
Why It’s Cool
Here's what makes KitOps stand out:
- Versioned, auditable artifacts. Every time you pack a model, you get a digest. Tag it with
latestorv2.1.0. Roll back instantly. No more "train the model, copy the files, hope nobody overwrites them." - Works with any OCI registry. You already use Docker Hub or ECR? Great. KitOps pushes to those same registries. No new infrastructure needed.
- Stackable components. Your Kitfile can reference base images, dependencies, and even other KitOps artifacts. This is perfect for teams that iterate models frequently but need reproducibility.
- CLI-first, developer friendly. It's a small binary. No Python runtime requirement, no heavy SDK.
kit packandkit unpackare all you need. - Model agnostic. Doesn't care if you're using PyTorch, TensorFlow, ONNX, or a custom binary. It just packages whatever you define.
Use cases? CI/CD for ML models—build, test, pack, push. Or share a model with a teammate in two commands. Or archive a specific training run for compliance.
How to Try It
Th