Skip to main content

Versioning & Upgrades

API Versioning Strategy

Version Progression

  1. v1alpha1 — Initial release

    • Experimental API
    • Breaking changes allowed
    • No stability guarantees
  2. v1beta1 — Stabilization

    • Feature complete
    • Breaking changes with deprecation warnings
    • Migration tooling provided
  3. v1 — Stable

    • No breaking changes
    • Long-term support
    • Backward compatibility required

Conversion Webhooks

When moving between versions, conversion webhooks will handle:

  • Field renames
  • Structural changes
  • Default value updates

Controller Upgrades & Compatibility

Upgrade Process

# Option A: kubectl
kubectl apply -f https://raw.githubusercontent.com/kaito-project/airunway/main/deploy/controller.yaml

# Rollback to previous version
kubectl rollout undo deployment/airunway-controller-manager -n airunway-system

Behavior during upgrade:

  • Controller deployment performs a rolling update (no downtime)
  • Existing ModelDeployment resources continue to function
  • In-flight reconciliations complete with the old controller, then new controller takes over
  • Provider resources are not disrupted during controller upgrade

CRD updates:

  • New controller versions may include updated CRD schemas
  • Existing resources remain valid (new fields have defaults)
  • Breaking CRD changes only occur between API versions (e.g., v1alpha1 → v1beta1)

Version Compatibility Matrix

AI Runway ControllerKubernetesKAITO OperatorDynamo OperatorKubeRay Operator
v0.1.x1.26-1.30v0.3.xv1.0.xv1.1.x
ProviderMinimum VersionCRD API VersionNotes
KAITOv0.3.0kaito.sh/v1beta1Requires GPU operator for GPU workloads
Dynamov1.0.0nvidia.com/v1alpha1Requires NVIDIA GPU operator; CRDs are bundled in the platform chart
KubeRayv1.1.0ray.io/v1Optional: KubeRay autoscaler for scaling
llm-dProvider-specificProvider-specificRegister an InferenceProviderConfig; compatibility follows the installed llm-d provider stack
Direct vLLMv0.1.0apps/v1 DeploymentRepo-local provider shim is in providers/vllm/deploy/vllm.yaml; use spec.engine.image for the vLLM server image

Controller version is independent of provider operator versions. The controller detects provider CRD versions dynamically.


See also: Architecture Overview | CRD Reference