# Per-track configurable-service membership. # # The always-prompted tier — LLM Engine + Prometheus + Grafana + cloud-provider # keys — is implicit and applies to every track; being prompted is not the # same as running (Prometheus and Grafana ship disabled, a blank cloud key # leaves that provider off). The locked always-running manifests (Supabase, # Kong, Redis, LiteLLM, Backend) are never prompted. Neither set is # enumerated here. Cloud-provider toggles (cloud_openai, etc.) never # reach the track-skip predicate because they're collected via dedicated # secret-input steps, not as regular wizard sources. LLM Engine, Prometheus, # and Grafana are listed in tracks.py::ALWAYS_ON_SERVICE_KEYS as the # canonical "asked in every track" set. # # `services: "*"` is the "all" sentinel — no filtering is applied. # # Service entries use the folder name under services// (e.g. `spark`, # `ray`, `airflow`). The wizard normalizes wizard svc.keys back to folder # names via tracks.py::_FAMILY_KEY_ALIASES before lookup. Two classes of # divergence are aliased today: # 1. Multi-container family heads (`ray-head`, `spark-master`, # `airflow-webserver`, `langfuse-web`) — wizard discovery surfaces these because they # are the head container's runtime_sc key. # 2. Single-container runtime_sc divergences (`neo4j-graph-db`, # `open-web-ui`) plus underscore-form virtual-manifest keys # (`llm_provider`, `stt_provider`, `tts_provider`, `doc_processor`). # See `tracks.py::_FAMILY_KEY_ALIASES` for the canonical map. tracks: - key: gen-ai-rag display_name: Generative AI · RAG description: Retrieval-augmented generation — vectors, graph, reranker, doc ingest, web search, workflow automation. services: [open-webui, supavisor, n8n, weaviate, neo4j, lightrag, doc-processor, tei-reranker, searxng, mcp-servers, langfuse, otel-collector, tempo, loki, local-deep-researcher, crawl4ai, tika, llm-graph-builder, verba, celery, cloudflared] - key: gen-ai-eng display_name: Generative AI · Engineering description: Agentic apps + workflows with voice, vision, and search. services: [open-webui, supavisor, n8n, hermes, openclaw, jupyterhub, comfyui, neo4j, stt-provider, tts-provider, searxng, mcp-servers, vllm-metal, langfuse, otel-collector, tempo, loki, local-deep-researcher, tika, celery, cloudflared, trueforge] - key: gen-ai-creative display_name: Generative AI · Creative description: Multimodal generation — image, voice, vision, doc. services: [open-webui, comfyui, asset-worker, asset-baker, fal, stt-provider, tts-provider, multi2vec-clip, weaviate, doc-processor, blender-mcp, langfuse, otel-collector, tempo, loki, cloudflared] - key: ml-eng display_name: ML Engineering description: Distributed training/inference + notebooks + experiment storage. services: [spark, ray, jupyterhub, zeppelin, open-webui, supavisor, minio, tei-reranker, langfuse, otel-collector, tempo, loki, mlflow, label-studio, backup, cloudflared] - key: data-eng display_name: Data Engineering description: Batch + lakehouse + graph + vector with orchestration. services: [spark, airflow, jupyterhub, zeppelin, jenkins, supavisor, minio, iceberg-rest, trino, redpanda, weaviate, neo4j, backup, cloudflared] - key: trading display_name: Trading / Financial Research description: Read-only financial research and paper portfolios in notebooks; no live trading. services: [jupyterhub, minio, mlflow, langfuse, backup, cloudflared] - key: all display_name: All / Custom description: Every configurable service — full wizard, no filtering. services: "*"