terradev-cli 5.7.1__tar.gz → 5.7.2__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.7.1 → terradev_cli-5.7.2}/.github/workflows/ci-improved.yml +2 -9
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/.github/workflows/ci.yml +1 -1
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/Deployment Package/LIFECYCLES.md +1 -1
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/PKG-INFO +17 -7
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/README.md +8 -2
- terradev_cli-5.7.2/datadog-terraform/dashboard.tf +377 -0
- terradev_cli-5.7.2/datadog-terraform/monitors.tf +95 -0
- terradev_cli-5.7.2/datadog-terraform/provider.tf +18 -0
- terradev_cli-5.7.2/datadog-terraform/versions.tf +8 -0
- terradev_cli-5.7.2/guardrails/test-0/config.yml +16 -0
- terradev_cli-5.7.2/guardrails/test-0/rails/jailbreak.co +7 -0
- terradev_cli-5.7.2/guardrails/test-0/rails/pii.co +10 -0
- terradev_cli-5.7.2/guardrails/test-0/rails/topical.co +7 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/pyproject.toml +24 -5
- terradev_cli-5.7.2/scripts/build_rust.sh +103 -0
- terradev_cli-5.7.2/terradev-training/terradev-training/Chart.yaml +17 -0
- terradev_cli-5.7.2/terradev-training/terradev-training/README.md +66 -0
- terradev_cli-5.7.2/terradev-training/terradev-training/templates/NOTES.txt +24 -0
- terradev_cli-5.7.2/terradev-training/terradev-training/templates/_helpers.tpl +60 -0
- terradev_cli-5.7.2/terradev-training/terradev-training/templates/configmap.yaml +12 -0
- terradev_cli-5.7.2/terradev-training/terradev-training/templates/job.yaml +66 -0
- terradev_cli-5.7.2/terradev-training/terradev-training/templates/pvc.yaml +19 -0
- terradev_cli-5.7.2/terradev-training/terradev-training/templates/serviceaccount.yaml +12 -0
- terradev_cli-5.7.2/terradev-training/terradev-training/values.yaml +58 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/terradev_cli/CHANGELOG.md +11 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/terradev_cli/COMPLETE_COMMAND_REFERENCE.md +1 -1
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/terradev_cli/README.md +8 -2
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/terradev_cli/__init__.py +2 -2
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/terradev_cli/cli.py +4 -4
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/terradev_cli/commands/ml.py +92 -83
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/terradev_cli/commands/mlops.py +1 -1
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/terradev_cli/core/cost_tracker.py +5 -5
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/terradev_cli/core/credential_vault.py +16 -8
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/terradev_cli/core/dag_executor.py +4 -2
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/terradev_cli/core/deployment_router.py +8 -3
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/terradev_cli/core/drift_detector.py +4 -4
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/terradev_cli/core/egress_optimizer.py +48 -44
- terradev_cli-5.7.2/terradev_cli/core/enterprise_auth.py +104 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/terradev_cli/core/event_system.py +5 -1
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/terradev_cli/core/inference_spot_manager.py +5 -9
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/terradev_cli/core/job_state_manager.py +11 -3
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/terradev_cli/core/manifest_cache.py +2 -2
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/terradev_cli/core/migration_orchestrator.py +4 -4
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/terradev_cli/core/observe.py +9 -4
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/terradev_cli/core/optimization_config.py +3 -3
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/terradev_cli/core/price_intelligence.py +18 -15
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/terradev_cli/core/quick_start.py +2 -2
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/terradev_cli/core/rate_limiter.py +3 -2
- terradev_cli-5.7.2/terradev_cli/core/saml_provider.py +99 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/terradev_cli/core/schedule.py +8 -8
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/terradev_cli/core/user_manager.py +10 -10
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/terradev_cli/core/weight_streaming_manager.py +4 -2
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/terradev_cli/cost_optimizer.py +2 -2
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/terradev_cli/integrations/helicone_integration.py +2 -2
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/terradev_cli/mcp/server.py +29 -4
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/terradev_cli/ml_services/lora_registry.py +22 -19
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/terradev_cli/ml_services/mlflow_service.py +4 -1
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/terradev_cli/providers/aws_provider.py +8 -2
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/terradev_cli/providers/demo_mode.py +7 -2
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/terradev_cli/providers/inferx_provider.py +2 -2
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/terradev_cli/providers/lambda_labs_provider.py +2 -4
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/terradev_cli/providers/provider_factory.py +17 -1
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/terradev_cli.egg-info/PKG-INFO +17 -7
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/terradev_cli.egg-info/SOURCES.txt +116 -7
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/terradev_cli.egg-info/requires.txt +9 -2
- terradev_cli-5.7.2/test +7 -0
- terradev_cli-5.7.2/tests/_mcp_stub/mcp/__init__.py +43 -0
- terradev_cli-5.7.2/tests/_mcp_stub/mcp/client/__init__.py +1 -0
- terradev_cli-5.7.2/tests/_mcp_stub/mcp/client/session.py +19 -0
- terradev_cli-5.7.2/tests/_mcp_stub/mcp/client/stdio.py +27 -0
- terradev_cli-5.7.2/tests/_mcp_stub/mcp/server/__init__.py +52 -0
- terradev_cli-5.7.2/tests/_mcp_stub/mcp/server/models.py +11 -0
- terradev_cli-5.7.2/tests/_mcp_stub/mcp/server/sse.py +34 -0
- terradev_cli-5.7.2/tests/_mcp_stub/mcp/server/stdio.py +13 -0
- terradev_cli-5.7.2/tests/_mcp_stub/mcp/types.py +135 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/tests/commands/test_commands_mcp.py +2 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/tests/commands/test_commands_ml.py +169 -1
- terradev_cli-5.7.2/tests/commands/test_commands_ml_smoke.py +319 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/tests/commands/test_commands_mlops.py +45 -1
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/tests/commands/test_commands_training.py +57 -1
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/tests/conftest.py +38 -1
- terradev_cli-5.7.2/tests/core/test_async_config.py +106 -0
- terradev_cli-5.7.2/tests/core/test_auth.py +114 -0
- terradev_cli-5.7.2/tests/core/test_auto_lineage.py +241 -0
- terradev_cli-5.7.2/tests/core/test_cache_manager.py +65 -0
- terradev_cli-5.7.2/tests/core/test_command_executor.py +54 -0
- terradev_cli-5.7.2/tests/core/test_config.py +84 -0
- terradev_cli-5.7.2/tests/core/test_config_validator.py +58 -0
- terradev_cli-5.7.2/tests/core/test_core_imports.py +29 -0
- terradev_cli-5.7.2/tests/core/test_cost_scaler.py +135 -0
- terradev_cli-5.7.2/tests/core/test_cost_tracker.py +112 -0
- terradev_cli-5.7.2/tests/core/test_credential_vault.py +57 -0
- terradev_cli-5.7.2/tests/core/test_cuda_graph_integrator.py +136 -0
- terradev_cli-5.7.2/tests/core/test_dag_executor.py +117 -0
- terradev_cli-5.7.2/tests/core/test_data_governance.py +195 -0
- terradev_cli-5.7.2/tests/core/test_database_connection.py +118 -0
- terradev_cli-5.7.2/tests/core/test_dataset_stager.py +113 -0
- terradev_cli-5.7.2/tests/core/test_deployment_router.py +238 -0
- terradev_cli-5.7.2/tests/core/test_distributed_lock.py +67 -0
- terradev_cli-5.7.2/tests/core/test_drift_detector.py +192 -0
- terradev_cli-5.7.2/tests/core/test_egress_cost_monitor.py +165 -0
- terradev_cli-5.7.2/tests/core/test_egress_optimizer.py +101 -0
- terradev_cli-5.7.2/tests/core/test_enterprise_auth.py +70 -0
- terradev_cli-5.7.2/tests/core/test_evaluation_orchestrator.py +95 -0
- terradev_cli-5.7.2/tests/core/test_event_system.py +126 -0
- terradev_cli-5.7.2/tests/core/test_gateway_service.py +162 -0
- terradev_cli-5.7.2/tests/core/test_gitops_manager.py +131 -0
- terradev_cli-5.7.2/tests/core/test_gpu_discovery.py +28 -0
- terradev_cli-5.7.2/tests/core/test_hf_spaces.py +159 -0
- terradev_cli-5.7.2/tests/core/test_inference_router.py +138 -0
- terradev_cli-5.7.2/tests/core/test_inference_spot_manager.py +184 -0
- terradev_cli-5.7.2/tests/core/test_job_state_manager.py +187 -0
- terradev_cli-5.7.2/tests/core/test_kv_cache_checkpoint_manager.py +235 -0
- terradev_cli-5.7.2/tests/core/test_kv_sharing.py +98 -0
- terradev_cli-5.7.2/tests/core/test_lora_consistency.py +136 -0
- terradev_cli-5.7.2/tests/core/test_lora_cost_attribution.py +121 -0
- terradev_cli-5.7.2/tests/core/test_lora_versioning.py +166 -0
- terradev_cli-5.7.2/tests/core/test_manifest_cache.py +132 -0
- terradev_cli-5.7.2/tests/core/test_mig_manager.py +109 -0
- terradev_cli-5.7.2/tests/core/test_migration_orchestrator.py +164 -0
- terradev_cli-5.7.2/tests/core/test_mla_vram_estimator.py +160 -0
- terradev_cli-5.7.2/tests/core/test_monitoring.py +41 -0
- terradev_cli-5.7.2/tests/core/test_observe.py +112 -0
- terradev_cli-5.7.2/tests/core/test_oidc_provider.py +307 -0
- terradev_cli-5.7.2/tests/core/test_optimization_config.py +81 -0
- terradev_cli-5.7.2/tests/core/test_parallel_provisioner.py +125 -0
- terradev_cli-5.7.2/tests/core/test_price_discovery.py +139 -0
- terradev_cli-5.7.2/tests/core/test_price_intelligence.py +207 -0
- terradev_cli-5.7.2/tests/core/test_provider_factory.py +71 -0
- terradev_cli-5.7.2/tests/core/test_public_ip_billing_tracker.py +141 -0
- terradev_cli-5.7.2/tests/core/test_quick_start.py +65 -0
- terradev_cli-5.7.2/tests/core/test_quota_manager.py +48 -0
- terradev_cli-5.7.2/tests/core/test_rate_limiter.py +140 -0
- terradev_cli-5.7.2/tests/core/test_rust_telemetry.py +25 -0
- terradev_cli-5.7.2/tests/core/test_schedule.py +179 -0
- terradev_cli-5.7.2/tests/core/test_semantic_router.py +346 -0
- terradev_cli-5.7.2/tests/core/test_session_manager.py +95 -0
- terradev_cli-5.7.2/tests/core/test_ssh_key_manager.py +57 -0
- terradev_cli-5.7.2/tests/core/test_telemetry.py +37 -0
- terradev_cli-5.7.2/tests/core/test_trace_viewer.py +127 -0
- terradev_cli-5.7.2/tests/core/test_user_manager.py +228 -0
- terradev_cli-5.7.2/tests/core/test_warm_pool_manager.py +188 -0
- terradev_cli-5.7.2/tests/core/test_weight_streaming_manager.py +155 -0
- terradev_cli-5.7.2/tests/ml_services/conftest.py +67 -0
- terradev_cli-5.7.2/tests/ml_services/test_ml_services_smoke.py +238 -0
- terradev_cli-5.7.2/tests/ml_services/test_phoenix_service.py +152 -0
- terradev_cli-5.7.2/tests/ml_services/test_qdrant_service.py +181 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/tests/root_tests/test_sso_phase1.py +31 -33
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/tests/root_tests/test_vllm_optimization.py +12 -19
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/tests/simple_test.py +3 -0
- terradev_cli-5.7.2/tests/test_commands_help.py +51 -0
- terradev_cli-5.7.2/tests/test_core_smoke.py +304 -0
- terradev_cli-5.7.2/tests/test_cost_optimizer.py +90 -0
- terradev_cli-5.7.2/tests/test_cuco_optimizer.py +93 -0
- terradev_cli-5.7.2/tests/test_datadog_integration.py +90 -0
- terradev_cli-5.7.2/tests/test_helicone_integration.py +129 -0
- terradev_cli-5.7.2/tests/test_hf_smart_templates.py +110 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/tests/test_integration.py +7 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/tests/test_k8s_regression.py +21 -6
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/tests/test_major_providers.py +4 -1
- terradev_cli-5.7.2/tests/test_mcp_all_tools.py +412 -0
- terradev_cli-5.7.2/tests/test_mcp_call_tool_compat.py +43 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/tests/test_mcp_chaos.py +2 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/tests/test_mcp_contract.py +2 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/tests/test_mcp_handlers.py +9 -3
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/tests/test_mcp_snapshots.py +2 -0
- terradev_cli-5.7.2/tests/test_module_imports.py +80 -0
- terradev_cli-5.7.2/tests/test_preflight_dataclasses.py +74 -0
- terradev_cli-5.7.2/tests/test_prometheus_integration.py +77 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/tests/test_provider_conformance.py +90 -31
- terradev_cli-5.7.2/tests/test_provider_smoke.py +191 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/tests/test_providers.py +2 -2
- terradev_cli-5.7.1/tests/test_dag_executor.py → terradev_cli-5.7.2/tests/test_root_dag_executor.py +1 -1
- terradev_cli-5.7.1/scripts/build_rust.sh +0 -59
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/.env.example +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/.github/workflows/action.yml +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/.github/workflows/publish-mcp.yml +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/.github/workflows/release.yml +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/.github/workflows/static.yml +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/.terradev/custom_providers.example.yaml +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/CLI_SPLIT_WORKPLAN.md +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/Deployment Package/BNF_GRAMMAR.md +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/Deployment Package/architecture.md +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/Deployment Package/overview.md +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/Deployment Package/security.md +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/Deployment Package/troubleshooting.md +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/Dockerfile +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/Dockerfile.test +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/LICENSE +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/MANIFEST.in +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/RELEASE_CHECKLIST.md +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/clusters/agentic-template/helm/values-agentic.yaml +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/clusters/agentic-template/k8s/fleet-manifests.yaml +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/clusters/glm-5/README.md +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/clusters/glm-5/helm/values-glm5.yaml +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/clusters/glm-5/k8s/hpa.yaml +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/clusters/glm-5/k8s/model-cache-pvc.yaml +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/clusters/glm-5/k8s/namespace.yaml +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/clusters/glm-5/k8s/pdb.yaml +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/clusters/glm-5/k8s/service.yaml +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/clusters/glm-5/k8s/sglang-deployment.yaml +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/clusters/glm-5/k8s/vllm-deployment.yaml +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/clusters/glm-5/task.yaml +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/clusters/glm-5/terraform/main.tf +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/clusters/glm-5/terraform/outputs.tf +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/clusters/glm-5/terraform/variables.tf +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/clusters/llmd-template/README.md +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/clusters/llmd-template/helm/values-llmd.yaml +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/clusters/llmd-template/k8s/gateway.yaml +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/clusters/llmd-template/k8s/leaderworkerset.yaml +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/clusters/llmd-template/k8s/llminferenceservice.yaml +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/clusters/llmd-template/task.yaml +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/clusters/lora-template/helm/Chart.yaml +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/clusters/lora-template/helm/templates/_helpers.tpl +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/clusters/lora-template/helm/templates/deployment.yaml +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/clusters/lora-template/helm/templates/pvc-adapter.yaml +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/clusters/lora-template/helm/templates/pvc-registry.yaml +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/clusters/lora-template/helm/templates/service.yaml +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/clusters/lora-template/helm/templates/serviceaccount.yaml +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/clusters/lora-template/helm/values-lora.yaml +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/clusters/lora-template/k8s/adapter-pvc.yaml +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/clusters/lora-template/k8s/deployment.yaml +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/clusters/lora-template/k8s/namespace.yaml +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/clusters/lora-template/k8s/registry-pvc.yaml +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/clusters/lora-template/k8s/service.yaml +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/clusters/lora-template/k8s/serviceaccount.yaml +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/clusters/lorax-template/helm/Chart.yaml +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/clusters/lorax-template/helm/templates/_helpers.tpl +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/clusters/lorax-template/helm/templates/deployment.yaml +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/clusters/lorax-template/helm/templates/pvc.yaml +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/clusters/lorax-template/helm/templates/service.yaml +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/clusters/lorax-template/helm/templates/serviceaccount.yaml +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/clusters/lorax-template/helm/values-lorax.yaml +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/clusters/moe-template/README.md +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/clusters/moe-template/helm/values-moe.yaml +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/clusters/moe-template/k8s/deployment.yaml +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/clusters/moe-template/k8s/hpa.yaml +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/clusters/moe-template/k8s/model-cache-pvc.yaml +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/clusters/moe-template/k8s/namespace.yaml +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/clusters/moe-template/k8s/pdb.yaml +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/clusters/moe-template/k8s/service.yaml +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/clusters/moe-template/task.yaml +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/clusters/moe-template/terraform/main.tf +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/clusters/moe-template/terraform/outputs.tf +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/clusters/moe-template/terraform/variables.tf +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/clusters/rag-template/README.md +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/clusters/rag-template/helm/values-rag.yaml +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/clusters/rag-template/k8s/deployment.yaml +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/clusters/rag-template/terraform/main.tf +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/demo/RECORDING_GUIDE.md +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/demo/generate_gif.py +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/demo/terradev-demo.gif +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/docs/ADVANCED_FINANCIAL_INNOVATIONS.md +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/docs/API_DOCUMENTATION.md +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/docs/BingSiteAuth.xml +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/docs/FINOPS_ATTRIBUTION_SYSTEM.md +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/docs/LORA_COMMAND_LIFECYCLE.md +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/docs/USER_GUIDE.md +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/docs/VLLM_AUTO_OPTIMIZATION_GUIDE.md +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/docs/VLLM_OPTIMIZATION_GUIDE.md +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/docs/architecture.md +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/docs/index.html +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/docs/overview.md +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/docs/robots.txt +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/docs/sitemap.xml +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/docs/test_spot_provision.md +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/examples/aws_ssm_starter.py +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/examples/config.example.json +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/examples/demo_k8s_config.yaml +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/examples/direct_aws_starter.py +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/examples/ec2_user_data_starter.py +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/examples/example-pipeline.yaml +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/examples/kubernetes_training_deployment.yaml +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/examples/simple_ssm_starter.py +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/examples/ssh_server_starter.py +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/examples/start_aws_servers.py +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/helm/terradev/Chart.yaml +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/helm/terradev/templates/_helpers.tpl +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/helm/terradev/templates/deployment.yaml +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/helm/terradev/values.yaml +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/infrastructure/bucket-policy.json +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/infrastructure/grafana_training_dashboard.json +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/infrastructure/kubernetes/microservices.yaml +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/infrastructure/terraform/main.tf +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/infrastructure/terraform/parallelism.tf +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/integrations/cli-tool.tf +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/integrations/cloud-management-widgets.tf +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/integrations/cloud-provider-apis.py +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/integrations/critical-widgets.tf +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/integrations/devops-cicd-widgets.tf +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/integrations/devops-essential-tools.tf +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/integrations/docker-integration.tf +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/integrations/kubernetes-operator.tf +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/integrations/mlflow-integration.tf +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/marketing/bare-metal-latitude-post.md +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/modules/datadog/README.md +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/modules/datadog/dashboard.tf +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/modules/datadog/monitors.tf +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/modules/datadog/outputs.tf +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/modules/datadog/provider.tf +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/modules/datadog/variables.tf +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/modules/datadog/versions.tf +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/modules/prometheus_training_config.yml +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/rust/Cargo.toml +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/rust/INTEGRATION_GUIDE.md +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/rust/PERFORMANCE_OPTIMIZATIONS.md +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/rust/README.md +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/rust/terradev-artifact-verification/Cargo.toml +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/rust/terradev-artifact-verification/src/lib.rs +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/rust/terradev-artifact-verification/src/types.rs +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/rust/terradev-artifact-verification/src/verifier.rs +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/rust/terradev-authentication/Cargo.toml +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/rust/terradev-authentication/src/encoding.rs +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/rust/terradev-authentication/src/hmac.rs +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/rust/terradev-authentication/src/lib.rs +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/rust/terradev-authentication/src/types.rs +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/rust/terradev-cache-eviction/Cargo.toml +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/rust/terradev-cache-eviction/src/cache.rs +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/rust/terradev-cache-eviction/src/lib.rs +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/rust/terradev-cache-eviction/src/types.rs +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/rust/terradev-command-executor/Cargo.toml +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/rust/terradev-command-executor/src/lib.rs +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/rust/terradev-config-validator/Cargo.toml +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/rust/terradev-config-validator/src/lib.rs +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/rust/terradev-config-validator/src/types.rs +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/rust/terradev-config-validator/src/validator.rs +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/rust/terradev-connection-pool/Cargo.toml +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/rust/terradev-connection-pool/src/lib.rs +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/rust/terradev-connection-pool/src/pool.rs +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/rust/terradev-connection-pool/src/types.rs +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/rust/terradev-cost-calculator/Cargo.toml +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/rust/terradev-cost-calculator/src/calculator.rs +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/rust/terradev-cost-calculator/src/lib.rs +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/rust/terradev-cost-calculator/src/types.rs +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/rust/terradev-cost-scaler/Cargo.toml +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/rust/terradev-cost-scaler/src/lib.rs +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/rust/terradev-credential-vault/Cargo.toml +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/rust/terradev-credential-vault/pyproject.toml +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/rust/terradev-credential-vault/src/lib.rs +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/rust/terradev-credential-vault/src/types.rs +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/rust/terradev-credential-vault/src/vault.rs +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/rust/terradev-dag-executor/Cargo.toml +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/rust/terradev-dag-executor/pyproject.toml +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/rust/terradev-dag-executor/src/lib.rs +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/rust/terradev-distributed-lock/Cargo.toml +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/rust/terradev-distributed-lock/src/lib.rs +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/rust/terradev-distributed-lock/src/lock.rs +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/rust/terradev-distributed-lock/src/types.rs +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/rust/terradev-egress-optimizer/Cargo.toml +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/rust/terradev-egress-optimizer/src/graph.rs +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/rust/terradev-egress-optimizer/src/lib.rs +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/rust/terradev-egress-optimizer/src/types.rs +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/rust/terradev-event-bus/Cargo.toml +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/rust/terradev-event-bus/src/bus.rs +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/rust/terradev-event-bus/src/lib.rs +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/rust/terradev-event-bus/src/types.rs +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/rust/terradev-governance/Cargo.toml +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/rust/terradev-governance/src/lib.rs +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/rust/terradev-gpu-discovery/Cargo.toml +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/rust/terradev-gpu-discovery/src/lib.rs +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/rust/terradev-gpu-topology/Cargo.toml +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/rust/terradev-gpu-topology/pyproject.toml +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/rust/terradev-gpu-topology/src/lib.rs +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/rust/terradev-gpu-topology/src/topology.rs +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/rust/terradev-gpu-topology/src/types.rs +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/rust/terradev-helm-generator/Cargo.toml +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/rust/terradev-helm-generator/src/lib.rs +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/rust/terradev-mcp-codec/Cargo.toml +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/rust/terradev-mcp-codec/src/lib.rs +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/rust/terradev-mcp-optimizer/Cargo.toml +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/rust/terradev-mcp-optimizer/src/lib.rs +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/rust/terradev-price-intelligence/Cargo.toml +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/rust/terradev-price-intelligence/src/lib.rs +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/rust/terradev-quota-manager/Cargo.toml +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/rust/terradev-quota-manager/src/lib.rs +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/rust/terradev-quota-manager/src/manager.rs +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/rust/terradev-quota-manager/src/types.rs +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/rust/terradev-resource-pool/Cargo.toml +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/rust/terradev-resource-pool/src/lib.rs +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/rust/terradev-resource-pool/src/pool.rs +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/rust/terradev-resource-pool/src/types.rs +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/rust/terradev-result-compressor/Cargo.toml +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/rust/terradev-result-compressor/src/lib.rs +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/rust/terradev-semantic-router/Cargo.toml +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/rust/terradev-semantic-router/pyproject.toml +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/rust/terradev-semantic-router/src/lib.rs +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/rust/terradev-snapshot-manager/Cargo.toml +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/rust/terradev-snapshot-manager/src/lib.rs +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/rust/terradev-snapshot-manager/src/snapshot.rs +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/rust/terradev-snapshot-manager/src/types.rs +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/rust/terradev-state-machine/Cargo.toml +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/rust/terradev-state-machine/src/lib.rs +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/rust/terradev-state-machine/src/state.rs +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/rust/terradev-state-machine/src/types.rs +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/rust/terradev-telemetry/Cargo.toml +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/rust/terradev-telemetry/src/lib.rs +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/rust/terradev-telemetry/src/pipeline.rs +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/rust/terradev-telemetry/src/types.rs +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/rust/terradev-tool-registry/Cargo.toml +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/rust/terradev-tool-registry/src/lib.rs +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/rust/terradev-vram-estimator/Cargo.toml +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/rust/terradev-vram-estimator/src/estimator.rs +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/rust/terradev-vram-estimator/src/lib.rs +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/rust/terradev-vram-estimator/src/types.rs +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/rust/terradev-warm-pool/Cargo.toml +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/rust/terradev-warm-pool/src/lib.rs +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/scripts/action.py +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/scripts/gpu-check.sh +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/server.json +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/setup/Lambda Cloud API spec 1.8.3.json +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/setup/docker-compose.yml +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/setup/nginx.conf +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/setup/setup.sh +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/setup.cfg +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/terradev_cli/COMPLETE_INTEGRATION_GUIDE.md +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/terradev_cli/IMPLEMENTATION_SUMMARY.md +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/terradev_cli/MAKING_SPOT_WORK_FOR_STATEFUL_WORKLOADS.md +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/terradev_cli/SGLANG_COMMAND_GUIDE.md +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/terradev_cli/TERRADEV_STACK_CHART.md +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/terradev_cli/__main__.py +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/terradev_cli/cli_hf_spaces.py +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/terradev_cli/cli_karpenter.py +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/terradev_cli/commands/__init__.py +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/terradev_cli/commands/_api.py +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/terradev_cli/commands/compute.py +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/terradev_cli/commands/inference.py +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/terradev_cli/commands/infrastructure.py +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/terradev_cli/commands/k8s.py +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/terradev_cli/commands/platform.py +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/terradev_cli/commands/providers.py +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/terradev_cli/commands/training.py +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/terradev_cli/core/__init__.py +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/terradev_cli/core/agentic_provisioner.py +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/terradev_cli/core/agentic_topology.py +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/terradev_cli/core/async_config.py +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/terradev_cli/core/auth.py +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/terradev_cli/core/auto_lineage.py +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/terradev_cli/core/cache_manager.py +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/terradev_cli/core/checkpoint_manager.py +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/terradev_cli/core/command_executor.py +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/terradev_cli/core/config.py +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/terradev_cli/core/config_validator.py +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/terradev_cli/core/cost_scaler.py +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/terradev_cli/core/cuda_graph_integrator.py +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/terradev_cli/core/data_governance.py +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/terradev_cli/core/database_connection.py +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/terradev_cli/core/dataset_stager.py +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/terradev_cli/core/distributed_lock.py +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/terradev_cli/core/egress_cost_monitor.py +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/terradev_cli/core/evaluation_orchestrator.py +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/terradev_cli/core/gateway_service.py +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/terradev_cli/core/gitops_manager.py +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/terradev_cli/core/gpu_discovery.py +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/terradev_cli/core/gpu_topology.py +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/terradev_cli/core/helm_generator.py +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/terradev_cli/core/hf_cli_integration.py +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/terradev_cli/core/hf_smart_templates.py +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/terradev_cli/core/hf_spaces.py +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/terradev_cli/core/inference_router.py +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/terradev_cli/core/kv_cache_checkpoint_manager.py +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/terradev_cli/core/kv_cache_checkpoint_tests.py +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/terradev_cli/core/kv_sharing.py +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/terradev_cli/core/lora_consistency.py +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/terradev_cli/core/lora_cost_attribution.py +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/terradev_cli/core/lora_versioning.py +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/terradev_cli/core/manifest_example.json +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/terradev_cli/core/mig_manager.py +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/terradev_cli/core/mla_vram_estimator.py +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/terradev_cli/core/mla_vram_tests.py +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/terradev_cli/core/model_orchestrator.py +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/terradev_cli/core/monitoring.py +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/terradev_cli/core/oidc_provider.py +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/terradev_cli/core/parallel_provisioner.py +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/terradev_cli/core/pd_transport.py +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/terradev_cli/core/pipeline_schema.py +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/terradev_cli/core/preflight_validator.py +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/terradev_cli/core/price_discovery.py +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/terradev_cli/core/public_ip_billing_tracker.py +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/terradev_cli/core/quota_manager.py +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/terradev_cli/core/rust_telemetry.py +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/terradev_cli/core/semantic_router.py +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/terradev_cli/core/semantic_signals/__init__.py +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/terradev_cli/core/semantic_signals/base_signal.py +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/terradev_cli/core/semantic_signals/complexity_signal.py +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/terradev_cli/core/semantic_signals/domain_signal.py +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/terradev_cli/core/semantic_signals/keyword_signal.py +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/terradev_cli/core/semantic_signals/language_signal.py +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/terradev_cli/core/semantic_signals/modality_signal.py +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/terradev_cli/core/semantic_signals/orchestrator.py +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/terradev_cli/core/semantic_signals/routing_policy.yaml +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/terradev_cli/core/semantic_signals/safety_signal.py +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/terradev_cli/core/session_manager.py +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/terradev_cli/core/ssh_key_manager.py +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/terradev_cli/core/telemetry.py +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/terradev_cli/core/terradev_engine.py +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/terradev_cli/core/trace_viewer.py +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/terradev_cli/core/training_monitor.py +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/terradev_cli/core/training_orchestrator.py +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/terradev_cli/core/warm_pool_manager.py +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/terradev_cli/core/weight_streaming_benchmarks.py +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/terradev_cli/credential_prompt.py +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/terradev_cli/demo.py +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/terradev_cli/entry_point.py +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/terradev_cli/integrations/Terradev LOGO BLACK.png +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/terradev_cli/integrations/Terradev LOGO WHITEW.png +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/terradev_cli/integrations/__init__.py +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/terradev_cli/integrations/databricks_integration.py +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/terradev_cli/integrations/datadog_integration.py +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/terradev_cli/integrations/prometheus_integration.py +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/terradev_cli/integrations/wandb_integration.py +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/terradev_cli/k8s/terraform_wrapper.py +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/terradev_cli/kubernetes/inferx-cost-optimized.yaml +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/terradev_cli/kubernetes/inferx-infrastructure.yaml +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/terradev_cli/kubernetes/inferx-models.yaml +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/terradev_cli/kubernetes/inferx-platform.yaml +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/terradev_cli/kubernetes/inferx_setup.py +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/terradev_cli/mcp/__init__.py +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/terradev_cli/mcp/new_feature_tools.py +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/terradev_cli/ml_services/__init__.py +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/terradev_cli/ml_services/agentic_serving.py +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/terradev_cli/ml_services/drift_retrain_service.py +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/terradev_cli/ml_services/dvc_service.py +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/terradev_cli/ml_services/guardrails_service.py +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/terradev_cli/ml_services/huggingface_service.py +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/terradev_cli/ml_services/kserve_service.py +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/terradev_cli/ml_services/kubernetes_enhanced.py +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/terradev_cli/ml_services/kubernetes_service.py +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/terradev_cli/ml_services/langchain_service.py +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/terradev_cli/ml_services/langfuse_service.py +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/terradev_cli/ml_services/langgraph_service.py +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/terradev_cli/ml_services/lmcache_service.py +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/terradev_cli/ml_services/lorax_service.py +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/terradev_cli/ml_services/model_router.py +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/terradev_cli/ml_services/ollama_service.py +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/terradev_cli/ml_services/peft_import_service.py +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/terradev_cli/ml_services/phoenix_service.py +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/terradev_cli/ml_services/qdrant_service.py +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/terradev_cli/ml_services/ray_enhanced.py +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/terradev_cli/ml_services/ray_service.py +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/terradev_cli/ml_services/sglang_service.py +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/terradev_cli/ml_services/vllm_service.py +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/terradev_cli/ml_services/wandb_enhanced.py +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/terradev_cli/optimization/__init__.py +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/terradev_cli/optimization/auto_optimizer.py +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/terradev_cli/optimization/cuco_optimizer.py +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/terradev_cli/providers/LATITUDE_PROVIDER.md +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/terradev_cli/providers/__init__.py +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/terradev_cli/providers/alibaba_provider.py +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/terradev_cli/providers/azure_provider.py +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/terradev_cli/providers/base_provider.py +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/terradev_cli/providers/baseten_provider.py +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/terradev_cli/providers/coreweave_provider.py +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/terradev_cli/providers/crusoe_provider.py +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/terradev_cli/providers/digitalocean_provider.py +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/terradev_cli/providers/e2e_networks_provider.py +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/terradev_cli/providers/fluidstack_provider.py +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/terradev_cli/providers/gcp_provider.py +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/terradev_cli/providers/gpu_catalog.py +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/terradev_cli/providers/hetzner_provider.py +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/terradev_cli/providers/huggingface_provider.py +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/terradev_cli/providers/hyperstack_provider.py +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/terradev_cli/providers/latitude_provider.py +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/terradev_cli/providers/oracle_provider.py +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/terradev_cli/providers/ovhcloud_provider.py +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/terradev_cli/providers/provider_profiles.py +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/terradev_cli/providers/real_pricing.py +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/terradev_cli/providers/registry.py +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/terradev_cli/providers/runpod_provider.py +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/terradev_cli/providers/siliconflow_provider.py +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/terradev_cli/providers/tensordock_provider.py +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/terradev_cli/providers/types.py +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/terradev_cli/providers/vastai_provider.py +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/terradev_cli/providers/yottalabs_provider.py +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/terradev_cli/requirements.txt +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/terradev_cli/requirements_minimal.txt +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/terradev_cli/terraform/main.tf +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/terradev_cli/terraform/modules/__init__.py +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/terradev_cli/terraform/modules/gpu-node-aws/bootstrap.sh +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/terradev_cli/terraform/modules/gpu-node-aws/main.tf +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/terradev_cli/terraform/modules/gpu-node-aws/outputs.tf +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/terradev_cli/terraform/modules/gpu-node-aws/variables.tf +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/terradev_cli/terraform/modules/gpu-node-aws/versions.tf +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/terradev_cli/terraform/modules/gpu-node-hyperstack/bootstrap.sh +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/terradev_cli/terraform/modules/gpu-node-hyperstack/main.tf +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/terradev_cli/terraform/modules/gpu-node-hyperstack/outputs.tf +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/terradev_cli/terraform/modules/gpu-node-hyperstack/variables.tf +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/terradev_cli/terraform/modules/gpu-node-hyperstack/versions.tf +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/terradev_cli/terraform/modules/gpu-node-lambda/bootstrap.sh +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/terradev_cli/terraform/modules/gpu-node-lambda/main.tf +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/terradev_cli/terraform/modules/gpu-node-lambda/outputs.tf +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/terradev_cli/terraform/modules/gpu-node-lambda/variables.tf +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/terradev_cli/terraform/modules/gpu-node-lambda/versions.tf +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/terradev_cli/terraform/modules/gpu-node-vastai/bootstrap.sh +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/terradev_cli/terraform/modules/gpu-node-vastai/main.tf +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/terradev_cli/terraform/modules/gpu-node-vastai/outputs.tf +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/terradev_cli/terraform/modules/gpu-node-vastai/variables.tf +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/terradev_cli/terraform/modules/gpu-node-vastai/versions.tf +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/terradev_cli/terraform/modules/k8s-control-plane/join-script.tpl +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/terradev_cli/terraform/modules/k8s-control-plane/kubeconfig.tpl +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/terradev_cli/terraform/modules/k8s-control-plane/main.tf +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/terradev_cli/terraform/modules/k8s-control-plane/outputs.tf +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/terradev_cli/terraform/modules/k8s-control-plane/variables.tf +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/terradev_cli/terraform/modules/k8s-control-plane/versions.tf +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/terradev_cli/terraform/modules/networking/main.tf +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/terradev_cli/terraform/modules/networking/outputs.tf +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/terradev_cli/terraform/modules/networking/variables.tf +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/terradev_cli/terraform/modules/networking/versions.tf +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/terradev_cli/terraform/outputs.tf +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/terradev_cli/terraform/price-optimizer/optimal-allocation.py +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/terradev_cli/terraform/providers.tf +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/terradev_cli/terraform/variables.tf +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/terradev_cli/test_summary.py +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/terradev_cli/utils/__init__.py +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/terradev_cli/utils/formatters.py +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/terradev_cli.egg-info/dependency_links.txt +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/terradev_cli.egg-info/entry_points.txt +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/terradev_cli.egg-info/top_level.txt +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/terraform.tfvars.example +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/terraform_optimization/backend.tf +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/terraform_optimization/error_handling.py +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/terraform_optimization/parallel_provisioning.tf +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/terraform_optimization/storage_choice_matrix.py +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/terraform_optimization/test_error_handler.py +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/terraform_optimization/versions.tf +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/terraform_transparency/audit_demo/trail_3caed73ad5bf.json +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/terraform_transparency/audit_trail.py +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/terraform_transparency/audit_trails.json +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/terraform_transparency/decision_engine.py +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/terraform_transparency/decision_logs.json +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/terraform_transparency/operations.json +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/terraform_transparency/terraform_manager.py +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/terraform_transparency/terraform_plans.json +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/terraform_transparency/transparency_demo.py +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/terraform_transparency/transparency_report.json +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/test_database_connection.py +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/tests/CREDENTIAL_STRATEGY.md +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/tests/INTEGRATION_STRATEGY.md +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/tests/Makefile +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/tests/ci_pipeline.py +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/tests/commands/conftest.py +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/tests/commands/test_commands_compute.py +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/tests/commands/test_commands_inference.py +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/tests/commands/test_commands_infrastructure.py +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/tests/commands/test_commands_k8s.py +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/tests/commands/test_commands_platform.py +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/tests/commands/test_commands_providers.py +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/tests/root_tests/test_cli_ux_battle.py +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/tests/root_tests/test_cli_ux_battle_fixed.py +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/tests/root_tests/test_cli_ux_final.py +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/tests/root_tests/test_final_integration.py +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/tests/root_tests/test_integrated_optimization.py +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/tests/root_tests/test_p10_production_failover.py +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/tests/snapshots/mcp_tools.json +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/tests/test_ai_integrations.py +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/tests/test_base_provider.py +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/tests/test_checkpoint_manager.py +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/tests/test_cli_commands.py +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/tests/test_cli_smoke.py +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/tests/test_cli_utils.py +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/tests/test_core_components.py +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/tests/test_demo_mode.py +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/tests/test_flashoptim.py +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/tests/test_formatters.py +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/tests/test_gpu_catalog.py +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/tests/test_latitude_provider.py +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/tests/test_mcp_server.py +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/tests/test_ml_integrations.py +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/tests/test_new_providers.py +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/tests/test_provider_profiles.py +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/tests/test_real_pricing.py +0 -0
- /terradev_cli-5.7.1/tests/test_job_state_manager.py → /terradev_cli-5.7.2/tests/test_root_job_state_manager.py +0 -0
- /terradev_cli-5.7.1/tests/test_provider_factory.py → /terradev_cli-5.7.2/tests/test_root_provider_factory.py +0 -0
- /terradev_cli-5.7.1/tests/test_semantic_router.py → /terradev_cli-5.7.2/tests/test_root_semantic_router.py +0 -0
- /terradev_cli-5.7.1/tests/test_session_manager.py → /terradev_cli-5.7.2/tests/test_root_session_manager.py +0 -0
- /terradev_cli-5.7.1/tests/test_ssh_key_manager.py → /terradev_cli-5.7.2/tests/test_root_ssh_key_manager.py +0 -0
- /terradev_cli-5.7.1/tests/test_trace_viewer.py → /terradev_cli-5.7.2/tests/test_root_trace_viewer.py +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/tests/test_sglang_optimization.py +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/tests/test_terradev_engine.py +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/tests/test_training_monitor.py +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/tests/test_training_orchestrator.py +0 -0
- {terradev_cli-5.7.1 → terradev_cli-5.7.2}/tests/test_vllm_features.py +0 -0
|
@@ -22,7 +22,7 @@ concurrency:
|
|
|
22
22
|
cancel-in-progress: true
|
|
23
23
|
|
|
24
24
|
env:
|
|
25
|
-
COVERAGE_THRESHOLD:
|
|
25
|
+
COVERAGE_THRESHOLD: 30
|
|
26
26
|
PYTHONUNBUFFERED: 1
|
|
27
27
|
|
|
28
28
|
jobs:
|
|
@@ -105,14 +105,7 @@ jobs:
|
|
|
105
105
|
run: bash scripts/build_rust.sh --dev
|
|
106
106
|
|
|
107
107
|
- name: Verify imports
|
|
108
|
-
run:
|
|
109
|
-
python -c "
|
|
110
|
-
import terradev_dag_executor
|
|
111
|
-
import terradev_credential_vault
|
|
112
|
-
import terradev_gpu_topology
|
|
113
|
-
import terradev_semantic_router
|
|
114
|
-
print('All Rust extensions imported successfully')
|
|
115
|
-
"
|
|
108
|
+
run: python -c "import terradev_dag_executor; import terradev_credential_vault; import terradev_gpu_topology; import terradev_semantic_router; print('All Rust extensions imported successfully')"
|
|
116
109
|
|
|
117
110
|
# === Unit Tests (Linux) ===
|
|
118
111
|
test-linux:
|
|
@@ -130,7 +130,7 @@ jobs:
|
|
|
130
130
|
|
|
131
131
|
- name: Run unit tests with coverage
|
|
132
132
|
run: |
|
|
133
|
-
pytest tests/ -v --tb=short --cov=terradev_cli --cov-report=xml --cov-report=html --cov-fail-under=
|
|
133
|
+
pytest tests/ -v --tb=short --cov=terradev_cli --cov-report=xml --cov-report=html --cov-fail-under=30 --ignore=tests/test_mcp_handlers.py -n auto
|
|
134
134
|
|
|
135
135
|
- name: Upload coverage to Codecov
|
|
136
136
|
uses: codecov/codecov-action@v4
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: terradev-cli
|
|
3
|
-
Version: 5.7.
|
|
4
|
-
Summary:
|
|
3
|
+
Version: 5.7.2
|
|
4
|
+
Summary: Cross-cloud GPU infrastructure CLI for training, inference, and AI workload orchestration.
|
|
5
5
|
Author-email: Terradev Team <team@terradev.com>
|
|
6
6
|
Maintainer-email: Terradev Team <team@terradev.com>
|
|
7
7
|
License: Apache-2.0
|
|
@@ -19,6 +19,7 @@ Classifier: Topic :: System :: Systems Administration
|
|
|
19
19
|
Classifier: Topic :: Internet :: WWW/HTTP :: Dynamic Content
|
|
20
20
|
Classifier: License :: OSI Approved :: Apache Software License
|
|
21
21
|
Classifier: Programming Language :: Python :: 3
|
|
22
|
+
Classifier: Programming Language :: Python :: 3.9
|
|
22
23
|
Classifier: Programming Language :: Python :: 3.10
|
|
23
24
|
Classifier: Programming Language :: Python :: 3.11
|
|
24
25
|
Classifier: Programming Language :: Python :: 3.12
|
|
@@ -26,13 +27,15 @@ Classifier: Programming Language :: Python :: 3.13
|
|
|
26
27
|
Classifier: Operating System :: OS Independent
|
|
27
28
|
Classifier: Environment :: Console
|
|
28
29
|
Classifier: Natural Language :: English
|
|
29
|
-
Requires-Python: >=3.
|
|
30
|
+
Requires-Python: >=3.9
|
|
30
31
|
Description-Content-Type: text/markdown
|
|
31
32
|
License-File: LICENSE
|
|
32
33
|
Requires-Dist: click>=8.0.0
|
|
33
34
|
Requires-Dist: aiohttp>=3.10.0
|
|
35
|
+
Requires-Dist: aiofiles>=0.8.0
|
|
34
36
|
Requires-Dist: pyyaml>=6.0
|
|
35
37
|
Requires-Dist: cryptography>=41.0.0
|
|
38
|
+
Requires-Dist: msgpack>=1.0.0
|
|
36
39
|
Requires-Dist: requests>=2.31.0
|
|
37
40
|
Requires-Dist: plotly>=5.0.0
|
|
38
41
|
Requires-Dist: pandas>=2.0.0
|
|
@@ -40,7 +43,7 @@ Requires-Dist: numpy>=1.24.0
|
|
|
40
43
|
Requires-Dist: huggingface-hub>=0.24.0
|
|
41
44
|
Requires-Dist: fastapi>=0.104.0
|
|
42
45
|
Requires-Dist: uvicorn>=0.24.0
|
|
43
|
-
Requires-Dist: mcp[cli]
|
|
46
|
+
Requires-Dist: mcp[cli]<2.0.0,>=1.0.0; python_version >= "3.10"
|
|
44
47
|
Provides-Extra: aws
|
|
45
48
|
Requires-Dist: boto3>=1.34.0; extra == "aws"
|
|
46
49
|
Provides-Extra: gcp
|
|
@@ -52,7 +55,7 @@ Provides-Extra: lmcache
|
|
|
52
55
|
Requires-Dist: lmcache>=0.1; extra == "lmcache"
|
|
53
56
|
Requires-Dist: redis>=5.0.0; extra == "lmcache"
|
|
54
57
|
Provides-Extra: mcp
|
|
55
|
-
Requires-Dist: mcp[cli]
|
|
58
|
+
Requires-Dist: mcp[cli]<2.0.0,>=1.0.0; python_version >= "3.10" and extra == "mcp"
|
|
56
59
|
Provides-Extra: ml
|
|
57
60
|
Requires-Dist: torch>=2.0.0; extra == "ml"
|
|
58
61
|
Requires-Dist: transformers>=4.0.0; extra == "ml"
|
|
@@ -78,6 +81,7 @@ Requires-Dist: lmcache>=0.1; extra == "all"
|
|
|
78
81
|
Requires-Dist: redis>=5.0.0; extra == "all"
|
|
79
82
|
Provides-Extra: hf
|
|
80
83
|
Requires-Dist: aiohttp>=3.10.0; extra == "hf"
|
|
84
|
+
Requires-Dist: aiofiles>=0.8.0; extra == "hf"
|
|
81
85
|
Requires-Dist: huggingface-hub>=0.24.0; extra == "hf"
|
|
82
86
|
Requires-Dist: gradio>=4.0.0; extra == "hf"
|
|
83
87
|
Requires-Dist: streamlit>=1.28.0; extra == "hf"
|
|
@@ -102,9 +106,9 @@ Requires-Dist: redis>=5.0.0; extra == "enterprise"
|
|
|
102
106
|
Requires-Dist: PyJWT>=2.8.0; extra == "enterprise"
|
|
103
107
|
Dynamic: license-file
|
|
104
108
|
|
|
105
|
-
# Terradev CLI v5.7.
|
|
109
|
+
# Terradev CLI v5.7.2
|
|
106
110
|
|
|
107
|
-
**
|
|
111
|
+
**Cross-cloud GPU infrastructure CLI for training, inference, and AI workload orchestration.**
|
|
108
112
|
|
|
109
113
|

