# mlops-only — Argo + KServe + BentoML + Dagster MLOps overlay.
#
# Standalone MLOps stack. Applies cleanly against any existing
# cluster — Argo Workflows + Argo Events + the Spark operator +
# KServe + Yatai (BentoML) + Dagster (opt-in).

name: alphaswarm-mlops-only
slug: mlops-only
module_kind: mlops_stack
description: |
  Standalone AlphaSwarm MLOps stack. Argo Workflows + Argo Events +
  Spark operator + KServe + Yatai (BentoML) + Dagster (opt-in).
  Useful for adding MLOps to a pre-existing cell without re-running
  the full cell template.

cloud_provider: local
environment: sandbox

provider:
  kind: local

backend:
  kind: local
  config:
    path: data/terraform/state/mlops-only.tfstate

variables:
  - name: mlops_namespace
    type: string
    default: alphaswarm-mlops
  - name: argo_workflows_version
    type: string
    default: 0.42.4
  - name: argo_events_version
    type: string
    default: 2.4.10
  - name: kserve_version
    type: string
    default: 0.13.1
  - name: bentoml_version
    type: string
    default: 1.3.10
  - name: dagster_version
    type: string
    default: 1.8.10
  - name: spark_operator_version
    type: string
    default: 1.5.0
  - name: dagster_enabled
    type: bool
    default: false
    description: Toggle the Dagster overlay (opt-in due to its install footprint).
  - name: kserve_enabled
    type: bool
    default: true
  - name: bentoml_enabled
    type: bool
    default: true

required_providers:
  kubernetes:
    source: hashicorp/kubernetes
    version: ~> 2.30
  helm:
    source: hashicorp/helm
    version: ~> 2.15

annotations:
  alphaswarm.io/template-name: mlops-only
  alphaswarm.io/template-kind: mlops_stack
  alphaswarm.io/composition: argo-workflows + argo-events + spark-operator + kserve + bentoml + dagster (opt-in)
  alphaswarm.io/target-cost-monthly: "$0 (in-cluster)"
