terradev-cli 5.3.6__tar.gz → 5.3.8__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- terradev_cli-5.3.8/CODEMAP.md +424 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/Deployment Package/BNF_GRAMMAR.md +102 -115
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/PKG-INFO +2 -2
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/README.md +1 -1
- terradev_cli-5.3.8/clusters/lora-template/helm/Chart.yaml +13 -0
- terradev_cli-5.3.8/clusters/lora-template/helm/templates/_helpers.tpl +60 -0
- terradev_cli-5.3.8/clusters/lora-template/helm/templates/deployment.yaml +97 -0
- terradev_cli-5.3.8/clusters/lora-template/helm/templates/pvc-adapter.yaml +14 -0
- terradev_cli-5.3.8/clusters/lora-template/helm/templates/pvc-registry.yaml +14 -0
- terradev_cli-5.3.8/clusters/lora-template/helm/templates/service.yaml +16 -0
- terradev_cli-5.3.8/clusters/lora-template/helm/templates/serviceaccount.yaml +7 -0
- terradev_cli-5.3.8/clusters/lora-template/helm/values-lora.yaml +109 -0
- terradev_cli-5.3.8/clusters/lora-template/k8s/adapter-pvc.yaml +15 -0
- terradev_cli-5.3.8/clusters/lora-template/k8s/deployment.yaml +91 -0
- terradev_cli-5.3.8/clusters/lora-template/k8s/namespace.yaml +7 -0
- terradev_cli-5.3.8/clusters/lora-template/k8s/registry-pvc.yaml +15 -0
- terradev_cli-5.3.8/clusters/lora-template/k8s/service.yaml +18 -0
- terradev_cli-5.3.8/clusters/lora-template/k8s/serviceaccount.yaml +8 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/clusters/moe-template/helm/values-moe.yaml +11 -0
- terradev_cli-5.3.8/marketing/bare-metal-latitude-post.md +19 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/pyproject.toml +1 -1
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/terradev_cli/README.md +9 -18
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/terradev_cli/__init__.py +1 -1
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/terradev_cli/cli.py +1494 -806
- terradev_cli-5.3.8/terradev_cli/core/lora_consistency.py +529 -0
- terradev_cli-5.3.8/terradev_cli/core/lora_cost_attribution.py +486 -0
- terradev_cli-5.3.8/terradev_cli/core/lora_versioning.py +440 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/terradev_cli/core/warm_pool_manager.py +279 -2
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/terradev_cli/ml_services/drift_retrain_service.py +48 -0
- terradev_cli-5.3.8/terradev_cli/ml_services/lora_registry.py +570 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/terradev_cli/ml_services/model_router.py +224 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/terradev_cli/ml_services/vllm_service.py +58 -4
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/terradev_cli.egg-info/PKG-INFO +2 -2
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/terradev_cli.egg-info/SOURCES.txt +20 -1
- terradev_cli-5.3.6/ML_COMMANDS_LIFECYCLE.md +0 -717
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/.env.example +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/.github/workflows/action.yml +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/.github/workflows/ci.yml +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/.github/workflows/release.yml +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/.github/workflows/static.yml +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/.terradev/custom_providers.example.yaml +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/Deployment Package/LIFECYCLES.md +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/Deployment Package/architecture.md +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/Deployment Package/overview.md +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/Deployment Package/security.md +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/Deployment Package/troubleshooting.md +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/Dockerfile +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/Dockerfile.test +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/LICENSE +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/MANIFEST.in +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/clusters/agentic-template/helm/values-agentic.yaml +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/clusters/agentic-template/k8s/fleet-manifests.yaml +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/clusters/glm-5/README.md +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/clusters/glm-5/helm/values-glm5.yaml +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/clusters/glm-5/k8s/hpa.yaml +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/clusters/glm-5/k8s/model-cache-pvc.yaml +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/clusters/glm-5/k8s/namespace.yaml +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/clusters/glm-5/k8s/pdb.yaml +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/clusters/glm-5/k8s/service.yaml +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/clusters/glm-5/k8s/sglang-deployment.yaml +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/clusters/glm-5/k8s/vllm-deployment.yaml +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/clusters/glm-5/task.yaml +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/clusters/glm-5/terraform/main.tf +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/clusters/glm-5/terraform/outputs.tf +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/clusters/glm-5/terraform/variables.tf +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/clusters/llmd-template/README.md +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/clusters/llmd-template/helm/values-llmd.yaml +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/clusters/llmd-template/k8s/gateway.yaml +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/clusters/llmd-template/k8s/leaderworkerset.yaml +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/clusters/llmd-template/k8s/llminferenceservice.yaml +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/clusters/llmd-template/task.yaml +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/clusters/moe-template/README.md +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/clusters/moe-template/k8s/deployment.yaml +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/clusters/moe-template/k8s/hpa.yaml +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/clusters/moe-template/k8s/model-cache-pvc.yaml +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/clusters/moe-template/k8s/namespace.yaml +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/clusters/moe-template/k8s/pdb.yaml +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/clusters/moe-template/k8s/service.yaml +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/clusters/moe-template/task.yaml +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/clusters/moe-template/terraform/main.tf +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/clusters/moe-template/terraform/outputs.tf +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/clusters/moe-template/terraform/variables.tf +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/clusters/rag-template/README.md +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/clusters/rag-template/helm/values-rag.yaml +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/clusters/rag-template/k8s/deployment.yaml +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/clusters/rag-template/terraform/main.tf +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/demo/RECORDING_GUIDE.md +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/demo/generate_gif.py +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/demo/terradev-demo.gif +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/docs/ADVANCED_FINANCIAL_INNOVATIONS.md +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/docs/API_DOCUMENTATION.md +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/docs/BingSiteAuth.xml +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/docs/FINOPS_ATTRIBUTION_SYSTEM.md +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/docs/USER_GUIDE.md +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/docs/VLLM_AUTO_OPTIMIZATION_GUIDE.md +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/docs/VLLM_OPTIMIZATION_GUIDE.md +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/docs/architecture.md +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/docs/index.html +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/docs/overview.md +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/docs/robots.txt +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/docs/sitemap.xml +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/docs/test_spot_provision.md +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/examples/aws_ssm_starter.py +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/examples/config.example.json +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/examples/demo_k8s_config.yaml +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/examples/direct_aws_starter.py +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/examples/ec2_user_data_starter.py +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/examples/example-pipeline.yaml +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/examples/kubernetes_training_deployment.yaml +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/examples/simple_ssm_starter.py +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/examples/ssh_server_starter.py +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/examples/start_aws_servers.py +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/helm/terradev/Chart.yaml +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/helm/terradev/templates/_helpers.tpl +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/helm/terradev/templates/deployment.yaml +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/helm/terradev/values.yaml +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/infrastructure/bucket-policy.json +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/infrastructure/grafana_training_dashboard.json +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/infrastructure/kubernetes/microservices.yaml +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/infrastructure/terraform/main.tf +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/infrastructure/terraform/parallelism.tf +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/integrations/cli-tool.tf +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/integrations/cloud-management-widgets.tf +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/integrations/cloud-provider-apis.py +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/integrations/critical-widgets.tf +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/integrations/devops-cicd-widgets.tf +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/integrations/devops-essential-tools.tf +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/integrations/docker-integration.tf +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/integrations/kubernetes-operator.tf +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/integrations/mlflow-integration.tf +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/modules/datadog/README.md +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/modules/datadog/dashboard.tf +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/modules/datadog/monitors.tf +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/modules/datadog/outputs.tf +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/modules/datadog/provider.tf +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/modules/datadog/variables.tf +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/modules/datadog/versions.tf +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/modules/prometheus_training_config.yml +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/rust/Cargo.toml +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/rust/INTEGRATION_GUIDE.md +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/rust/PERFORMANCE_OPTIMIZATIONS.md +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/rust/README.md +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/rust/terradev-artifact-verification/Cargo.toml +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/rust/terradev-artifact-verification/src/lib.rs +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/rust/terradev-artifact-verification/src/types.rs +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/rust/terradev-artifact-verification/src/verifier.rs +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/rust/terradev-authentication/Cargo.toml +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/rust/terradev-authentication/src/encoding.rs +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/rust/terradev-authentication/src/hmac.rs +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/rust/terradev-authentication/src/lib.rs +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/rust/terradev-authentication/src/types.rs +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/rust/terradev-cache-eviction/Cargo.toml +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/rust/terradev-cache-eviction/src/cache.rs +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/rust/terradev-cache-eviction/src/lib.rs +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/rust/terradev-cache-eviction/src/types.rs +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/rust/terradev-command-executor/Cargo.toml +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/rust/terradev-command-executor/src/lib.rs +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/rust/terradev-config-validator/Cargo.toml +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/rust/terradev-config-validator/src/lib.rs +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/rust/terradev-config-validator/src/types.rs +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/rust/terradev-config-validator/src/validator.rs +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/rust/terradev-connection-pool/Cargo.toml +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/rust/terradev-connection-pool/src/lib.rs +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/rust/terradev-connection-pool/src/pool.rs +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/rust/terradev-connection-pool/src/types.rs +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/rust/terradev-cost-calculator/Cargo.toml +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/rust/terradev-cost-calculator/src/calculator.rs +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/rust/terradev-cost-calculator/src/lib.rs +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/rust/terradev-cost-calculator/src/types.rs +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/rust/terradev-cost-scaler/Cargo.toml +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/rust/terradev-cost-scaler/src/lib.rs +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/rust/terradev-credential-vault/Cargo.toml +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/rust/terradev-credential-vault/src/lib.rs +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/rust/terradev-credential-vault/src/types.rs +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/rust/terradev-credential-vault/src/vault.rs +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/rust/terradev-dag-executor/Cargo.toml +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/rust/terradev-dag-executor/src/lib.rs +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/rust/terradev-distributed-lock/Cargo.toml +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/rust/terradev-distributed-lock/src/lib.rs +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/rust/terradev-distributed-lock/src/lock.rs +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/rust/terradev-distributed-lock/src/types.rs +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/rust/terradev-egress-optimizer/Cargo.toml +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/rust/terradev-egress-optimizer/src/graph.rs +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/rust/terradev-egress-optimizer/src/lib.rs +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/rust/terradev-egress-optimizer/src/types.rs +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/rust/terradev-event-bus/Cargo.toml +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/rust/terradev-event-bus/src/bus.rs +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/rust/terradev-event-bus/src/lib.rs +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/rust/terradev-event-bus/src/types.rs +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/rust/terradev-governance/Cargo.toml +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/rust/terradev-governance/src/lib.rs +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/rust/terradev-gpu-discovery/Cargo.toml +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/rust/terradev-gpu-discovery/src/lib.rs +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/rust/terradev-gpu-topology/Cargo.toml +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/rust/terradev-gpu-topology/src/lib.rs +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/rust/terradev-gpu-topology/src/topology.rs +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/rust/terradev-gpu-topology/src/types.rs +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/rust/terradev-helm-generator/Cargo.toml +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/rust/terradev-helm-generator/src/lib.rs +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/rust/terradev-mcp-codec/Cargo.toml +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/rust/terradev-mcp-codec/src/lib.rs +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/rust/terradev-mcp-optimizer/Cargo.toml +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/rust/terradev-mcp-optimizer/src/lib.rs +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/rust/terradev-price-intelligence/Cargo.toml +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/rust/terradev-price-intelligence/src/lib.rs +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/rust/terradev-quota-manager/Cargo.toml +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/rust/terradev-quota-manager/src/lib.rs +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/rust/terradev-quota-manager/src/manager.rs +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/rust/terradev-quota-manager/src/types.rs +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/rust/terradev-resource-pool/Cargo.toml +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/rust/terradev-resource-pool/src/lib.rs +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/rust/terradev-resource-pool/src/pool.rs +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/rust/terradev-resource-pool/src/types.rs +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/rust/terradev-result-compressor/Cargo.toml +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/rust/terradev-result-compressor/src/lib.rs +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/rust/terradev-semantic-router/Cargo.toml +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/rust/terradev-semantic-router/src/lib.rs +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/rust/terradev-snapshot-manager/Cargo.toml +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/rust/terradev-snapshot-manager/src/lib.rs +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/rust/terradev-snapshot-manager/src/snapshot.rs +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/rust/terradev-snapshot-manager/src/types.rs +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/rust/terradev-state-machine/Cargo.toml +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/rust/terradev-state-machine/src/lib.rs +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/rust/terradev-state-machine/src/state.rs +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/rust/terradev-state-machine/src/types.rs +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/rust/terradev-telemetry/Cargo.toml +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/rust/terradev-telemetry/src/lib.rs +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/rust/terradev-telemetry/src/pipeline.rs +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/rust/terradev-telemetry/src/types.rs +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/rust/terradev-tool-registry/Cargo.toml +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/rust/terradev-tool-registry/src/lib.rs +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/rust/terradev-vram-estimator/Cargo.toml +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/rust/terradev-vram-estimator/src/estimator.rs +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/rust/terradev-vram-estimator/src/lib.rs +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/rust/terradev-vram-estimator/src/types.rs +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/rust/terradev-warm-pool/Cargo.toml +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/rust/terradev-warm-pool/src/lib.rs +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/scripts/action.py +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/scripts/gpu-check.sh +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/setup/Lambda Cloud API spec 1.8.3.json +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/setup/docker-compose.yml +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/setup/nginx.conf +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/setup/setup.sh +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/setup.cfg +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/terradev_cli/CHANGELOG.md +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/terradev_cli/COMPLETE_COMMAND_REFERENCE.md +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/terradev_cli/COMPLETE_INTEGRATION_GUIDE.md +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/terradev_cli/IMPLEMENTATION_SUMMARY.md +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/terradev_cli/MAKING_SPOT_WORK_FOR_STATEFUL_WORKLOADS.md +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/terradev_cli/SGLANG_COMMAND_GUIDE.md +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/terradev_cli/TERRADEV_STACK_CHART.md +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/terradev_cli/__main__.py +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/terradev_cli/cli_hf_spaces.py +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/terradev_cli/cli_karpenter.py +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/terradev_cli/core/__init__.py +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/terradev_cli/core/agentic_provisioner.py +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/terradev_cli/core/agentic_topology.py +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/terradev_cli/core/async_config.py +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/terradev_cli/core/auth.py +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/terradev_cli/core/auto_lineage.py +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/terradev_cli/core/cache_manager.py +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/terradev_cli/core/checkpoint_manager.py +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/terradev_cli/core/command_executor.py +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/terradev_cli/core/config.py +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/terradev_cli/core/config_validator.py +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/terradev_cli/core/cost_scaler.py +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/terradev_cli/core/cost_tracker.py +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/terradev_cli/core/credential_vault.py +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/terradev_cli/core/cuda_graph_integrator.py +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/terradev_cli/core/dag_executor.py +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/terradev_cli/core/data_governance.py +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/terradev_cli/core/dataset_stager.py +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/terradev_cli/core/deployment_router.py +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/terradev_cli/core/distributed_lock.py +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/terradev_cli/core/drift_detector.py +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/terradev_cli/core/egress_cost_monitor.py +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/terradev_cli/core/egress_optimizer.py +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/terradev_cli/core/evaluation_orchestrator.py +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/terradev_cli/core/event_system.py +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/terradev_cli/core/gitops_manager.py +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/terradev_cli/core/gpu_discovery.py +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/terradev_cli/core/gpu_topology.py +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/terradev_cli/core/helm_generator.py +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/terradev_cli/core/hf_cli_integration.py +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/terradev_cli/core/hf_smart_templates.py +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/terradev_cli/core/hf_spaces.py +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/terradev_cli/core/inference_router.py +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/terradev_cli/core/inference_spot_manager.py +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/terradev_cli/core/job_state_manager.py +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/terradev_cli/core/kv_cache_checkpoint_manager.py +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/terradev_cli/core/kv_cache_checkpoint_tests.py +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/terradev_cli/core/kv_sharing.py +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/terradev_cli/core/manifest_cache.py +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/terradev_cli/core/manifest_example.json +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/terradev_cli/core/mig_manager.py +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/terradev_cli/core/migration_orchestrator.py +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/terradev_cli/core/mla_vram_estimator.py +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/terradev_cli/core/mla_vram_tests.py +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/terradev_cli/core/model_orchestrator.py +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/terradev_cli/core/oidc_provider.py +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/terradev_cli/core/optimization_config.py +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/terradev_cli/core/parallel_provisioner.py +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/terradev_cli/core/pd_transport.py +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/terradev_cli/core/pipeline_schema.py +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/terradev_cli/core/preflight_validator.py +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/terradev_cli/core/price_discovery.py +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/terradev_cli/core/price_intelligence.py +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/terradev_cli/core/public_ip_billing_tracker.py +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/terradev_cli/core/quick_start.py +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/terradev_cli/core/quota_manager.py +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/terradev_cli/core/rate_limiter.py +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/terradev_cli/core/rust_telemetry.py +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/terradev_cli/core/semantic_router.py +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/terradev_cli/core/semantic_signals/__init__.py +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/terradev_cli/core/semantic_signals/base_signal.py +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/terradev_cli/core/semantic_signals/complexity_signal.py +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/terradev_cli/core/semantic_signals/domain_signal.py +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/terradev_cli/core/semantic_signals/keyword_signal.py +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/terradev_cli/core/semantic_signals/language_signal.py +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/terradev_cli/core/semantic_signals/modality_signal.py +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/terradev_cli/core/semantic_signals/orchestrator.py +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/terradev_cli/core/semantic_signals/routing_policy.yaml +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/terradev_cli/core/semantic_signals/safety_signal.py +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/terradev_cli/core/session_manager.py +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/terradev_cli/core/ssh_key_manager.py +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/terradev_cli/core/telemetry.py +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/terradev_cli/core/terradev_engine.py +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/terradev_cli/core/trace_viewer.py +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/terradev_cli/core/training_monitor.py +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/terradev_cli/core/training_orchestrator.py +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/terradev_cli/core/user_manager.py +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/terradev_cli/core/weight_streaming_benchmarks.py +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/terradev_cli/core/weight_streaming_manager.py +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/terradev_cli/cost_optimizer.py +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/terradev_cli/credential_prompt.py +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/terradev_cli/demo.py +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/terradev_cli/entry_point.py +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/terradev_cli/integrations/Terradev LOGO BLACK.png +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/terradev_cli/integrations/Terradev LOGO WHITEW.png +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/terradev_cli/integrations/__init__.py +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/terradev_cli/integrations/databricks_integration.py +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/terradev_cli/integrations/datadog_integration.py +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/terradev_cli/integrations/helicone_integration.py +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/terradev_cli/integrations/prometheus_integration.py +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/terradev_cli/integrations/wandb_integration.py +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/terradev_cli/k8s/terraform_wrapper.py +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/terradev_cli/kubernetes/inferx-cost-optimized.yaml +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/terradev_cli/kubernetes/inferx-infrastructure.yaml +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/terradev_cli/kubernetes/inferx-models.yaml +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/terradev_cli/kubernetes/inferx-platform.yaml +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/terradev_cli/kubernetes/inferx_setup.py +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/terradev_cli/mcp/__init__.py +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/terradev_cli/mcp/server.py +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/terradev_cli/ml_services/__init__.py +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/terradev_cli/ml_services/agentic_serving.py +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/terradev_cli/ml_services/dvc_service.py +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/terradev_cli/ml_services/guardrails_service.py +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/terradev_cli/ml_services/huggingface_service.py +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/terradev_cli/ml_services/kserve_service.py +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/terradev_cli/ml_services/kubernetes_enhanced.py +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/terradev_cli/ml_services/kubernetes_service.py +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/terradev_cli/ml_services/langchain_service.py +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/terradev_cli/ml_services/langfuse_service.py +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/terradev_cli/ml_services/langgraph_service.py +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/terradev_cli/ml_services/lmcache_service.py +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/terradev_cli/ml_services/mlflow_service.py +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/terradev_cli/ml_services/ollama_service.py +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/terradev_cli/ml_services/phoenix_service.py +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/terradev_cli/ml_services/qdrant_service.py +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/terradev_cli/ml_services/ray_enhanced.py +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/terradev_cli/ml_services/ray_service.py +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/terradev_cli/ml_services/sglang_service.py +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/terradev_cli/ml_services/wandb_enhanced.py +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/terradev_cli/optimization/__init__.py +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/terradev_cli/optimization/auto_optimizer.py +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/terradev_cli/optimization/cuco_optimizer.py +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/terradev_cli/providers/LATITUDE_PROVIDER.md +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/terradev_cli/providers/__init__.py +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/terradev_cli/providers/alibaba_provider.py +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/terradev_cli/providers/aws_provider.py +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/terradev_cli/providers/azure_provider.py +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/terradev_cli/providers/base_provider.py +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/terradev_cli/providers/baseten_provider.py +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/terradev_cli/providers/coreweave_provider.py +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/terradev_cli/providers/crusoe_provider.py +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/terradev_cli/providers/demo_mode.py +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/terradev_cli/providers/digitalocean_provider.py +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/terradev_cli/providers/e2e_networks_provider.py +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/terradev_cli/providers/fluidstack_provider.py +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/terradev_cli/providers/gcp_provider.py +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/terradev_cli/providers/gpu_catalog.py +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/terradev_cli/providers/hetzner_provider.py +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/terradev_cli/providers/huggingface_provider.py +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/terradev_cli/providers/hyperstack_provider.py +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/terradev_cli/providers/inferx_provider.py +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/terradev_cli/providers/lambda_labs_provider.py +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/terradev_cli/providers/latitude_provider.py +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/terradev_cli/providers/oracle_provider.py +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/terradev_cli/providers/ovhcloud_provider.py +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/terradev_cli/providers/provider_factory.py +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/terradev_cli/providers/provider_profiles.py +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/terradev_cli/providers/real_pricing.py +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/terradev_cli/providers/registry.py +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/terradev_cli/providers/runpod_provider.py +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/terradev_cli/providers/siliconflow_provider.py +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/terradev_cli/providers/tensordock_provider.py +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/terradev_cli/providers/types.py +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/terradev_cli/providers/vastai_provider.py +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/terradev_cli/providers/yottalabs_provider.py +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/terradev_cli/requirements.txt +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/terradev_cli/requirements_minimal.txt +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/terradev_cli/terraform/main.tf +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/terradev_cli/terraform/modules/__init__.py +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/terradev_cli/terraform/modules/gpu-node-aws/bootstrap.sh +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/terradev_cli/terraform/modules/gpu-node-aws/main.tf +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/terradev_cli/terraform/modules/gpu-node-aws/outputs.tf +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/terradev_cli/terraform/modules/gpu-node-aws/variables.tf +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/terradev_cli/terraform/modules/gpu-node-aws/versions.tf +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/terradev_cli/terraform/modules/gpu-node-hyperstack/bootstrap.sh +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/terradev_cli/terraform/modules/gpu-node-hyperstack/main.tf +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/terradev_cli/terraform/modules/gpu-node-hyperstack/outputs.tf +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/terradev_cli/terraform/modules/gpu-node-hyperstack/variables.tf +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/terradev_cli/terraform/modules/gpu-node-hyperstack/versions.tf +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/terradev_cli/terraform/modules/gpu-node-lambda/bootstrap.sh +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/terradev_cli/terraform/modules/gpu-node-lambda/main.tf +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/terradev_cli/terraform/modules/gpu-node-lambda/outputs.tf +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/terradev_cli/terraform/modules/gpu-node-lambda/variables.tf +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/terradev_cli/terraform/modules/gpu-node-lambda/versions.tf +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/terradev_cli/terraform/modules/gpu-node-vastai/bootstrap.sh +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/terradev_cli/terraform/modules/gpu-node-vastai/main.tf +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/terradev_cli/terraform/modules/gpu-node-vastai/outputs.tf +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/terradev_cli/terraform/modules/gpu-node-vastai/variables.tf +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/terradev_cli/terraform/modules/gpu-node-vastai/versions.tf +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/terradev_cli/terraform/modules/k8s-control-plane/join-script.tpl +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/terradev_cli/terraform/modules/k8s-control-plane/kubeconfig.tpl +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/terradev_cli/terraform/modules/k8s-control-plane/main.tf +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/terradev_cli/terraform/modules/k8s-control-plane/outputs.tf +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/terradev_cli/terraform/modules/k8s-control-plane/variables.tf +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/terradev_cli/terraform/modules/k8s-control-plane/versions.tf +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/terradev_cli/terraform/modules/networking/main.tf +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/terradev_cli/terraform/modules/networking/outputs.tf +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/terradev_cli/terraform/modules/networking/variables.tf +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/terradev_cli/terraform/modules/networking/versions.tf +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/terradev_cli/terraform/outputs.tf +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/terradev_cli/terraform/price-optimizer/optimal-allocation.py +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/terradev_cli/terraform/providers.tf +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/terradev_cli/terraform/variables.tf +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/terradev_cli/test_summary.py +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/terradev_cli/utils/__init__.py +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/terradev_cli/utils/formatters.py +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/terradev_cli.egg-info/dependency_links.txt +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/terradev_cli.egg-info/entry_points.txt +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/terradev_cli.egg-info/requires.txt +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/terradev_cli.egg-info/top_level.txt +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/terraform.tfvars.example +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/terraform_optimization/backend.tf +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/terraform_optimization/error_handling.py +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/terraform_optimization/parallel_provisioning.tf +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/terraform_optimization/storage_choice_matrix.py +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/terraform_optimization/test_error_handler.py +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/terraform_optimization/versions.tf +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/terraform_transparency/audit_demo/trail_3caed73ad5bf.json +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/terraform_transparency/audit_trail.py +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/terraform_transparency/audit_trails.json +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/terraform_transparency/decision_engine.py +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/terraform_transparency/decision_logs.json +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/terraform_transparency/operations.json +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/terraform_transparency/terraform_manager.py +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/terraform_transparency/terraform_plans.json +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/terraform_transparency/transparency_demo.py +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/terraform_transparency/transparency_report.json +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/tests/CREDENTIAL_STRATEGY.md +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/tests/INTEGRATION_STRATEGY.md +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/tests/Makefile +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/tests/ci_pipeline.py +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/tests/conftest.py +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/tests/root_tests/test_cli_ux_battle.py +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/tests/root_tests/test_cli_ux_battle_fixed.py +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/tests/root_tests/test_cli_ux_final.py +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/tests/root_tests/test_final_integration.py +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/tests/root_tests/test_integrated_optimization.py +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/tests/root_tests/test_p10_production_failover.py +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/tests/root_tests/test_sso_phase1.py +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/tests/root_tests/test_vllm_optimization.py +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/tests/simple_test.py +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/tests/test_ai_integrations.py +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/tests/test_checkpoint_manager.py +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/tests/test_cli_smoke.py +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/tests/test_dag_executor.py +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/tests/test_flashoptim.py +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/tests/test_integration.py +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/tests/test_job_state_manager.py +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/tests/test_k8s_regression.py +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/tests/test_latitude_provider.py +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/tests/test_major_providers.py +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/tests/test_mcp_handlers.py +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/tests/test_new_providers.py +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/tests/test_provider_conformance.py +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/tests/test_providers.py +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/tests/test_semantic_router.py +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/tests/test_sglang_optimization.py +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/tests/test_ssh_key_manager.py +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/tests/test_training_monitor.py +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/tests/test_training_orchestrator.py +0 -0
- {terradev_cli-5.3.6 → terradev_cli-5.3.8}/tests/test_vllm_features.py +0 -0
|
@@ -0,0 +1,424 @@
|
|
|
1
|
+
# Terradev Codebase Architecture Map
|
|
2
|
+
|
|
3
|
+
## High-Level Architecture
|
|
4
|
+
|
|
5
|
+
```
|
|
6
|
+
┌─────────────────────────────────────────────────────────────────────────────┐
|
|
7
|
+
│ TERRADEV CLI v5.3.3 │
|
|
8
|
+
│ Cross-Cloud GPU Orchestration Platform │
|
|
9
|
+
└─────────────────────────────────────────────────────────────────────────────┘
|
|
10
|
+
│
|
|
11
|
+
┌───────────────┴───────────────┐
|
|
12
|
+
│ │
|
|
13
|
+
┌───────▼────────┐ ┌────────▼────────┐
|
|
14
|
+
│ Python CLI │ │ Rust Accelerators│
|
|
15
|
+
│ (terradev_cli)│ │ (rust/) │
|
|
16
|
+
│ 211 files │ │ 30+ crates │
|
|
17
|
+
└────────────────┘ └─────────────────┘
|
|
18
|
+
│ │
|
|
19
|
+
┌───────────┼───────────┐ │
|
|
20
|
+
│ │ │ │
|
|
21
|
+
┌───────▼────┐ ┌───▼────┐ ┌────▼────┐ ┌───────▼────────┐
|
|
22
|
+
│ Core │ │Providers│ │ML Services│ │ Performance │
|
|
23
|
+
│ (80 files)│ │(33 files)│ │(23 files)│ │ Critical │
|
|
24
|
+
└────────────┘ └─────────┘ └──────────┘ │ Components │
|
|
25
|
+
└────────────────┘
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
## Module Breakdown
|
|
29
|
+
|
|
30
|
+
### 1. Core Orchestration (`terradev_cli/core/`)
|
|
31
|
+
|
|
32
|
+
```
|
|
33
|
+
┌─────────────────────────────────────────────────────────────────────────┐
|
|
34
|
+
│ CORE ORCHESTRATION │
|
|
35
|
+
│ (80 modules) │
|
|
36
|
+
└─────────────────────────────────────────────────────────────────────────┘
|
|
37
|
+
│
|
|
38
|
+
┌───────────────────────────┼───────────────────────────┐
|
|
39
|
+
│ │ │
|
|
40
|
+
┌───────▼────────┐ ┌──────────▼──────────┐ ┌────────▼────────┐
|
|
41
|
+
│ Provisioning │ │ Training & Inference│ │ Optimization │
|
|
42
|
+
│ │ │ │ │ │
|
|
43
|
+
│ • agentic_ │ │ • training_ │ │ • cost_ │
|
|
44
|
+
│ provisioner │ │ orchestrator │ │ optimizer │
|
|
45
|
+
│ • parallel_ │ │ • inference_ │ │ • price_ │
|
|
46
|
+
│ provisioner │ │ router │ │ intelligence │
|
|
47
|
+
│ • gpu_ │ │ • inference_ │ │ • egress_ │
|
|
48
|
+
│ topology │ │ spot_manager │ │ optimizer │
|
|
49
|
+
│ • mig_manager │ │ • warm_pool_ │ │ • cost_ │
|
|
50
|
+
│ • deployment_ │ │ manager │ │ scaler │
|
|
51
|
+
│ router │ │ • model_ │ │ • quota_ │
|
|
52
|
+
│ • job_state_ │ │ orchestrator │ │ manager │
|
|
53
|
+
│ manager │ │ • checkpoint_ │ │ │
|
|
54
|
+
└─────────────────┘ │ manager │ └─────────────────┘
|
|
55
|
+
│ • kv_cache_ │
|
|
56
|
+
│ checkpoint_ │
|
|
57
|
+
│ manager │
|
|
58
|
+
│ • kv_sharing │
|
|
59
|
+
│ • pd_transport │
|
|
60
|
+
│ (P/D disaggregation)│
|
|
61
|
+
└──────────────────────┘
|
|
62
|
+
┌───────────────────────────┼───────────────────────────┐
|
|
63
|
+
│ │ │
|
|
64
|
+
┌───────▼────────┐ ┌──────────▼──────────┐ ┌────────▼────────┐
|
|
65
|
+
│ Data & Storage│ │ Networking & I/O │ │ Security & Auth│
|
|
66
|
+
│ │ │ │ │ │
|
|
67
|
+
│ • dataset_ │ │ • pd_transport │ │ • auth │
|
|
68
|
+
│ stager │ │ (NIXL/NVLink/CXL) │ │ • credential_ │
|
|
69
|
+
│ • cache_ │ │ • egress_cost_ │ │ vault │
|
|
70
|
+
│ manager │ │ monitor │ │ • oidc_ │
|
|
71
|
+
│ • manifest_ │ │ • public_ip_ │ │ provider │
|
|
72
|
+
│ cache │ │ billing_tracker │ │ • distributed_ │
|
|
73
|
+
│ • weight_ │ │ • semantic_ │ │ lock │
|
|
74
|
+
│ streaming_ │ │ router │ │ • rate_ │
|
|
75
|
+
│ manager │ │ • ssh_key_ │ │ limiter │
|
|
76
|
+
└─────────────────┘ │ manager │ └─────────────────┘
|
|
77
|
+
└──────────────────────┘
|
|
78
|
+
┌───────────────────────────┼───────────────────────────┐
|
|
79
|
+
│ │ │
|
|
80
|
+
┌───────▼────────┐ ┌──────────▼──────────┐ ┌────────▼────────┐
|
|
81
|
+
│ Observability │ │ Governance & Compliance│ │ Automation │
|
|
82
|
+
│ │ │ │ │ │
|
|
83
|
+
│ • telemetry │ │ • data_governance │ │ • dag_executor │
|
|
84
|
+
│ • training_ │ │ • drift_detector │ │ • event_system │
|
|
85
|
+
│ monitor │ │ • auto_lineage │ │ • pipeline_ │
|
|
86
|
+
│ • evaluation_ │ │ • migration_ │ │ schema │
|
|
87
|
+
│ orchestrator │ │ orchestrator │ │ • gitops_ │
|
|
88
|
+
│ • rust_ │ │ │ │ manager │
|
|
89
|
+
│ telemetry │ │ │ │ • quick_start │
|
|
90
|
+
└─────────────────┘ └────────────────────────┘ └─────────────────┘
|
|
91
|
+
```
|
|
92
|
+
|
|
93
|
+
### 2. Provider Layer (`terradev_cli/providers/`)
|
|
94
|
+
|
|
95
|
+
```
|
|
96
|
+
┌─────────────────────────────────────────────────────────────────────────┐
|
|
97
|
+
│ PROVIDER LAYER │
|
|
98
|
+
│ (23+ Cloud Providers) │
|
|
99
|
+
└─────────────────────────────────────────────────────────────────────────┘
|
|
100
|
+
│
|
|
101
|
+
┌───────────────────────────┼───────────────────────────┐
|
|
102
|
+
│ │ │
|
|
103
|
+
┌───────▼────────┐ ┌──────────▼──────────┐ ┌────────▼────────┐
|
|
104
|
+
│ Hyperscalers │ │ GPU Clouds │ │ Emerging │
|
|
105
|
+
│ │ │ │ │ Providers │
|
|
106
|
+
│ • aws_provider │ │ • runpod_provider │ │ • yottalabs_ │
|
|
107
|
+
│ • gcp_provider │ │ • vastai_provider │ │ provider │
|
|
108
|
+
│ • azure_provider│ │ • lambda_labs_ │ │ • e2e_networks_ │
|
|
109
|
+
│ • oracle_ │ │ provider │ │ provider │
|
|
110
|
+
│ provider │ │ • coreweave_ │ │ • fluidstack_ │
|
|
111
|
+
└─────────────────┘ │ provider │ │ provider │
|
|
112
|
+
│ • crusoe_provider │ │ • siliconflow_ │
|
|
113
|
+
│ • tensordock_ │ │ provider │
|
|
114
|
+
│ provider │ │ • hetzner_ │
|
|
115
|
+
└──────────────────────┘ │ provider │
|
|
116
|
+
┌───────────────────────────┼───────────────────────────┐ │
|
|
117
|
+
│ │ │ │
|
|
118
|
+
┌───────▼────────┐ ┌──────────▼──────────┐ ┌────────▼────────▼────────┐
|
|
119
|
+
│ ML Platforms │ │ Infrastructure │ │ Provider System │
|
|
120
|
+
│ │ │ as Code │ │ │
|
|
121
|
+
│ • huggingface_ │ │ • digitalocean_ │ │ • base_provider │
|
|
122
|
+
│ provider │ │ provider │ │ • provider_factory │
|
|
123
|
+
│ • baseten_ │ │ • hyperstack_ │ │ • provider_profiles │
|
|
124
|
+
│ provider │ │ provider │ │ • registry │
|
|
125
|
+
│ • inferx_ │ │ • alibaba_ │ │ • gpu_catalog │
|
|
126
|
+
│ provider │ │ provider │ │ • types │
|
|
127
|
+
│ • latitude_ │ │ • ovhcloud_ │ │ • real_pricing │
|
|
128
|
+
│ provider │ │ provider │ └────────────────────────┘
|
|
129
|
+
└─────────────────┘ └──────────────────────┘
|
|
130
|
+
```
|
|
131
|
+
|
|
132
|
+
### 3. ML Services Layer (`terradev_cli/ml_services/`)
|
|
133
|
+
|
|
134
|
+
```
|
|
135
|
+
┌─────────────────────────────────────────────────────────────────────────┐
|
|
136
|
+
│ ML SERVICES LAYER │
|
|
137
|
+
│ (23 Integration Services) │
|
|
138
|
+
└─────────────────────────────────────────────────────────────────────────┘
|
|
139
|
+
│
|
|
140
|
+
┌───────────────────────────┼───────────────────────────┐
|
|
141
|
+
│ │ │
|
|
142
|
+
┌───────▼────────┐ ┌──────────▼──────────┐ ┌────────▼────────┐
|
|
143
|
+
│ Inference │ │ Training & MLOps │ │ Orchestration │
|
|
144
|
+
│ Engines │ │ │ │ │
|
|
145
|
+
│ • vllm_service │ │ • ray_service │ │ • ray_enhanced │
|
|
146
|
+
│ • sglang_service │ │ • ray_enhanced │ │ • kubernetes_ │
|
|
147
|
+
│ • ollama_service│ │ • mlflow_service │ │ service │
|
|
148
|
+
│ • kserve_service│ │ • dvc_service │ │ • kubernetes_ │
|
|
149
|
+
│ • lmcache_ │ │ • wandb_enhanced │ │ enhanced │
|
|
150
|
+
│ service │ │ • drift_retrain_ │ │ • langchain_ │
|
|
151
|
+
│ • agentic_ │ │ service │ │ service │
|
|
152
|
+
│ serving │ │ │ │ • langgraph_ │
|
|
153
|
+
└─────────────────┘ └──────────────────────┘ │ service │
|
|
154
|
+
│ │ └─────────────────┘
|
|
155
|
+
│ │
|
|
156
|
+
┌───────▼────────┐ ┌──────────▼──────────┐
|
|
157
|
+
│ Observability │ │ Vector DB & Safety │
|
|
158
|
+
│ │ │ │
|
|
159
|
+
│ • langfuse_ │ │ • qdrant_service │
|
|
160
|
+
│ service │ │ • guardrails_ │
|
|
161
|
+
│ • phoenix_ │ │ service │
|
|
162
|
+
│ service │ │ │
|
|
163
|
+
└─────────────────┘ └──────────────────────┘
|
|
164
|
+
```
|
|
165
|
+
|
|
166
|
+
### 4. Rust Accelerators (`rust/`)
|
|
167
|
+
|
|
168
|
+
```
|
|
169
|
+
┌─────────────────────────────────────────────────────────────────────────┐
|
|
170
|
+
│ RUST ACCELERATORS │
|
|
171
|
+
│ (30+ Performance-Critical Crates) │
|
|
172
|
+
└─────────────────────────────────────────────────────────────────────────┘
|
|
173
|
+
│
|
|
174
|
+
┌───────────────────────────┼───────────────────────────┐
|
|
175
|
+
│ │ │
|
|
176
|
+
┌───────▼────────┐ ┌──────────▼──────────┐ ┌────────▼────────┐
|
|
177
|
+
│ Orchestration │ │ Resource Management │ │ Networking │
|
|
178
|
+
│ │ │ │ │ │
|
|
179
|
+
│ • terradev-dag- │ │ • terradev-resource-│ │ • terradev- │
|
|
180
|
+
│ executor │ │ pool │ │ connection- │
|
|
181
|
+
│ • terradev- │ │ • terradev-quota- │ │ pool │
|
|
182
|
+
│ state-machine │ │ manager │ │ • terradev- │
|
|
183
|
+
│ • terradev- │ │ • terradev- │ │ egress- │
|
|
184
|
+
│ tool-registry │ │ distributed-lock │ │ optimizer │
|
|
185
|
+
└─────────────────┘ └──────────────────────┘ └─────────────────┘
|
|
186
|
+
│ │ │
|
|
187
|
+
┌───────▼────────┐ ┌──────────▼──────────┐ ┌────────▼────────┐
|
|
188
|
+
│ Performance │ │ Storage & Cache │ │ Security │
|
|
189
|
+
│ │ │ │ │ │
|
|
190
|
+
│ • terradev- │ │ • terradev-cache- │ │ • terradev- │
|
|
191
|
+
│ gpu-discovery │ │ eviction │ │ credential- │
|
|
192
|
+
│ • terradev- │ │ • terradev- │ │ vault │
|
|
193
|
+
│ gpu-topology │ │ snapshot-manager │ │ • terradev- │
|
|
194
|
+
│ • terradev- │ │ • terradev- │ │ authentication│
|
|
195
|
+
│ vram-estimator│ │ artifact-verification│ └─────────────────┘
|
|
196
|
+
└─────────────────┘ └──────────────────────┘
|
|
197
|
+
│
|
|
198
|
+
┌───────▼────────┐
|
|
199
|
+
│ Cost & Billing│
|
|
200
|
+
│ │
|
|
201
|
+
│ • terradev- │
|
|
202
|
+
│ cost-calculator│
|
|
203
|
+
│ • terradev- │
|
|
204
|
+
│ cost-scaler │
|
|
205
|
+
│ • terradev- │
|
|
206
|
+
│ price- │
|
|
207
|
+
│ intelligence │
|
|
208
|
+
└─────────────────┘
|
|
209
|
+
```
|
|
210
|
+
|
|
211
|
+
### 5. Cluster Templates (`clusters/`)
|
|
212
|
+
|
|
213
|
+
```
|
|
214
|
+
┌─────────────────────────────────────────────────────────────────────────┐
|
|
215
|
+
│ CLUSTER TEMPLATES │
|
|
216
|
+
│ (Production-Ready Patterns) │
|
|
217
|
+
└─────────────────────────────────────────────────────────────────────────┘
|
|
218
|
+
│
|
|
219
|
+
┌───────────────────────────┼───────────────────────────┐
|
|
220
|
+
│ │ │
|
|
221
|
+
┌───────▼────────┐ ┌──────────▼──────────┐ ┌────────▼────────┐
|
|
222
|
+
│ MoE Models │ │ RAG Applications │ │ Agentic AI │
|
|
223
|
+
│ │ │ │ │ │
|
|
224
|
+
│ • moe-template/ │ │ • rag-template/ │ │ • agentic- │
|
|
225
|
+
│ - GLM-5 │ │ - vLLM + Qdrant │ │ template/ │
|
|
226
|
+
│ - Qwen 3.5 │ │ - Embedding │ │ - Multi-agent │
|
|
227
|
+
│ - DeepSeek V4 │ │ - Redis │ │ - Tool calling│
|
|
228
|
+
│ │ │ - Phoenix/Guardrails│ │ │
|
|
229
|
+
└─────────────────┘ └──────────────────────┘ └─────────────────┘
|
|
230
|
+
│ │
|
|
231
|
+
┌───────▼────────┐ ┌──────────▼──────────┐
|
|
232
|
+
│ LLM Deployment│ │ Specialized │
|
|
233
|
+
│ │ │ Workloads │
|
|
234
|
+
│ • glm-5/ │ │ • llmd-template/ │
|
|
235
|
+
│ - vLLM config │ │ - Language Model │
|
|
236
|
+
│ - K8s manifests│ │ Deployment │
|
|
237
|
+
│ - Monitoring │ │ │
|
|
238
|
+
└─────────────────┘ └──────────────────────┘
|
|
239
|
+
```
|
|
240
|
+
|
|
241
|
+
## Data Flow Architecture
|
|
242
|
+
|
|
243
|
+
```
|
|
244
|
+
┌──────────────┐
|
|
245
|
+
│ CLI Input │
|
|
246
|
+
│ (terradev) │
|
|
247
|
+
└──────┬───────┘
|
|
248
|
+
│
|
|
249
|
+
▼
|
|
250
|
+
┌─────────────────────────────────────────────────────────────────┐
|
|
251
|
+
│ CLI Parser (cli.py) │
|
|
252
|
+
│ 557KB, 218 MCP Tools │
|
|
253
|
+
└──────┬──────────────────────────────────────────────────────────┘
|
|
254
|
+
│
|
|
255
|
+
├─────────────────────────────────────────────────────────┐
|
|
256
|
+
│
|
|
257
|
+
▼
|
|
258
|
+
┌─────────────────────────────────────────────────────────────────┐
|
|
259
|
+
│ Rust DAG Executor │
|
|
260
|
+
│ (10x faster than Python) │
|
|
261
|
+
└──────┬──────────────────────────────────────────────────────────┘
|
|
262
|
+
│
|
|
263
|
+
├─────────────────────────────────────────────────────────┐
|
|
264
|
+
│
|
|
265
|
+
▼
|
|
266
|
+
┌─────────────────────────────────────────────────────────────────┐
|
|
267
|
+
│ Provider Registry & Profiles │
|
|
268
|
+
│ 23+ providers with quirk-aware routing │
|
|
269
|
+
└──────┬──────────────────────────────────────────────────────────┘
|
|
270
|
+
│
|
|
271
|
+
├─────────────────────────────────────────────────────────┐
|
|
272
|
+
│
|
|
273
|
+
▼
|
|
274
|
+
┌─────────────────────────────────────────────────────────────────┐
|
|
275
|
+
│ Core Orchestration Layer │
|
|
276
|
+
│ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ │
|
|
277
|
+
│ │ Provisioning│ │ Training │ │ Inference │ │
|
|
278
|
+
│ │ Engine │ │ Orchestrator│ │ Router │ │
|
|
279
|
+
│ └─────────────┘ └─────────────┘ └─────────────┘ │
|
|
280
|
+
└──────┬──────────────────────────────────────────────────────────┘
|
|
281
|
+
│
|
|
282
|
+
├─────────────────────────────────────────────────────────┐
|
|
283
|
+
│
|
|
284
|
+
▼
|
|
285
|
+
┌─────────────────────────────────────────────────────────────────┐
|
|
286
|
+
│ Optimization & Topology Layer │
|
|
287
|
+
│ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ │
|
|
288
|
+
│ │ NUMA/ │ │ KV Cache │ │ Cost │ │
|
|
289
|
+
│ │ Topology │ │ Offloading │ │ Optimizer │ │
|
|
290
|
+
│ └─────────────┘ └─────────────┘ └─────────────┘ │
|
|
291
|
+
└──────┬──────────────────────────────────────────────────────────┘
|
|
292
|
+
│
|
|
293
|
+
├─────────────────────────────────────────────────────────┐
|
|
294
|
+
│
|
|
295
|
+
▼
|
|
296
|
+
┌─────────────────────────────────────────────────────────────────┐
|
|
297
|
+
│ Provider Adapters │
|
|
298
|
+
│ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ │
|
|
299
|
+
│ │ AWS/GCP/ │ │ RunPod/ │ │ Emerging │ │
|
|
300
|
+
│ │ Azure │ │ Vast.ai │ │ Providers │ │
|
|
301
|
+
│ └─────────────┘ └─────────────┘ └─────────────┘ │
|
|
302
|
+
└──────┬──────────────────────────────────────────────────────────┘
|
|
303
|
+
│
|
|
304
|
+
▼
|
|
305
|
+
┌─────────────────────────────────────────────────────────────────┐
|
|
306
|
+
│ Cloud Infrastructure │
|
|
307
|
+
│ (23+ GPU Cloud Providers) │
|
|
308
|
+
└─────────────────────────────────────────────────────────────────┘
|
|
309
|
+
```
|
|
310
|
+
|
|
311
|
+
## Key Integration Points
|
|
312
|
+
|
|
313
|
+
### MCP Server Integration
|
|
314
|
+
```
|
|
315
|
+
┌─────────────────────────────────────────────────────────────────┐
|
|
316
|
+
│ MCP Server (terradev_mcp.py) │
|
|
317
|
+
│ ~6700 lines, 168 tools │
|
|
318
|
+
└──────┬──────────────────────────────────────────────────────────┘
|
|
319
|
+
│
|
|
320
|
+
├─────────────────────────────────────────────────────────┐
|
|
321
|
+
│
|
|
322
|
+
▼
|
|
323
|
+
┌─────────────────────────────────────────────────────────────────┐
|
|
324
|
+
│ Rust MCP Codec & Optimizer │
|
|
325
|
+
│ (Fast tool call serialization) │
|
|
326
|
+
└──────┬──────────────────────────────────────────────────────────┘
|
|
327
|
+
│
|
|
328
|
+
▼
|
|
329
|
+
┌─────────────────────────────────────────────────────────────────┐
|
|
330
|
+
│ CLI Command Handlers │
|
|
331
|
+
│ (All 218 CLI commands) │
|
|
332
|
+
└─────────────────────────────────────────────────────────────────┘
|
|
333
|
+
```
|
|
334
|
+
|
|
335
|
+
### Kubernetes Integration
|
|
336
|
+
```
|
|
337
|
+
┌─────────────────────────────────────────────────────────────────┐
|
|
338
|
+
│ K8s Enhanced Service │
|
|
339
|
+
│ (NUMA-aware, GPUDirect RDMA) │
|
|
340
|
+
└──────┬──────────────────────────────────────────────────────────┘
|
|
341
|
+
│
|
|
342
|
+
├─────────────────────────────────────────────────────────┐
|
|
343
|
+
│
|
|
344
|
+
▼
|
|
345
|
+
┌─────────────────────────────────────────────────────────────────┐
|
|
346
|
+
│ Helm Generator │
|
|
347
|
+
│ (Dynamic K8s manifests) │
|
|
348
|
+
└──────┬──────────────────────────────────────────────────────────┘
|
|
349
|
+
│
|
|
350
|
+
▼
|
|
351
|
+
┌─────────────────────────────────────────────────────────────────┐
|
|
352
|
+
│ Cluster Templates │
|
|
353
|
+
│ (MoE, RAG, Agentic patterns) │
|
|
354
|
+
└─────────────────────────────────────────────────────────────────┘
|
|
355
|
+
```
|
|
356
|
+
|
|
357
|
+
## File Statistics
|
|
358
|
+
|
|
359
|
+
| Component | Files | Lines | Purpose |
|
|
360
|
+
|-----------|-------|-------|---------|
|
|
361
|
+
| **CLI Core** | 211 | ~500K+ | Main orchestration logic |
|
|
362
|
+
| **Rust Accelerators** | 30+ | ~50K+ | Performance-critical components |
|
|
363
|
+
| **Providers** | 33 | ~400K+ | Cloud provider integrations |
|
|
364
|
+
| **ML Services** | 23 | ~500K+ | ML/LLM service integrations |
|
|
365
|
+
| **Cluster Templates** | 37 | ~100K+ | Production deployment patterns |
|
|
366
|
+
| **Tests** | 34 | ~50K+ | Test coverage |
|
|
367
|
+
| **Documentation** | 13+ | ~100K+ | User guides and API docs |
|
|
368
|
+
|
|
369
|
+
## Technology Stack
|
|
370
|
+
|
|
371
|
+
- **Python 3.8+**: Main CLI and orchestration
|
|
372
|
+
- **Rust**: Performance-critical accelerators (30+ crates)
|
|
373
|
+
- **Kubernetes**: Container orchestration
|
|
374
|
+
- **Helm**: Package management
|
|
375
|
+
- **Terraform**: Infrastructure as code
|
|
376
|
+
- **MCP**: Model Context Protocol (agent integration)
|
|
377
|
+
- **OpenTelemetry**: Observability
|
|
378
|
+
|
|
379
|
+
## Dependencies
|
|
380
|
+
|
|
381
|
+
### Python Core
|
|
382
|
+
- Click (CLI framework)
|
|
383
|
+
- PyYAML (Configuration)
|
|
384
|
+
- Requests (HTTP clients)
|
|
385
|
+
- Asyncio (Async operations)
|
|
386
|
+
- Kubernetes Python client
|
|
387
|
+
|
|
388
|
+
### ML Services
|
|
389
|
+
- vLLM, SGLang, Ollama (Inference engines)
|
|
390
|
+
- Ray (Distributed computing)
|
|
391
|
+
- MLflow, DVC (MLOps)
|
|
392
|
+
- LangChain, LangGraph (LLM orchestration)
|
|
393
|
+
- Qdrant (Vector database)
|
|
394
|
+
- Phoenix, Langfuse (Observability)
|
|
395
|
+
|
|
396
|
+
### Rust Crates
|
|
397
|
+
- Tokio (Async runtime)
|
|
398
|
+
- Serde (Serialization)
|
|
399
|
+
- Clap (CLI parsing)
|
|
400
|
+
- Kubernetes Rust client
|
|
401
|
+
- Various performance libraries
|
|
402
|
+
|
|
403
|
+
## Entry Points
|
|
404
|
+
|
|
405
|
+
1. **CLI Entry**: `terradev_cli/__main__.py` → `cli.py`
|
|
406
|
+
2. **MCP Server**: `terradev_mcp/terradev_mcp.py`
|
|
407
|
+
3. **Rust Components**: Individual crates with `lib.rs`
|
|
408
|
+
4. **Cluster Templates**: `clusters/*/task.yaml` or `helm/values-*.yaml`
|
|
409
|
+
|
|
410
|
+
## Testing Strategy
|
|
411
|
+
|
|
412
|
+
- **Unit Tests**: Per-module Python tests
|
|
413
|
+
- **Integration Tests**: Provider-specific tests
|
|
414
|
+
- **E2E Tests**: Full workflow tests
|
|
415
|
+
- **Rust Tests**: Cargo test suite
|
|
416
|
+
- **Battle Tests**: Comprehensive validation (tests/battle_test_*.py)
|
|
417
|
+
|
|
418
|
+
## Deployment
|
|
419
|
+
|
|
420
|
+
- **PyPI**: `pip install terradev-cli`
|
|
421
|
+
- **Docker**: Multi-stage builds
|
|
422
|
+
- **Kubernetes**: Helm charts
|
|
423
|
+
- **Terraform**: Infrastructure provisioning
|
|
424
|
+
- **Elastic Beanstalk**: AWS deployment option
|