|
|
110
114
|
|
|
@@ -121,6 +125,12 @@ Continued focus on lower cost, faster provisioning, and topology-aware execution
|
|
|
121
125
|
|
|
122
126
|
Model agnostic. Dataset agnostic. GPU agnostic. Provider agnostic. The only thing Terradev is not agnostic about is correctness: it enforces topology, idempotency, and sequencing.
|
|
123
127
|
|
|
128
|
+
**NOTES ON 5.7.2**
|
|
129
|
+
|
|
130
|
+
- Expanded Python 3.9 support with a compatibility shim for the MCP SDK, plus bundled `EnterpriseAuthManager` and `SAMLProvider` scaffolding for enterprise SSO.
|
|
131
|
+
- Hardened the test suite: provider conformance, Kubernetes CPU parsing, and major-provider error paths are now fully exercised.
|
|
132
|
+
- Lowered `requires-python` to `>=3.9` and gated the `mcp` dependency on Python `>=3.10`.
|
|
133
|
+
|
|
124
134
|
**NOTES ON 5.6.1**
|
|
125
135
|
|
|
126
136
|
Added **Database Connection System** and **Unified Observability & Scheduling** commands:
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
# Terradev CLI v5.7.
|
|
1
|
+
# Terradev CLI v5.7.2
|
|
2
2
|
|
|
3
|
-
**
|
|
3
|
+
**Cross-cloud GPU infrastructure CLI for training, inference, and AI workload orchestration.**
|
|
4
4
|
|
|
5
5
|

|
|
6
6
|
|
|
@@ -17,6 +17,12 @@ Continued focus on lower cost, faster provisioning, and topology-aware execution
|
|
|
17
17
|
|
|
18
18
|
Model agnostic. Dataset agnostic. GPU agnostic. Provider agnostic. The only thing Terradev is not agnostic about is correctness: it enforces topology, idempotency, and sequencing.
|
|
19
19
|
|
|
20
|
+
**NOTES ON 5.7.2**
|
|
21
|
+
|
|
22
|
+
- Expanded Python 3.9 support with a compatibility shim for the MCP SDK, plus bundled `EnterpriseAuthManager` and `SAMLProvider` scaffolding for enterprise SSO.
|
|
23
|
+
- Hardened the test suite: provider conformance, Kubernetes CPU parsing, and major-provider error paths are now fully exercised.
|
|
24
|
+
- Lowered `requires-python` to `>=3.9` and gated the `mcp` dependency on Python `>=3.10`.
|
|
25
|
+
|
|
20
26
|
**NOTES ON 5.6.1**
|
|
21
27
|
|
|
22
28
|
Added **Database Connection System** and **Unified Observability & Scheduling** commands:
|
|
@@ -0,0 +1,377 @@
|
|
|
1
|
+
resource "datadog_dashboard_json" "terradev_gpu_finops" {
|
|
2
|
+
dashboard = jsonencode({
|
|
3
|
+
title = "Terradev GPU FinOps"
|
|
4
|
+
description = "Multi-cloud GPU cost intelligence — provisioned by Terradev"
|
|
5
|
+
layout_type = "ordered"
|
|
6
|
+
tags = ["terradev", "finops", "gpu"]
|
|
7
|
+
widgets = jsondecode(<<-EOT
|
|
8
|
+
[
|
|
9
|
+
{
|
|
10
|
+
"definition": {
|
|
11
|
+
"type": "query_value",
|
|
12
|
+
"title": "Hourly Spend",
|
|
13
|
+
"requests": [
|
|
14
|
+
{
|
|
15
|
+
"queries": [
|
|
16
|
+
{
|
|
17
|
+
"data_source": "metrics",
|
|
18
|
+
"name": "a",
|
|
19
|
+
"query": "sum:terradev.gpu.cost_per_hour{*}"
|
|
20
|
+
}
|
|
21
|
+
],
|
|
22
|
+
"formulas": [
|
|
23
|
+
{
|
|
24
|
+
"formula": "a"
|
|
25
|
+
}
|
|
26
|
+
],
|
|
27
|
+
"response_format": "scalar"
|
|
28
|
+
}
|
|
29
|
+
],
|
|
30
|
+
"custom_unit": "$/hr"
|
|
31
|
+
},
|
|
32
|
+
"layout": {
|
|
33
|
+
"x": 0,
|
|
34
|
+
"y": 0,
|
|
35
|
+
"width": 3,
|
|
36
|
+
"height": 2
|
|
37
|
+
}
|
|
38
|
+
},
|
|
39
|
+
{
|
|
40
|
+
"definition": {
|
|
41
|
+
"type": "query_value",
|
|
42
|
+
"title": "Monthly Projected",
|
|
43
|
+
"requests": [
|
|
44
|
+
{
|
|
45
|
+
"queries": [
|
|
46
|
+
{
|
|
47
|
+
"data_source": "metrics",
|
|
48
|
+
"name": "a",
|
|
49
|
+
"query": "avg:terradev.gpu.monthly_projected{*}"
|
|
50
|
+
}
|
|
51
|
+
],
|
|
52
|
+
"formulas": [
|
|
53
|
+
{
|
|
54
|
+
"formula": "a"
|
|
55
|
+
}
|
|
56
|
+
],
|
|
57
|
+
"response_format": "scalar"
|
|
58
|
+
}
|
|
59
|
+
],
|
|
60
|
+
"custom_unit": "$"
|
|
61
|
+
},
|
|
62
|
+
"layout": {
|
|
63
|
+
"x": 3,
|
|
64
|
+
"y": 0,
|
|
65
|
+
"width": 3,
|
|
66
|
+
"height": 2
|
|
67
|
+
}
|
|
68
|
+
},
|
|
69
|
+
{
|
|
70
|
+
"definition": {
|
|
71
|
+
"type": "query_value",
|
|
72
|
+
"title": "Active GPUs",
|
|
73
|
+
"requests": [
|
|
74
|
+
{
|
|
75
|
+
"queries": [
|
|
76
|
+
{
|
|
77
|
+
"data_source": "metrics",
|
|
78
|
+
"name": "a",
|
|
79
|
+
"query": "sum:terradev.provisions.active{*}"
|
|
80
|
+
}
|
|
81
|
+
],
|
|
82
|
+
"formulas": [
|
|
83
|
+
{
|
|
84
|
+
"formula": "a"
|
|
85
|
+
}
|
|
86
|
+
],
|
|
87
|
+
"response_format": "scalar"
|
|
88
|
+
}
|
|
89
|
+
]
|
|
90
|
+
},
|
|
91
|
+
"layout": {
|
|
92
|
+
"x": 6,
|
|
93
|
+
"y": 0,
|
|
94
|
+
"width": 3,
|
|
95
|
+
"height": 2
|
|
96
|
+
}
|
|
97
|
+
},
|
|
98
|
+
{
|
|
99
|
+
"definition": {
|
|
100
|
+
"type": "query_value",
|
|
101
|
+
"title": "Budget Used",
|
|
102
|
+
"requests": [
|
|
103
|
+
{
|
|
104
|
+
"queries": [
|
|
105
|
+
{
|
|
106
|
+
"data_source": "metrics",
|
|
107
|
+
"name": "a",
|
|
108
|
+
"query": "avg:terradev.gpu.budget_utilization{*}"
|
|
109
|
+
}
|
|
110
|
+
],
|
|
111
|
+
"formulas": [
|
|
112
|
+
{
|
|
113
|
+
"formula": "a"
|
|
114
|
+
}
|
|
115
|
+
],
|
|
116
|
+
"response_format": "scalar"
|
|
117
|
+
}
|
|
118
|
+
],
|
|
119
|
+
"custom_unit": "%",
|
|
120
|
+
"conditional_formats": [
|
|
121
|
+
{
|
|
122
|
+
"comparator": ">",
|
|
123
|
+
"value": 80,
|
|
124
|
+
"palette": "white_on_red"
|
|
125
|
+
},
|
|
126
|
+
{
|
|
127
|
+
"comparator": ">",
|
|
128
|
+
"value": 60,
|
|
129
|
+
"palette": "white_on_yellow"
|
|
130
|
+
},
|
|
131
|
+
{
|
|
132
|
+
"comparator": "<=",
|
|
133
|
+
"value": 60,
|
|
134
|
+
"palette": "white_on_green"
|
|
135
|
+
}
|
|
136
|
+
]
|
|
137
|
+
},
|
|
138
|
+
"layout": {
|
|
139
|
+
"x": 9,
|
|
140
|
+
"y": 0,
|
|
141
|
+
"width": 3,
|
|
142
|
+
"height": 2
|
|
143
|
+
}
|
|
144
|
+
},
|
|
145
|
+
{
|
|
146
|
+
"definition": {
|
|
147
|
+
"type": "timeseries",
|
|
148
|
+
"title": "GPU Cost/hr by Provider",
|
|
149
|
+
"requests": [
|
|
150
|
+
{
|
|
151
|
+
"queries": [
|
|
152
|
+
{
|
|
153
|
+
"data_source": "metrics",
|
|
154
|
+
"name": "a",
|
|
155
|
+
"query": "avg:terradev.gpu.cost_per_hour{*} by {provider}"
|
|
156
|
+
}
|
|
157
|
+
],
|
|
158
|
+
"formulas": [
|
|
159
|
+
{
|
|
160
|
+
"formula": "a"
|
|
161
|
+
}
|
|
162
|
+
],
|
|
163
|
+
"response_format": "timeseries",
|
|
164
|
+
"display_type": "bars"
|
|
165
|
+
}
|
|
166
|
+
]
|
|
167
|
+
},
|
|
168
|
+
"layout": {
|
|
169
|
+
"x": 0,
|
|
170
|
+
"y": 2,
|
|
171
|
+
"width": 6,
|
|
172
|
+
"height": 3
|
|
173
|
+
}
|
|
174
|
+
},
|
|
175
|
+
{
|
|
176
|
+
"definition": {
|
|
177
|
+
"type": "timeseries",
|
|
178
|
+
"title": "Quote Prices by GPU",
|
|
179
|
+
"requests": [
|
|
180
|
+
{
|
|
181
|
+
"queries": [
|
|
182
|
+
{
|
|
183
|
+
"data_source": "metrics",
|
|
184
|
+
"name": "a",
|
|
185
|
+
"query": "avg:terradev.price.quote{*} by {gpu_type,provider}"
|
|
186
|
+
}
|
|
187
|
+
],
|
|
188
|
+
"formulas": [
|
|
189
|
+
{
|
|
190
|
+
"formula": "a"
|
|
191
|
+
}
|
|
192
|
+
],
|
|
193
|
+
"response_format": "timeseries",
|
|
194
|
+
"display_type": "line"
|
|
195
|
+
}
|
|
196
|
+
]
|
|
197
|
+
},
|
|
198
|
+
"layout": {
|
|
199
|
+
"x": 6,
|
|
200
|
+
"y": 2,
|
|
201
|
+
"width": 6,
|
|
202
|
+
"height": 3
|
|
203
|
+
}
|
|
204
|
+
},
|
|
205
|
+
{
|
|
206
|
+
"definition": {
|
|
207
|
+
"type": "toplist",
|
|
208
|
+
"title": "Provider Reliability",
|
|
209
|
+
"requests": [
|
|
210
|
+
{
|
|
211
|
+
"queries": [
|
|
212
|
+
{
|
|
213
|
+
"data_source": "metrics",
|
|
214
|
+
"name": "a",
|
|
215
|
+
"query": "avg:terradev.provider.reliability{*} by {provider}"
|
|
216
|
+
}
|
|
217
|
+
],
|
|
218
|
+
"formulas": [
|
|
219
|
+
{
|
|
220
|
+
"formula": "a",
|
|
221
|
+
"limit": {
|
|
222
|
+
"count": 20,
|
|
223
|
+
"order": "desc"
|
|
224
|
+
}
|
|
225
|
+
}
|
|
226
|
+
],
|
|
227
|
+
"response_format": "scalar"
|
|
228
|
+
}
|
|
229
|
+
]
|
|
230
|
+
},
|
|
231
|
+
"layout": {
|
|
232
|
+
"x": 0,
|
|
233
|
+
"y": 5,
|
|
234
|
+
"width": 4,
|
|
235
|
+
"height": 3
|
|
236
|
+
}
|
|
237
|
+
},
|
|
238
|
+
{
|
|
239
|
+
"definition": {
|
|
240
|
+
"type": "timeseries",
|
|
241
|
+
"title": "Price Volatility",
|
|
242
|
+
"requests": [
|
|
243
|
+
{
|
|
244
|
+
"queries": [
|
|
245
|
+
{
|
|
246
|
+
"data_source": "metrics",
|
|
247
|
+
"name": "a",
|
|
248
|
+
"query": "avg:terradev.price.volatility{*} by {provider,gpu_type}"
|
|
249
|
+
}
|
|
250
|
+
],
|
|
251
|
+
"formulas": [
|
|
252
|
+
{
|
|
253
|
+
"formula": "a"
|
|
254
|
+
}
|
|
255
|
+
],
|
|
256
|
+
"response_format": "timeseries",
|
|
257
|
+
"display_type": "line"
|
|
258
|
+
}
|
|
259
|
+
]
|
|
260
|
+
},
|
|
261
|
+
"layout": {
|
|
262
|
+
"x": 4,
|
|
263
|
+
"y": 5,
|
|
264
|
+
"width": 4,
|
|
265
|
+
"height": 3
|
|
266
|
+
}
|
|
267
|
+
},
|
|
268
|
+
{
|
|
269
|
+
"definition": {
|
|
270
|
+
"type": "timeseries",
|
|
271
|
+
"title": "Quote API Latency",
|
|
272
|
+
"requests": [
|
|
273
|
+
{
|
|
274
|
+
"queries": [
|
|
275
|
+
{
|
|
276
|
+
"data_source": "metrics",
|
|
277
|
+
"name": "a",
|
|
278
|
+
"query": "avg:terradev.provider.latency_ms{*} by {provider}"
|
|
279
|
+
}
|
|
280
|
+
],
|
|
281
|
+
"formulas": [
|
|
282
|
+
{
|
|
283
|
+
"formula": "a"
|
|
284
|
+
}
|
|
285
|
+
],
|
|
286
|
+
"response_format": "timeseries",
|
|
287
|
+
"display_type": "line"
|
|
288
|
+
}
|
|
289
|
+
]
|
|
290
|
+
},
|
|
291
|
+
"layout": {
|
|
292
|
+
"x": 8,
|
|
293
|
+
"y": 5,
|
|
294
|
+
"width": 4,
|
|
295
|
+
"height": 3
|
|
296
|
+
}
|
|
297
|
+
},
|
|
298
|
+
{
|
|
299
|
+
"definition": {
|
|
300
|
+
"type": "timeseries",
|
|
301
|
+
"title": "Training GPU Util",
|
|
302
|
+
"requests": [
|
|
303
|
+
{
|
|
304
|
+
"queries": [
|
|
305
|
+
{
|
|
306
|
+
"data_source": "metrics",
|
|
307
|
+
"name": "a",
|
|
308
|
+
"query": "avg:terradev.training.gpu_util{*} by {job_id}"
|
|
309
|
+
}
|
|
310
|
+
],
|
|
311
|
+
"formulas": [
|
|
312
|
+
{
|
|
313
|
+
"formula": "a"
|
|
314
|
+
}
|
|
315
|
+
],
|
|
316
|
+
"response_format": "timeseries",
|
|
317
|
+
"display_type": "line"
|
|
318
|
+
}
|
|
319
|
+
]
|
|
320
|
+
},
|
|
321
|
+
"layout": {
|
|
322
|
+
"x": 0,
|
|
323
|
+
"y": 8,
|
|
324
|
+
"width": 6,
|
|
325
|
+
"height": 3
|
|
326
|
+
}
|
|
327
|
+
},
|
|
328
|
+
{
|
|
329
|
+
"definition": {
|
|
330
|
+
"type": "timeseries",
|
|
331
|
+
"title": "Egress Cost",
|
|
332
|
+
"requests": [
|
|
333
|
+
{
|
|
334
|
+
"queries": [
|
|
335
|
+
{
|
|
336
|
+
"data_source": "metrics",
|
|
337
|
+
"name": "a",
|
|
338
|
+
"query": "sum:terradev.egress.cost{*} by {src_provider,dst_provider}.as_count()"
|
|
339
|
+
}
|
|
340
|
+
],
|
|
341
|
+
"formulas": [
|
|
342
|
+
{
|
|
343
|
+
"formula": "a"
|
|
344
|
+
}
|
|
345
|
+
],
|
|
346
|
+
"response_format": "timeseries",
|
|
347
|
+
"display_type": "bars"
|
|
348
|
+
}
|
|
349
|
+
]
|
|
350
|
+
},
|
|
351
|
+
"layout": {
|
|
352
|
+
"x": 6,
|
|
353
|
+
"y": 8,
|
|
354
|
+
"width": 6,
|
|
355
|
+
"height": 3
|
|
356
|
+
}
|
|
357
|
+
},
|
|
358
|
+
{
|
|
359
|
+
"definition": {
|
|
360
|
+
"type": "event_stream",
|
|
361
|
+
"title": "Terradev Events",
|
|
362
|
+
"query": "source:terradev",
|
|
363
|
+
"tags_execution": "and",
|
|
364
|
+
"event_size": "l"
|
|
365
|
+
},
|
|
366
|
+
"layout": {
|
|
367
|
+
"x": 0,
|
|
368
|
+
"y": 11,
|
|
369
|
+
"width": 12,
|
|
370
|
+
"height": 3
|
|
371
|
+
}
|
|
372
|
+
}
|
|
373
|
+
]
|
|
374
|
+
EOT
|
|
375
|
+
)
|
|
376
|
+
})
|
|
377
|
+
}
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
resource "datadog_monitor" "terradev_budget_alert" {
|
|
2
|
+
name = "[Terradev] GPU Budget Alert"
|
|
3
|
+
type = "metric alert"
|
|
4
|
+
query = "avg(last_1h):avg:terradev.gpu.budget_utilization{*} > 80"
|
|
5
|
+
message = "GPU budget >80%. Current: {{value}}%\n\n- Switch to spot\n- Downsize idle GPUs\n- Shut idle instances\n\n@slack-terradev-alerts"
|
|
6
|
+
|
|
7
|
+
monitor_thresholds {
|
|
8
|
+
critical = 80
|
|
9
|
+
warning = 60
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
notify_no_data = false
|
|
13
|
+
tags = ["terradev", "finops", "budget"]
|
|
14
|
+
priority = 2
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
resource "datadog_monitor" "terradev_cost_spike" {
|
|
18
|
+
name = "[Terradev] GPU Cost Spike"
|
|
19
|
+
type = "metric alert"
|
|
20
|
+
query = "pct_change(avg(last_1h),last_4h):avg:terradev.gpu.cost_per_hour{*} > 50"
|
|
21
|
+
message = "GPU cost spiked >50% vs 4h baseline.\n\n- Unintended expensive provision?\n- Spot fallback?\n\n@slack-terradev-alerts"
|
|
22
|
+
|
|
23
|
+
monitor_thresholds {
|
|
24
|
+
critical = 50
|
|
25
|
+
warning = 25
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
notify_no_data = false
|
|
29
|
+
tags = ["terradev", "finops", "cost-spike"]
|
|
30
|
+
priority = 2
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
resource "datadog_monitor" "terradev_idle_gpu" {
|
|
34
|
+
name = "[Terradev] Idle GPU Detection"
|
|
35
|
+
type = "metric alert"
|
|
36
|
+
query = "avg(last_30m):avg:terradev.training.gpu_util{*} by {instance_id} < 10"
|
|
37
|
+
message = "GPU {{instance_id.name}} <10% util for 30m. Terminate or downsize.\n\n@slack-terradev-alerts"
|
|
38
|
+
|
|
39
|
+
monitor_thresholds {
|
|
40
|
+
critical = 10
|
|
41
|
+
warning = 25
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
notify_no_data = false
|
|
45
|
+
tags = ["terradev", "finops", "idle"]
|
|
46
|
+
priority = 3
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
resource "datadog_monitor" "terradev_spot_risk" {
|
|
50
|
+
name = "[Terradev] Spot Volatility"
|
|
51
|
+
type = "metric alert"
|
|
52
|
+
query = "avg(last_15m):avg:terradev.price.volatility{spot:true} by {provider,gpu_type} > 100"
|
|
53
|
+
message = "High spot volatility {{provider.name}} {{gpu_type.name}}. Vol: {{value}}%\n\n- Checkpoint auto-save\n- On-demand fallback\n\n@slack-terradev-alerts"
|
|
54
|
+
|
|
55
|
+
monitor_thresholds {
|
|
56
|
+
critical = 100
|
|
57
|
+
warning = 60
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
notify_no_data = false
|
|
61
|
+
tags = ["terradev", "finops", "spot"]
|
|
62
|
+
priority = 1
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
resource "datadog_monitor" "terradev_provider_degraded" {
|
|
66
|
+
name = "[Terradev] Provider Degraded"
|
|
67
|
+
type = "metric alert"
|
|
68
|
+
query = "avg(last_1h):avg:terradev.provider.reliability{*} by {provider} < 70"
|
|
69
|
+
message = "Provider {{provider.name}} reliability <70. Score: {{value}}\n\n@slack-terradev-alerts"
|
|
70
|
+
|
|
71
|
+
monitor_thresholds {
|
|
72
|
+
critical = 70
|
|
73
|
+
warning = 85
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
notify_no_data = false
|
|
77
|
+
tags = ["terradev", "finops", "provider"]
|
|
78
|
+
priority = 3
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
resource "datadog_monitor" "terradev_egress_anomaly" {
|
|
82
|
+
name = "[Terradev] Egress Anomaly"
|
|
83
|
+
type = "metric alert"
|
|
84
|
+
query = "avg(last_1h):anomalies(avg:terradev.egress.cost{*}, 'agile', 3) >= 1"
|
|
85
|
+
message = "Anomalous egress cost.\n\n- Cross-cloud transfers?\n- Missing compression?\n\n@slack-terradev-alerts"
|
|
86
|
+
|
|
87
|
+
monitor_thresholds {
|
|
88
|
+
critical = 1
|
|
89
|
+
warning = 0
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
notify_no_data = false
|
|
93
|
+
tags = ["terradev", "finops", "egress"]
|
|
94
|
+
priority = 3
|
|
95
|
+
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
variable "datadog_api_key" {
|
|
2
|
+
type = string
|
|
3
|
+
sensitive = true
|
|
4
|
+
}
|
|
5
|
+
variable "datadog_app_key" {
|
|
6
|
+
type = string
|
|
7
|
+
sensitive = true
|
|
8
|
+
}
|
|
9
|
+
variable "datadog_site" {
|
|
10
|
+
type = string
|
|
11
|
+
default = "datadoghq.com"
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
provider "datadog" {
|
|
15
|
+
api_key = var.datadog_api_key
|
|
16
|
+
app_key = var.datadog_app_key
|
|
17
|
+
api_url = "https://api.${var.datadog_site}"
|
|
18
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
# NeMo Guardrails config — test-0
|
|
2
|
+
# Colang 2.x syntax
|
|
3
|
+
models:
|
|
4
|
+
- type: main
|
|
5
|
+
engine: openai
|
|
6
|
+
model: gpt-4
|
|
7
|
+
|
|
8
|
+
rails:
|
|
9
|
+
input:
|
|
10
|
+
flows:
|
|
11
|
+
- check jailbreak
|
|
12
|
+
- mask sensitive data
|
|
13
|
+
output:
|
|
14
|
+
flows:
|
|
15
|
+
- check topical
|
|
16
|
+
- mask sensitive data on output
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
# Colang 2.x — PII masking
|
|
2
|
+
define flow mask sensitive data
|
|
3
|
+
"""Mask PII in user input before processing."""
|
|
4
|
+
$sanitized = execute mask_pii(text=$user_message)
|
|
5
|
+
$user_message = $sanitized
|
|
6
|
+
|
|
7
|
+
define flow mask sensitive data on output
|
|
8
|
+
"""Mask PII in bot output before returning."""
|
|
9
|
+
$sanitized = execute mask_pii(text=$bot_message)
|
|
10
|
+
$bot_message = $sanitized
|