terradev-cli 5.3.8__tar.gz → 5.4.0__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.
Files changed (514) hide show
  1. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/Deployment Package/BNF_GRAMMAR.md +28 -3
  2. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/Deployment Package/LIFECYCLES.md +355 -1
  3. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/PKG-INFO +33 -1
  4. {terradev_cli-5.3.8/terradev_cli → terradev_cli-5.4.0}/README.md +32 -0
  5. terradev_cli-5.4.0/clusters/lorax-template/helm/Chart.yaml +17 -0
  6. terradev_cli-5.4.0/clusters/lorax-template/helm/templates/_helpers.tpl +29 -0
  7. terradev_cli-5.4.0/clusters/lorax-template/helm/templates/deployment.yaml +77 -0
  8. terradev_cli-5.4.0/clusters/lorax-template/helm/templates/pvc.yaml +20 -0
  9. terradev_cli-5.4.0/clusters/lorax-template/helm/templates/service.yaml +25 -0
  10. terradev_cli-5.4.0/clusters/lorax-template/helm/templates/serviceaccount.yaml +9 -0
  11. terradev_cli-5.4.0/clusters/lorax-template/helm/values-lorax.yaml +66 -0
  12. terradev_cli-5.4.0/docs/LORA_COMMAND_LIFECYCLE.md +509 -0
  13. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/pyproject.toml +1 -1
  14. {terradev_cli-5.3.8 → terradev_cli-5.4.0/terradev_cli}/README.md +32 -0
  15. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/terradev_cli/cli.py +416 -18
  16. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/terradev_cli/ml_services/__init__.py +6 -0
  17. terradev_cli-5.4.0/terradev_cli/ml_services/lorax_service.py +327 -0
  18. terradev_cli-5.4.0/terradev_cli/ml_services/peft_import_service.py +214 -0
  19. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/terradev_cli.egg-info/PKG-INFO +33 -1
  20. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/terradev_cli.egg-info/SOURCES.txt +10 -0
  21. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/.env.example +0 -0
  22. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/.github/workflows/action.yml +0 -0
  23. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/.github/workflows/ci.yml +0 -0
  24. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/.github/workflows/release.yml +0 -0
  25. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/.github/workflows/static.yml +0 -0
  26. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/.terradev/custom_providers.example.yaml +0 -0
  27. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/CODEMAP.md +0 -0
  28. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/Deployment Package/architecture.md +0 -0
  29. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/Deployment Package/overview.md +0 -0
  30. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/Deployment Package/security.md +0 -0
  31. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/Deployment Package/troubleshooting.md +0 -0
  32. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/Dockerfile +0 -0
  33. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/Dockerfile.test +0 -0
  34. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/LICENSE +0 -0
  35. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/MANIFEST.in +0 -0
  36. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/clusters/agentic-template/helm/values-agentic.yaml +0 -0
  37. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/clusters/agentic-template/k8s/fleet-manifests.yaml +0 -0
  38. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/clusters/glm-5/README.md +0 -0
  39. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/clusters/glm-5/helm/values-glm5.yaml +0 -0
  40. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/clusters/glm-5/k8s/hpa.yaml +0 -0
  41. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/clusters/glm-5/k8s/model-cache-pvc.yaml +0 -0
  42. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/clusters/glm-5/k8s/namespace.yaml +0 -0
  43. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/clusters/glm-5/k8s/pdb.yaml +0 -0
  44. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/clusters/glm-5/k8s/service.yaml +0 -0
  45. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/clusters/glm-5/k8s/sglang-deployment.yaml +0 -0
  46. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/clusters/glm-5/k8s/vllm-deployment.yaml +0 -0
  47. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/clusters/glm-5/task.yaml +0 -0
  48. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/clusters/glm-5/terraform/main.tf +0 -0
  49. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/clusters/glm-5/terraform/outputs.tf +0 -0
  50. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/clusters/glm-5/terraform/variables.tf +0 -0
  51. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/clusters/llmd-template/README.md +0 -0
  52. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/clusters/llmd-template/helm/values-llmd.yaml +0 -0
  53. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/clusters/llmd-template/k8s/gateway.yaml +0 -0
  54. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/clusters/llmd-template/k8s/leaderworkerset.yaml +0 -0
  55. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/clusters/llmd-template/k8s/llminferenceservice.yaml +0 -0
  56. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/clusters/llmd-template/task.yaml +0 -0
  57. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/clusters/lora-template/helm/Chart.yaml +0 -0
  58. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/clusters/lora-template/helm/templates/_helpers.tpl +0 -0
  59. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/clusters/lora-template/helm/templates/deployment.yaml +0 -0
  60. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/clusters/lora-template/helm/templates/pvc-adapter.yaml +0 -0
  61. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/clusters/lora-template/helm/templates/pvc-registry.yaml +0 -0
  62. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/clusters/lora-template/helm/templates/service.yaml +0 -0
  63. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/clusters/lora-template/helm/templates/serviceaccount.yaml +0 -0
  64. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/clusters/lora-template/helm/values-lora.yaml +0 -0
  65. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/clusters/lora-template/k8s/adapter-pvc.yaml +0 -0
  66. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/clusters/lora-template/k8s/deployment.yaml +0 -0
  67. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/clusters/lora-template/k8s/namespace.yaml +0 -0
  68. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/clusters/lora-template/k8s/registry-pvc.yaml +0 -0
  69. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/clusters/lora-template/k8s/service.yaml +0 -0
  70. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/clusters/lora-template/k8s/serviceaccount.yaml +0 -0
  71. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/clusters/moe-template/README.md +0 -0
  72. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/clusters/moe-template/helm/values-moe.yaml +0 -0
  73. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/clusters/moe-template/k8s/deployment.yaml +0 -0
  74. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/clusters/moe-template/k8s/hpa.yaml +0 -0
  75. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/clusters/moe-template/k8s/model-cache-pvc.yaml +0 -0
  76. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/clusters/moe-template/k8s/namespace.yaml +0 -0
  77. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/clusters/moe-template/k8s/pdb.yaml +0 -0
  78. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/clusters/moe-template/k8s/service.yaml +0 -0
  79. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/clusters/moe-template/task.yaml +0 -0
  80. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/clusters/moe-template/terraform/main.tf +0 -0
  81. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/clusters/moe-template/terraform/outputs.tf +0 -0
  82. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/clusters/moe-template/terraform/variables.tf +0 -0
  83. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/clusters/rag-template/README.md +0 -0
  84. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/clusters/rag-template/helm/values-rag.yaml +0 -0
  85. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/clusters/rag-template/k8s/deployment.yaml +0 -0
  86. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/clusters/rag-template/terraform/main.tf +0 -0
  87. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/demo/RECORDING_GUIDE.md +0 -0
  88. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/demo/generate_gif.py +0 -0
  89. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/demo/terradev-demo.gif +0 -0
  90. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/docs/ADVANCED_FINANCIAL_INNOVATIONS.md +0 -0
  91. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/docs/API_DOCUMENTATION.md +0 -0
  92. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/docs/BingSiteAuth.xml +0 -0
  93. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/docs/FINOPS_ATTRIBUTION_SYSTEM.md +0 -0
  94. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/docs/USER_GUIDE.md +0 -0
  95. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/docs/VLLM_AUTO_OPTIMIZATION_GUIDE.md +0 -0
  96. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/docs/VLLM_OPTIMIZATION_GUIDE.md +0 -0
  97. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/docs/architecture.md +0 -0
  98. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/docs/index.html +0 -0
  99. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/docs/overview.md +0 -0
  100. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/docs/robots.txt +0 -0
  101. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/docs/sitemap.xml +0 -0
  102. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/docs/test_spot_provision.md +0 -0
  103. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/examples/aws_ssm_starter.py +0 -0
  104. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/examples/config.example.json +0 -0
  105. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/examples/demo_k8s_config.yaml +0 -0
  106. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/examples/direct_aws_starter.py +0 -0
  107. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/examples/ec2_user_data_starter.py +0 -0
  108. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/examples/example-pipeline.yaml +0 -0
  109. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/examples/kubernetes_training_deployment.yaml +0 -0
  110. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/examples/simple_ssm_starter.py +0 -0
  111. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/examples/ssh_server_starter.py +0 -0
  112. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/examples/start_aws_servers.py +0 -0
  113. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/helm/terradev/Chart.yaml +0 -0
  114. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/helm/terradev/templates/_helpers.tpl +0 -0
  115. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/helm/terradev/templates/deployment.yaml +0 -0
  116. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/helm/terradev/values.yaml +0 -0
  117. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/infrastructure/bucket-policy.json +0 -0
  118. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/infrastructure/grafana_training_dashboard.json +0 -0
  119. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/infrastructure/kubernetes/microservices.yaml +0 -0
  120. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/infrastructure/terraform/main.tf +0 -0
  121. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/infrastructure/terraform/parallelism.tf +0 -0
  122. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/integrations/cli-tool.tf +0 -0
  123. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/integrations/cloud-management-widgets.tf +0 -0
  124. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/integrations/cloud-provider-apis.py +0 -0
  125. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/integrations/critical-widgets.tf +0 -0
  126. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/integrations/devops-cicd-widgets.tf +0 -0
  127. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/integrations/devops-essential-tools.tf +0 -0
  128. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/integrations/docker-integration.tf +0 -0
  129. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/integrations/kubernetes-operator.tf +0 -0
  130. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/integrations/mlflow-integration.tf +0 -0
  131. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/marketing/bare-metal-latitude-post.md +0 -0
  132. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/modules/datadog/README.md +0 -0
  133. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/modules/datadog/dashboard.tf +0 -0
  134. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/modules/datadog/monitors.tf +0 -0
  135. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/modules/datadog/outputs.tf +0 -0
  136. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/modules/datadog/provider.tf +0 -0
  137. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/modules/datadog/variables.tf +0 -0
  138. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/modules/datadog/versions.tf +0 -0
  139. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/modules/prometheus_training_config.yml +0 -0
  140. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/rust/Cargo.toml +0 -0
  141. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/rust/INTEGRATION_GUIDE.md +0 -0
  142. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/rust/PERFORMANCE_OPTIMIZATIONS.md +0 -0
  143. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/rust/README.md +0 -0
  144. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/rust/terradev-artifact-verification/Cargo.toml +0 -0
  145. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/rust/terradev-artifact-verification/src/lib.rs +0 -0
  146. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/rust/terradev-artifact-verification/src/types.rs +0 -0
  147. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/rust/terradev-artifact-verification/src/verifier.rs +0 -0
  148. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/rust/terradev-authentication/Cargo.toml +0 -0
  149. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/rust/terradev-authentication/src/encoding.rs +0 -0
  150. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/rust/terradev-authentication/src/hmac.rs +0 -0
  151. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/rust/terradev-authentication/src/lib.rs +0 -0
  152. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/rust/terradev-authentication/src/types.rs +0 -0
  153. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/rust/terradev-cache-eviction/Cargo.toml +0 -0
  154. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/rust/terradev-cache-eviction/src/cache.rs +0 -0
  155. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/rust/terradev-cache-eviction/src/lib.rs +0 -0
  156. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/rust/terradev-cache-eviction/src/types.rs +0 -0
  157. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/rust/terradev-command-executor/Cargo.toml +0 -0
  158. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/rust/terradev-command-executor/src/lib.rs +0 -0
  159. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/rust/terradev-config-validator/Cargo.toml +0 -0
  160. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/rust/terradev-config-validator/src/lib.rs +0 -0
  161. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/rust/terradev-config-validator/src/types.rs +0 -0
  162. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/rust/terradev-config-validator/src/validator.rs +0 -0
  163. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/rust/terradev-connection-pool/Cargo.toml +0 -0
  164. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/rust/terradev-connection-pool/src/lib.rs +0 -0
  165. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/rust/terradev-connection-pool/src/pool.rs +0 -0
  166. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/rust/terradev-connection-pool/src/types.rs +0 -0
  167. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/rust/terradev-cost-calculator/Cargo.toml +0 -0
  168. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/rust/terradev-cost-calculator/src/calculator.rs +0 -0
  169. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/rust/terradev-cost-calculator/src/lib.rs +0 -0
  170. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/rust/terradev-cost-calculator/src/types.rs +0 -0
  171. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/rust/terradev-cost-scaler/Cargo.toml +0 -0
  172. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/rust/terradev-cost-scaler/src/lib.rs +0 -0
  173. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/rust/terradev-credential-vault/Cargo.toml +0 -0
  174. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/rust/terradev-credential-vault/src/lib.rs +0 -0
  175. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/rust/terradev-credential-vault/src/types.rs +0 -0
  176. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/rust/terradev-credential-vault/src/vault.rs +0 -0
  177. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/rust/terradev-dag-executor/Cargo.toml +0 -0
  178. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/rust/terradev-dag-executor/src/lib.rs +0 -0
  179. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/rust/terradev-distributed-lock/Cargo.toml +0 -0
  180. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/rust/terradev-distributed-lock/src/lib.rs +0 -0
  181. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/rust/terradev-distributed-lock/src/lock.rs +0 -0
  182. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/rust/terradev-distributed-lock/src/types.rs +0 -0
  183. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/rust/terradev-egress-optimizer/Cargo.toml +0 -0
  184. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/rust/terradev-egress-optimizer/src/graph.rs +0 -0
  185. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/rust/terradev-egress-optimizer/src/lib.rs +0 -0
  186. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/rust/terradev-egress-optimizer/src/types.rs +0 -0
  187. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/rust/terradev-event-bus/Cargo.toml +0 -0
  188. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/rust/terradev-event-bus/src/bus.rs +0 -0
  189. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/rust/terradev-event-bus/src/lib.rs +0 -0
  190. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/rust/terradev-event-bus/src/types.rs +0 -0
  191. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/rust/terradev-governance/Cargo.toml +0 -0
  192. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/rust/terradev-governance/src/lib.rs +0 -0
  193. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/rust/terradev-gpu-discovery/Cargo.toml +0 -0
  194. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/rust/terradev-gpu-discovery/src/lib.rs +0 -0
  195. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/rust/terradev-gpu-topology/Cargo.toml +0 -0
  196. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/rust/terradev-gpu-topology/src/lib.rs +0 -0
  197. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/rust/terradev-gpu-topology/src/topology.rs +0 -0
  198. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/rust/terradev-gpu-topology/src/types.rs +0 -0
  199. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/rust/terradev-helm-generator/Cargo.toml +0 -0
  200. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/rust/terradev-helm-generator/src/lib.rs +0 -0
  201. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/rust/terradev-mcp-codec/Cargo.toml +0 -0
  202. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/rust/terradev-mcp-codec/src/lib.rs +0 -0
  203. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/rust/terradev-mcp-optimizer/Cargo.toml +0 -0
  204. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/rust/terradev-mcp-optimizer/src/lib.rs +0 -0
  205. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/rust/terradev-price-intelligence/Cargo.toml +0 -0
  206. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/rust/terradev-price-intelligence/src/lib.rs +0 -0
  207. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/rust/terradev-quota-manager/Cargo.toml +0 -0
  208. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/rust/terradev-quota-manager/src/lib.rs +0 -0
  209. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/rust/terradev-quota-manager/src/manager.rs +0 -0
  210. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/rust/terradev-quota-manager/src/types.rs +0 -0
  211. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/rust/terradev-resource-pool/Cargo.toml +0 -0
  212. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/rust/terradev-resource-pool/src/lib.rs +0 -0
  213. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/rust/terradev-resource-pool/src/pool.rs +0 -0
  214. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/rust/terradev-resource-pool/src/types.rs +0 -0
  215. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/rust/terradev-result-compressor/Cargo.toml +0 -0
  216. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/rust/terradev-result-compressor/src/lib.rs +0 -0
  217. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/rust/terradev-semantic-router/Cargo.toml +0 -0
  218. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/rust/terradev-semantic-router/src/lib.rs +0 -0
  219. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/rust/terradev-snapshot-manager/Cargo.toml +0 -0
  220. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/rust/terradev-snapshot-manager/src/lib.rs +0 -0
  221. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/rust/terradev-snapshot-manager/src/snapshot.rs +0 -0
  222. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/rust/terradev-snapshot-manager/src/types.rs +0 -0
  223. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/rust/terradev-state-machine/Cargo.toml +0 -0
  224. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/rust/terradev-state-machine/src/lib.rs +0 -0
  225. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/rust/terradev-state-machine/src/state.rs +0 -0
  226. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/rust/terradev-state-machine/src/types.rs +0 -0
  227. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/rust/terradev-telemetry/Cargo.toml +0 -0
  228. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/rust/terradev-telemetry/src/lib.rs +0 -0
  229. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/rust/terradev-telemetry/src/pipeline.rs +0 -0
  230. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/rust/terradev-telemetry/src/types.rs +0 -0
  231. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/rust/terradev-tool-registry/Cargo.toml +0 -0
  232. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/rust/terradev-tool-registry/src/lib.rs +0 -0
  233. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/rust/terradev-vram-estimator/Cargo.toml +0 -0
  234. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/rust/terradev-vram-estimator/src/estimator.rs +0 -0
  235. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/rust/terradev-vram-estimator/src/lib.rs +0 -0
  236. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/rust/terradev-vram-estimator/src/types.rs +0 -0
  237. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/rust/terradev-warm-pool/Cargo.toml +0 -0
  238. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/rust/terradev-warm-pool/src/lib.rs +0 -0
  239. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/scripts/action.py +0 -0
  240. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/scripts/gpu-check.sh +0 -0
  241. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/setup/Lambda Cloud API spec 1.8.3.json +0 -0
  242. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/setup/docker-compose.yml +0 -0
  243. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/setup/nginx.conf +0 -0
  244. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/setup/setup.sh +0 -0
  245. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/setup.cfg +0 -0
  246. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/terradev_cli/CHANGELOG.md +0 -0
  247. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/terradev_cli/COMPLETE_COMMAND_REFERENCE.md +0 -0
  248. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/terradev_cli/COMPLETE_INTEGRATION_GUIDE.md +0 -0
  249. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/terradev_cli/IMPLEMENTATION_SUMMARY.md +0 -0
  250. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/terradev_cli/MAKING_SPOT_WORK_FOR_STATEFUL_WORKLOADS.md +0 -0
  251. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/terradev_cli/SGLANG_COMMAND_GUIDE.md +0 -0
  252. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/terradev_cli/TERRADEV_STACK_CHART.md +0 -0
  253. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/terradev_cli/__init__.py +0 -0
  254. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/terradev_cli/__main__.py +0 -0
  255. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/terradev_cli/cli_hf_spaces.py +0 -0
  256. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/terradev_cli/cli_karpenter.py +0 -0
  257. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/terradev_cli/core/__init__.py +0 -0
  258. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/terradev_cli/core/agentic_provisioner.py +0 -0
  259. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/terradev_cli/core/agentic_topology.py +0 -0
  260. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/terradev_cli/core/async_config.py +0 -0
  261. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/terradev_cli/core/auth.py +0 -0
  262. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/terradev_cli/core/auto_lineage.py +0 -0
  263. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/terradev_cli/core/cache_manager.py +0 -0
  264. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/terradev_cli/core/checkpoint_manager.py +0 -0
  265. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/terradev_cli/core/command_executor.py +0 -0
  266. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/terradev_cli/core/config.py +0 -0
  267. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/terradev_cli/core/config_validator.py +0 -0
  268. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/terradev_cli/core/cost_scaler.py +0 -0
  269. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/terradev_cli/core/cost_tracker.py +0 -0
  270. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/terradev_cli/core/credential_vault.py +0 -0
  271. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/terradev_cli/core/cuda_graph_integrator.py +0 -0
  272. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/terradev_cli/core/dag_executor.py +0 -0
  273. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/terradev_cli/core/data_governance.py +0 -0
  274. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/terradev_cli/core/dataset_stager.py +0 -0
  275. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/terradev_cli/core/deployment_router.py +0 -0
  276. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/terradev_cli/core/distributed_lock.py +0 -0
  277. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/terradev_cli/core/drift_detector.py +0 -0
  278. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/terradev_cli/core/egress_cost_monitor.py +0 -0
  279. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/terradev_cli/core/egress_optimizer.py +0 -0
  280. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/terradev_cli/core/evaluation_orchestrator.py +0 -0
  281. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/terradev_cli/core/event_system.py +0 -0
  282. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/terradev_cli/core/gitops_manager.py +0 -0
  283. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/terradev_cli/core/gpu_discovery.py +0 -0
  284. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/terradev_cli/core/gpu_topology.py +0 -0
  285. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/terradev_cli/core/helm_generator.py +0 -0
  286. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/terradev_cli/core/hf_cli_integration.py +0 -0
  287. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/terradev_cli/core/hf_smart_templates.py +0 -0
  288. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/terradev_cli/core/hf_spaces.py +0 -0
  289. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/terradev_cli/core/inference_router.py +0 -0
  290. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/terradev_cli/core/inference_spot_manager.py +0 -0
  291. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/terradev_cli/core/job_state_manager.py +0 -0
  292. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/terradev_cli/core/kv_cache_checkpoint_manager.py +0 -0
  293. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/terradev_cli/core/kv_cache_checkpoint_tests.py +0 -0
  294. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/terradev_cli/core/kv_sharing.py +0 -0
  295. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/terradev_cli/core/lora_consistency.py +0 -0
  296. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/terradev_cli/core/lora_cost_attribution.py +0 -0
  297. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/terradev_cli/core/lora_versioning.py +0 -0
  298. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/terradev_cli/core/manifest_cache.py +0 -0
  299. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/terradev_cli/core/manifest_example.json +0 -0
  300. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/terradev_cli/core/mig_manager.py +0 -0
  301. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/terradev_cli/core/migration_orchestrator.py +0 -0
  302. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/terradev_cli/core/mla_vram_estimator.py +0 -0
  303. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/terradev_cli/core/mla_vram_tests.py +0 -0
  304. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/terradev_cli/core/model_orchestrator.py +0 -0
  305. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/terradev_cli/core/oidc_provider.py +0 -0
  306. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/terradev_cli/core/optimization_config.py +0 -0
  307. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/terradev_cli/core/parallel_provisioner.py +0 -0
  308. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/terradev_cli/core/pd_transport.py +0 -0
  309. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/terradev_cli/core/pipeline_schema.py +0 -0
  310. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/terradev_cli/core/preflight_validator.py +0 -0
  311. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/terradev_cli/core/price_discovery.py +0 -0
  312. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/terradev_cli/core/price_intelligence.py +0 -0
  313. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/terradev_cli/core/public_ip_billing_tracker.py +0 -0
  314. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/terradev_cli/core/quick_start.py +0 -0
  315. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/terradev_cli/core/quota_manager.py +0 -0
  316. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/terradev_cli/core/rate_limiter.py +0 -0
  317. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/terradev_cli/core/rust_telemetry.py +0 -0
  318. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/terradev_cli/core/semantic_router.py +0 -0
  319. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/terradev_cli/core/semantic_signals/__init__.py +0 -0
  320. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/terradev_cli/core/semantic_signals/base_signal.py +0 -0
  321. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/terradev_cli/core/semantic_signals/complexity_signal.py +0 -0
  322. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/terradev_cli/core/semantic_signals/domain_signal.py +0 -0
  323. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/terradev_cli/core/semantic_signals/keyword_signal.py +0 -0
  324. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/terradev_cli/core/semantic_signals/language_signal.py +0 -0
  325. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/terradev_cli/core/semantic_signals/modality_signal.py +0 -0
  326. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/terradev_cli/core/semantic_signals/orchestrator.py +0 -0
  327. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/terradev_cli/core/semantic_signals/routing_policy.yaml +0 -0
  328. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/terradev_cli/core/semantic_signals/safety_signal.py +0 -0
  329. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/terradev_cli/core/session_manager.py +0 -0
  330. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/terradev_cli/core/ssh_key_manager.py +0 -0
  331. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/terradev_cli/core/telemetry.py +0 -0
  332. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/terradev_cli/core/terradev_engine.py +0 -0
  333. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/terradev_cli/core/trace_viewer.py +0 -0
  334. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/terradev_cli/core/training_monitor.py +0 -0
  335. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/terradev_cli/core/training_orchestrator.py +0 -0
  336. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/terradev_cli/core/user_manager.py +0 -0
  337. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/terradev_cli/core/warm_pool_manager.py +0 -0
  338. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/terradev_cli/core/weight_streaming_benchmarks.py +0 -0
  339. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/terradev_cli/core/weight_streaming_manager.py +0 -0
  340. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/terradev_cli/cost_optimizer.py +0 -0
  341. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/terradev_cli/credential_prompt.py +0 -0
  342. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/terradev_cli/demo.py +0 -0
  343. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/terradev_cli/entry_point.py +0 -0
  344. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/terradev_cli/integrations/Terradev LOGO BLACK.png +0 -0
  345. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/terradev_cli/integrations/Terradev LOGO WHITEW.png +0 -0
  346. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/terradev_cli/integrations/__init__.py +0 -0
  347. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/terradev_cli/integrations/databricks_integration.py +0 -0
  348. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/terradev_cli/integrations/datadog_integration.py +0 -0
  349. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/terradev_cli/integrations/helicone_integration.py +0 -0
  350. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/terradev_cli/integrations/prometheus_integration.py +0 -0
  351. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/terradev_cli/integrations/wandb_integration.py +0 -0
  352. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/terradev_cli/k8s/terraform_wrapper.py +0 -0
  353. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/terradev_cli/kubernetes/inferx-cost-optimized.yaml +0 -0
  354. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/terradev_cli/kubernetes/inferx-infrastructure.yaml +0 -0
  355. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/terradev_cli/kubernetes/inferx-models.yaml +0 -0
  356. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/terradev_cli/kubernetes/inferx-platform.yaml +0 -0
  357. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/terradev_cli/kubernetes/inferx_setup.py +0 -0
  358. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/terradev_cli/mcp/__init__.py +0 -0
  359. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/terradev_cli/mcp/server.py +0 -0
  360. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/terradev_cli/ml_services/agentic_serving.py +0 -0
  361. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/terradev_cli/ml_services/drift_retrain_service.py +0 -0
  362. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/terradev_cli/ml_services/dvc_service.py +0 -0
  363. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/terradev_cli/ml_services/guardrails_service.py +0 -0
  364. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/terradev_cli/ml_services/huggingface_service.py +0 -0
  365. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/terradev_cli/ml_services/kserve_service.py +0 -0
  366. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/terradev_cli/ml_services/kubernetes_enhanced.py +0 -0
  367. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/terradev_cli/ml_services/kubernetes_service.py +0 -0
  368. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/terradev_cli/ml_services/langchain_service.py +0 -0
  369. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/terradev_cli/ml_services/langfuse_service.py +0 -0
  370. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/terradev_cli/ml_services/langgraph_service.py +0 -0
  371. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/terradev_cli/ml_services/lmcache_service.py +0 -0
  372. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/terradev_cli/ml_services/lora_registry.py +0 -0
  373. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/terradev_cli/ml_services/mlflow_service.py +0 -0
  374. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/terradev_cli/ml_services/model_router.py +0 -0
  375. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/terradev_cli/ml_services/ollama_service.py +0 -0
  376. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/terradev_cli/ml_services/phoenix_service.py +0 -0
  377. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/terradev_cli/ml_services/qdrant_service.py +0 -0
  378. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/terradev_cli/ml_services/ray_enhanced.py +0 -0
  379. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/terradev_cli/ml_services/ray_service.py +0 -0
  380. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/terradev_cli/ml_services/sglang_service.py +0 -0
  381. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/terradev_cli/ml_services/vllm_service.py +0 -0
  382. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/terradev_cli/ml_services/wandb_enhanced.py +0 -0
  383. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/terradev_cli/optimization/__init__.py +0 -0
  384. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/terradev_cli/optimization/auto_optimizer.py +0 -0
  385. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/terradev_cli/optimization/cuco_optimizer.py +0 -0
  386. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/terradev_cli/providers/LATITUDE_PROVIDER.md +0 -0
  387. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/terradev_cli/providers/__init__.py +0 -0
  388. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/terradev_cli/providers/alibaba_provider.py +0 -0
  389. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/terradev_cli/providers/aws_provider.py +0 -0
  390. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/terradev_cli/providers/azure_provider.py +0 -0
  391. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/terradev_cli/providers/base_provider.py +0 -0
  392. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/terradev_cli/providers/baseten_provider.py +0 -0
  393. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/terradev_cli/providers/coreweave_provider.py +0 -0
  394. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/terradev_cli/providers/crusoe_provider.py +0 -0
  395. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/terradev_cli/providers/demo_mode.py +0 -0
  396. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/terradev_cli/providers/digitalocean_provider.py +0 -0
  397. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/terradev_cli/providers/e2e_networks_provider.py +0 -0
  398. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/terradev_cli/providers/fluidstack_provider.py +0 -0
  399. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/terradev_cli/providers/gcp_provider.py +0 -0
  400. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/terradev_cli/providers/gpu_catalog.py +0 -0
  401. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/terradev_cli/providers/hetzner_provider.py +0 -0
  402. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/terradev_cli/providers/huggingface_provider.py +0 -0
  403. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/terradev_cli/providers/hyperstack_provider.py +0 -0
  404. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/terradev_cli/providers/inferx_provider.py +0 -0
  405. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/terradev_cli/providers/lambda_labs_provider.py +0 -0
  406. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/terradev_cli/providers/latitude_provider.py +0 -0
  407. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/terradev_cli/providers/oracle_provider.py +0 -0
  408. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/terradev_cli/providers/ovhcloud_provider.py +0 -0
  409. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/terradev_cli/providers/provider_factory.py +0 -0
  410. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/terradev_cli/providers/provider_profiles.py +0 -0
  411. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/terradev_cli/providers/real_pricing.py +0 -0
  412. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/terradev_cli/providers/registry.py +0 -0
  413. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/terradev_cli/providers/runpod_provider.py +0 -0
  414. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/terradev_cli/providers/siliconflow_provider.py +0 -0
  415. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/terradev_cli/providers/tensordock_provider.py +0 -0
  416. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/terradev_cli/providers/types.py +0 -0
  417. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/terradev_cli/providers/vastai_provider.py +0 -0
  418. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/terradev_cli/providers/yottalabs_provider.py +0 -0
  419. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/terradev_cli/requirements.txt +0 -0
  420. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/terradev_cli/requirements_minimal.txt +0 -0
  421. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/terradev_cli/terraform/main.tf +0 -0
  422. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/terradev_cli/terraform/modules/__init__.py +0 -0
  423. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/terradev_cli/terraform/modules/gpu-node-aws/bootstrap.sh +0 -0
  424. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/terradev_cli/terraform/modules/gpu-node-aws/main.tf +0 -0
  425. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/terradev_cli/terraform/modules/gpu-node-aws/outputs.tf +0 -0
  426. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/terradev_cli/terraform/modules/gpu-node-aws/variables.tf +0 -0
  427. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/terradev_cli/terraform/modules/gpu-node-aws/versions.tf +0 -0
  428. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/terradev_cli/terraform/modules/gpu-node-hyperstack/bootstrap.sh +0 -0
  429. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/terradev_cli/terraform/modules/gpu-node-hyperstack/main.tf +0 -0
  430. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/terradev_cli/terraform/modules/gpu-node-hyperstack/outputs.tf +0 -0
  431. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/terradev_cli/terraform/modules/gpu-node-hyperstack/variables.tf +0 -0
  432. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/terradev_cli/terraform/modules/gpu-node-hyperstack/versions.tf +0 -0
  433. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/terradev_cli/terraform/modules/gpu-node-lambda/bootstrap.sh +0 -0
  434. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/terradev_cli/terraform/modules/gpu-node-lambda/main.tf +0 -0
  435. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/terradev_cli/terraform/modules/gpu-node-lambda/outputs.tf +0 -0
  436. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/terradev_cli/terraform/modules/gpu-node-lambda/variables.tf +0 -0
  437. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/terradev_cli/terraform/modules/gpu-node-lambda/versions.tf +0 -0
  438. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/terradev_cli/terraform/modules/gpu-node-vastai/bootstrap.sh +0 -0
  439. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/terradev_cli/terraform/modules/gpu-node-vastai/main.tf +0 -0
  440. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/terradev_cli/terraform/modules/gpu-node-vastai/outputs.tf +0 -0
  441. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/terradev_cli/terraform/modules/gpu-node-vastai/variables.tf +0 -0
  442. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/terradev_cli/terraform/modules/gpu-node-vastai/versions.tf +0 -0
  443. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/terradev_cli/terraform/modules/k8s-control-plane/join-script.tpl +0 -0
  444. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/terradev_cli/terraform/modules/k8s-control-plane/kubeconfig.tpl +0 -0
  445. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/terradev_cli/terraform/modules/k8s-control-plane/main.tf +0 -0
  446. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/terradev_cli/terraform/modules/k8s-control-plane/outputs.tf +0 -0
  447. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/terradev_cli/terraform/modules/k8s-control-plane/variables.tf +0 -0
  448. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/terradev_cli/terraform/modules/k8s-control-plane/versions.tf +0 -0
  449. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/terradev_cli/terraform/modules/networking/main.tf +0 -0
  450. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/terradev_cli/terraform/modules/networking/outputs.tf +0 -0
  451. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/terradev_cli/terraform/modules/networking/variables.tf +0 -0
  452. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/terradev_cli/terraform/modules/networking/versions.tf +0 -0
  453. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/terradev_cli/terraform/outputs.tf +0 -0
  454. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/terradev_cli/terraform/price-optimizer/optimal-allocation.py +0 -0
  455. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/terradev_cli/terraform/providers.tf +0 -0
  456. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/terradev_cli/terraform/variables.tf +0 -0
  457. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/terradev_cli/test_summary.py +0 -0
  458. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/terradev_cli/utils/__init__.py +0 -0
  459. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/terradev_cli/utils/formatters.py +0 -0
  460. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/terradev_cli.egg-info/dependency_links.txt +0 -0
  461. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/terradev_cli.egg-info/entry_points.txt +0 -0
  462. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/terradev_cli.egg-info/requires.txt +0 -0
  463. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/terradev_cli.egg-info/top_level.txt +0 -0
  464. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/terraform.tfvars.example +0 -0
  465. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/terraform_optimization/backend.tf +0 -0
  466. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/terraform_optimization/error_handling.py +0 -0
  467. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/terraform_optimization/parallel_provisioning.tf +0 -0
  468. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/terraform_optimization/storage_choice_matrix.py +0 -0
  469. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/terraform_optimization/test_error_handler.py +0 -0
  470. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/terraform_optimization/versions.tf +0 -0
  471. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/terraform_transparency/audit_demo/trail_3caed73ad5bf.json +0 -0
  472. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/terraform_transparency/audit_trail.py +0 -0
  473. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/terraform_transparency/audit_trails.json +0 -0
  474. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/terraform_transparency/decision_engine.py +0 -0
  475. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/terraform_transparency/decision_logs.json +0 -0
  476. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/terraform_transparency/operations.json +0 -0
  477. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/terraform_transparency/terraform_manager.py +0 -0
  478. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/terraform_transparency/terraform_plans.json +0 -0
  479. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/terraform_transparency/transparency_demo.py +0 -0
  480. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/terraform_transparency/transparency_report.json +0 -0
  481. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/tests/CREDENTIAL_STRATEGY.md +0 -0
  482. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/tests/INTEGRATION_STRATEGY.md +0 -0
  483. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/tests/Makefile +0 -0
  484. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/tests/ci_pipeline.py +0 -0
  485. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/tests/conftest.py +0 -0
  486. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/tests/root_tests/test_cli_ux_battle.py +0 -0
  487. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/tests/root_tests/test_cli_ux_battle_fixed.py +0 -0
  488. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/tests/root_tests/test_cli_ux_final.py +0 -0
  489. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/tests/root_tests/test_final_integration.py +0 -0
  490. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/tests/root_tests/test_integrated_optimization.py +0 -0
  491. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/tests/root_tests/test_p10_production_failover.py +0 -0
  492. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/tests/root_tests/test_sso_phase1.py +0 -0
  493. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/tests/root_tests/test_vllm_optimization.py +0 -0
  494. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/tests/simple_test.py +0 -0
  495. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/tests/test_ai_integrations.py +0 -0
  496. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/tests/test_checkpoint_manager.py +0 -0
  497. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/tests/test_cli_smoke.py +0 -0
  498. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/tests/test_dag_executor.py +0 -0
  499. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/tests/test_flashoptim.py +0 -0
  500. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/tests/test_integration.py +0 -0
  501. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/tests/test_job_state_manager.py +0 -0
  502. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/tests/test_k8s_regression.py +0 -0
  503. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/tests/test_latitude_provider.py +0 -0
  504. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/tests/test_major_providers.py +0 -0
  505. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/tests/test_mcp_handlers.py +0 -0
  506. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/tests/test_new_providers.py +0 -0
  507. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/tests/test_provider_conformance.py +0 -0
  508. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/tests/test_providers.py +0 -0
  509. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/tests/test_semantic_router.py +0 -0
  510. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/tests/test_sglang_optimization.py +0 -0
  511. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/tests/test_ssh_key_manager.py +0 -0
  512. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/tests/test_training_monitor.py +0 -0
  513. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/tests/test_training_orchestrator.py +0 -0
  514. {terradev_cli-5.3.8 → terradev_cli-5.4.0}/tests/test_vllm_features.py +0 -0
@@ -1,5 +1,5 @@
1
1
  # Terradev CLI BNF Grammar
2
- # Complete syntax specification for all commands and options — v5.3.8
2
+ # Complete syntax specification for all commands and options — v5.3.9
3
3
 
4
4
  <terradev-cli> ::= <global-options> <command>
5
5
 
@@ -605,8 +605,8 @@
605
605
  <lora-commands> ::= lora <lora-subcommand>
606
606
 
607
607
  <lora-subcommand> ::=
608
- | list -e <url> [--api-key <string>]
609
- | add -e <url> -n <string> --path <path> [--api-key <string>]
608
+ | list -e <url> [--api-key <string>] [--registry]
609
+ | add -e <url> -n <string> --path <path> [--api-key <string>] [--register] [-b <string>] [--rank <integer>]
610
610
  | remove -e <url> -n <string> [--api-key <string>]
611
611
  | register -n <string> --path <path> -b <string> [--rank <integer>] [--tenant <string>] [--metadata <string>]
612
612
  | versions -n <string>
@@ -615,6 +615,31 @@
615
615
  | rollback -n <string> [-v <string>] [--replicas <string>]
616
616
  | drift-check -n <string> [-v <string>] [-t <float>] [--source <string>]
617
617
  | cost-report [-d <integer>] [-a <string>] [-t <string>]
618
+ | lorax <lorax-subcommand>
619
+ | peft <peft-subcommand>
620
+
621
+
622
+ # ── LoRAX Subcommands (under lora) ──
623
+
624
+ <lorax-subcommand> ::=
625
+ | deploy -m <string> [--host <string>] [-p <integer>] [--quantization <lorax-quant>] [--gpu-memory-fraction <float>] [--max-loras <integer>] [--docker] [--k8s] [--namespace <string>]
626
+ | test [--host <string>] [-p <integer>]
627
+ | list-adapters [--host <string>] [-p <integer>]
628
+ | load-adapter -a <string> [--adapter-name <string>] [--host <string>] [-p <integer>]
629
+ | unload-adapter -a <string> [--host <string>] [-p <integer>]
630
+ | sync-registry [--host <string>] [-p <integer>] [-a <string>]
631
+ | generate -p <string> [-a <string>] [--max-tokens <integer>] [--temperature <float>] [--host <string>] [-p <integer>]
632
+
633
+ <lorax-quant> ::= none | bitsandbytes | gptq | awq
634
+
635
+
636
+ # ── PEFT Subcommands (under lora) ──
637
+
638
+ <peft-subcommand> ::=
639
+ | import -a <string> [--local-name <string>] [--token <string>] [--register] [-b <string>] [--rank <integer>]
640
+ | list
641
+ | validate -p <path>
642
+ | delete -a <string>
618
643
 
619
644
 
620
645
  # ════════════════════════════════════════════════════════════════════
@@ -1,4 +1,4 @@
1
- # Terradev CLI Lifecycles (v5.1.5)
1
+ # Terradev CLI Lifecycles (v5.3.9)
2
2
 
3
3
  Complete end-to-end workflows covering nearly every command in the CLI. These have been updated to match the current CLI signatures and remove deprecated commands.
4
4
 
@@ -1388,6 +1388,158 @@ terradev local scan \
1388
1388
  terradev local scan --register --name workstation-4090
1389
1389
  ```
1390
1390
 
1391
+ ---
1392
+
1393
+ ## Lifecycle 17 — LoRAX Multi-LoRA Inference (NEW)
1394
+
1395
+ **Goal:** Deploy LoRAX server for serving thousands of fine-tuned models on a single GPU with dynamic adapter loading.
1396
+
1397
+ ### Phase 1: Import Adapter from HuggingFace
1398
+
1399
+ ```bash
1400
+ # Import LoRA adapter from HuggingFace
1401
+ terradev lora peft import \
1402
+ -a vineetsharma/qlora-adapter-Mistral-7B-Instruct-v0.1-gsm8k \
1403
+ --local-name gsm8k-adapter
1404
+
1405
+ # Import and register in Terradev registry
1406
+ terradev lora peft import \
1407
+ -a vineetsharma/qlora-adapter-Mistral-7B-Instruct-v0.1-gsm8k \
1408
+ --local-name gsm8k-adapter \
1409
+ --register \
1410
+ --base-model mistralai/Mistral-7B-Instruct-v0.1
1411
+
1412
+ # Import from private repo
1413
+ terradev lora peft import \
1414
+ -a username/private-adapter \
1415
+ --token hf_xxx
1416
+ ```
1417
+
1418
+ ### Phase 2: List Local Adapters
1419
+
1420
+ ```bash
1421
+ # List all imported adapters
1422
+ terradev lora peft list
1423
+
1424
+ # Validate adapter structure
1425
+ terradev lora peft validate -p ~/.terradev/peft_adapters/username--adapter
1426
+ ```
1427
+
1428
+ ### Phase 3: Deploy LoRAX Server (Docker)
1429
+
1430
+ ```bash
1431
+ # Deploy LoRAX with Docker
1432
+ terradev lora lorax deploy \
1433
+ -m mistralai/Mistral-7B-Instruct-v0.1 \
1434
+ --docker
1435
+
1436
+ # Deploy with quantization
1437
+ terradev lora lorax deploy \
1438
+ -m mistralai/Mistral-7B-Instruct-v0.1 \
1439
+ --quantization bitsandbytes \
1440
+ --max-loras 16 \
1441
+ --docker
1442
+ ```
1443
+
1444
+ ### Phase 4: Deploy LoRAX Server (Kubernetes)
1445
+
1446
+ ```bash
1447
+ # Deploy LoRAX to Kubernetes
1448
+ terradev lora lorax deploy \
1449
+ -m mistralai/Mistral-7B-Instruct-v0.1 \
1450
+ --k8s \
1451
+ --namespace lorax
1452
+
1453
+ # Install via Helm
1454
+ helm install lorax ./clusters/lorax-template/helm \
1455
+ -f clusters/lorax-template/helm/values-lorax.yaml \
1456
+ --set model.id=mistralai/Mistral-7B-Instruct-v0.1 \
1457
+ --set maxLoras=8
1458
+ ```
1459
+
1460
+ ### Phase 5: Test LoRAX Server
1461
+
1462
+ ```bash
1463
+ # Test server connectivity
1464
+ terradev lora lorax test --host localhost --port 8080
1465
+
1466
+ # Test with custom host/port
1467
+ terradev lora lorax test --host 10.0.0.1 --port 8080
1468
+ ```
1469
+
1470
+ ### Phase 6: Load Adapters
1471
+
1472
+ ```bash
1473
+ # Load adapter from HuggingFace
1474
+ terradev lora lorax load-adapter \
1475
+ -a vineetsharma/qlora-adapter-Mistral-7B-Instruct-v0.1-gsm8k
1476
+
1477
+ # Load local adapter with custom name
1478
+ terradev lora lorax load-adapter \
1479
+ -a ~/.terradev/peft_adapters/gsm8k-adapter \
1480
+ --adapter-name gsm8k-adapter \
1481
+ --host localhost --port 8080
1482
+ ```
1483
+
1484
+ ### Phase 7: List Loaded Adapters
1485
+
1486
+ ```bash
1487
+ # List all loaded adapters
1488
+ terradev lora lorax list-adapters
1489
+
1490
+ # List from specific server
1491
+ terradev lora lorax list-adapters --host 10.0.0.1 --port 8080
1492
+ ```
1493
+
1494
+ ### Phase 8: Generate Text
1495
+
1496
+ ```bash
1497
+ # Generate with base model
1498
+ terradev lora lorax generate \
1499
+ -p "What is 2+2?" \
1500
+ --max-tokens 64
1501
+
1502
+ # Generate with adapter
1503
+ terradev lora lorax generate \
1504
+ -p "Natalia sold clips to 48 of her friends..." \
1505
+ -a gsm8k-adapter \
1506
+ --temperature 0.7
1507
+ ```
1508
+
1509
+ ### Phase 9: Unload Adapter
1510
+
1511
+ ```bash
1512
+ # Unload adapter
1513
+ terradev lora lorax unload-adapter -a gsm8k-adapter
1514
+ ```
1515
+
1516
+ ### Phase 10: Sync Registry
1517
+
1518
+ ```bash
1519
+ # Sync Terradev registry with LoRAX state
1520
+ terradev lora lorax sync-registry
1521
+
1522
+ # Sync specific adapter
1523
+ terradev lora lorax sync-registry -a gsm8k-adapter
1524
+ ```
1525
+
1526
+ ### Phase 11: Delete Local Adapter
1527
+
1528
+ ```bash
1529
+ # Delete imported adapter
1530
+ terradev lora peft delete -a username/adapter
1531
+ ```
1532
+
1533
+ ### Phase 12: Cleanup
1534
+
1535
+ ```bash
1536
+ # Terminate LoRAX server
1537
+ docker stop <container-id>
1538
+
1539
+ # Or delete Kubernetes deployment
1540
+ helm uninstall lorax -n lorax
1541
+ ```
1542
+
1391
1543
  ### Phase 4: View Hybrid Pool
1392
1544
 
1393
1545
  ```bash
@@ -1404,6 +1556,208 @@ terradev provision --gpu rtx4090 --count 1 --pool hybrid
1404
1556
 
1405
1557
  ---
1406
1558
 
1559
+ ## Lifecycle 18 — HuggingFace PEFT Import (NEW)
1560
+
1561
+ **Goal:** Import, validate, and manage LoRA adapters from HuggingFace using the PEFT library.
1562
+
1563
+ ### Phase 1: Import Adapter from HuggingFace
1564
+
1565
+ ```bash
1566
+ # Import public adapter
1567
+ terradev lora peft import \
1568
+ -a vineetsharma/qlora-adapter-Mistral-7B-Instruct-v0.1-gsm8k
1569
+
1570
+ # Import with custom local name
1571
+ terradev lora peft import \
1572
+ -a vineetsharma/qlora-adapter-Mistral-7B-Instruct-v0.1-gsm8k \
1573
+ --local-name gsm8k-adapter
1574
+
1575
+ # Import from private repository
1576
+ terradev lora peft import \
1577
+ -a username/private-adapter \
1578
+ --token hf_xxx
1579
+ ```
1580
+
1581
+ **What happens:**
1582
+ - Downloads adapter from HuggingFace Hub using PEFT library
1583
+ - Auto-detects rank, alpha, and target modules from adapter config
1584
+ - Stores adapter in `~/.terradev/peft_adapters/username--adapter/`
1585
+ - Validates adapter structure and compatibility
1586
+
1587
+ ### Phase 2: Import and Register in Terradev Registry
1588
+
1589
+ ```bash
1590
+ # Import and register in one step
1591
+ terradev lora peft import \
1592
+ -a vineetsharma/qlora-adapter-Mistral-7B-Instruct-v0.1-gsm8k \
1593
+ --local-name gsm8k-adapter \
1594
+ --register \
1595
+ --base-model mistralai/Mistral-7B-Instruct-v0.1
1596
+
1597
+ # Import with custom rank override
1598
+ terradev lora peft import \
1599
+ -a username/adapter \
1600
+ --register \
1601
+ --base-model meta-llama/Llama-2-7b-hf \
1602
+ --rank 128
1603
+ ```
1604
+
1605
+ **What happens:**
1606
+ - Downloads and validates adapter (same as Phase 1)
1607
+ - Registers adapter in Terradev LoRA registry (`~/.terradev/lora_registry.db`)
1608
+ - Creates version entry with auto-generated version ID
1609
+ - Associates with base model for compatibility tracking
1610
+ - Captures metadata for cost attribution
1611
+
1612
+ ### Phase 3: List Local Adapters
1613
+
1614
+ ```bash
1615
+ # List all imported adapters
1616
+ terradev lora peft list
1617
+ ```
1618
+
1619
+ **Output:**
1620
+ ```
1621
+ Imported PEFT Adapters:
1622
+ vineetsharma/qlora-adapter-Mistral-7B-Instruct-v0.1-gsm8k
1623
+ Local name: gsm8k-adapter
1624
+ Base model: mistralai/Mistral-7B-Instruct-v0.1
1625
+ Rank: 64
1626
+ Alpha: 16
1627
+ Target modules: q_proj, v_proj
1628
+ Path: ~/.terradev/peft_adapters/vineetsharma--qlora-adapter-Mistral-7B-Instruct-v0.1-gsm8k
1629
+ Registered: Yes
1630
+ ```
1631
+
1632
+ ### Phase 4: Validate Adapter Structure
1633
+
1634
+ ```bash
1635
+ # Validate adapter
1636
+ terradev lora peft validate \
1637
+ -p ~/.terradev/peft_adapters/vineetsharma--qlora-adapter-Mistral-7B-Instruct-v0.1-gsm8k
1638
+ ```
1639
+
1640
+ **What happens:**
1641
+ - Checks adapter_config.json exists and is valid
1642
+ - Verifies adapter weights are present
1643
+ - Validates target modules match base model
1644
+ - Checks rank and alpha values are consistent
1645
+ - Reports any structural issues
1646
+
1647
+ **Output:**
1648
+ ```
1649
+ Validation: PASSED
1650
+ Config: ✓ Valid
1651
+ Weights: ✓ Present (8 files)
1652
+ Target modules: ✓ Compatible with base model
1653
+ Rank: 64
1654
+ Alpha: 16
1655
+ ```
1656
+
1657
+ ### Phase 5: Use with LoRAX
1658
+
1659
+ ```bash
1660
+ # Deploy LoRAX server
1661
+ terradev lora lorax deploy \
1662
+ -m mistralai/Mistral-7B-Instruct-v0.1 \
1663
+ --docker
1664
+
1665
+ # Load imported adapter
1666
+ terradev lora lorax load-adapter \
1667
+ -a ~/.terradev/peft_adapters/gsm8k-adapter \
1668
+ --adapter-name gsm8k-adapter
1669
+
1670
+ # Generate with adapter
1671
+ terradev lora lorax generate \
1672
+ -p "Solve: Natalia sold clips to 48 of her friends..." \
1673
+ -a gsm8k-adapter
1674
+ ```
1675
+
1676
+ ### Phase 6: Use with vLLM
1677
+
1678
+ ```bash
1679
+ # Deploy vLLM with LoRA support
1680
+ terradev ml vllm --start \
1681
+ --instance-ip <ip> \
1682
+ --model mistralai/Mistral-7B-Instruct-v0.1 \
1683
+ --enable-lora \
1684
+ --lora-modules gsm8k=~/.terradev/peft_adapters/gsm8k-adapter
1685
+
1686
+ # Generate with adapter
1687
+ curl -X POST http://<ip>:8000/v1/completions \
1688
+ -H "Content-Type: application/json" \
1689
+ -d '{
1690
+ "model": "mistralai/Mistral-7B-Instruct-v0.1",
1691
+ "prompt": "What is 2+2?",
1692
+ "max_tokens": 64
1693
+ }'
1694
+ ```
1695
+
1696
+ ### Phase 7: Delete Local Adapter
1697
+
1698
+ ```bash
1699
+ # Delete imported adapter
1700
+ terradev lora peft delete -a vineetsharma/qlora-adapter-Mistral-7B-Instruct-v0.1-gsm8k
1701
+
1702
+ # Delete by local name
1703
+ terradev lora peft delete -a gsm8k-adapter
1704
+ ```
1705
+
1706
+ **What happens:**
1707
+ - Removes adapter from `~/.terradev/peft_adapters/`
1708
+ - Removes from registry if previously registered
1709
+ - Frees disk space
1710
+ - Updates local adapter index
1711
+
1712
+ ### Phase 8: Batch Import Multiple Adapters
1713
+
1714
+ ```bash
1715
+ # Import multiple adapters for a tenant
1716
+ terradev lora peft import \
1717
+ -a customer-a/adapter-1 \
1718
+ --local-name customer-a-adapter-1 \
1719
+ --register \
1720
+ --base-model meta-llama/Llama-2-7b-hf
1721
+
1722
+ terradev lora peft import \
1723
+ -a customer-a/adapter-2 \
1724
+ --local-name customer-a-adapter-2 \
1725
+ --register \
1726
+ --base-model meta-llama/Llama-2-7b-hf
1727
+
1728
+ terradev lora peft import \
1729
+ -a customer-a/adapter-3 \
1730
+ --local-name customer-a-adapter-3 \
1731
+ --register \
1732
+ --base-model meta-llama/Llama-2-7b-hf
1733
+
1734
+ # List all tenant adapters
1735
+ terradev lora peft list
1736
+ ```
1737
+
1738
+ ### Phase 9: Troubleshooting
1739
+
1740
+ ```bash
1741
+ # If import fails due to missing token
1742
+ terradev lora peft import \
1743
+ -a username/private-adapter \
1744
+ --token hf_xxx
1745
+
1746
+ # If adapter is incompatible with base model
1747
+ terradev lora peft validate -p ~/.terradev/peft_adapters/username--adapter
1748
+
1749
+ # If rank detection fails, specify manually
1750
+ terradev lora peft import \
1751
+ -a username/adapter \
1752
+ --rank 64
1753
+
1754
+ # If disk space is low, delete unused adapters
1755
+ terradev lora peft list
1756
+ terradev lora peft delete -a unused-adapter
1757
+ ```
1758
+
1759
+ ---
1760
+
1407
1761
  ## Lifecycle 17 — Langfuse Integration (NEW)
1408
1762
 
1409
1763
  **Goal:** Track LLM observability with Langfuse.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: terradev-cli
3
- Version: 5.3.8
3
+ Version: 5.4.0
4
4
  Summary: An imperative command-line-interface for AI workload orchestration.
5
5
  Author-email: Terradev Team <team@terradev.com>
6
6
  Maintainer-email: Terradev Team <team@terradev.com>
@@ -111,6 +111,38 @@ Continued focus on lower cost, faster provisioning, and topology-aware execution
111
111
 
112
112
  Model agnostic. Dataset agnostic. GPU agnostic. Provider agnostic. The only thing Terradev is not agnostic about is correctness: it enforces topology, idempotency, and sequencing.
113
113
 
114
+ **NOTES ON 5.3.9**
115
+
116
+ Added **LoRAX (LoRA eXchange) integration** and **HuggingFace PEFT import** for production-grade multi-LoRA inference serving:
117
+
118
+ - **LoRAX Service** (`ml_services/lorax_service.py`): Async HTTP client for Predibase LoRAX multi-LoRA inference server that serves thousands of fine-tuned models on a single GPU with dynamic adapter loading, heterogeneous continuous batching, and adapter exchange scheduling.
119
+
120
+ - **LoRAX CLI commands** (`terradev lora lorax`):
121
+ ```bash
122
+ terradev lora lorax deploy -m mistralai/Mistral-7B-Instruct-v0.1 --docker
123
+ terradev lora lorax test --host localhost --port 8080
124
+ terradev lora lorax list-adapters
125
+ terradev lora lorax load-adapter -a vineetsharma/qlora-adapter-Mistral-7B-Instruct-v0.1-gsm8k
126
+ terradev lora lorax unload-adapter -a my-adapter
127
+ terradev lora lorax generate -p "What is 2+2?" -a my-adapter
128
+ terradev lora lorax sync-registry
129
+ ```
130
+
131
+ - **PEFT Import Service** (`ml_services/peft_import_service.py`): Download, validate, and prepare LoRA adapters from HuggingFace using the PEFT library with auto-detection of rank, alpha, and target modules.
132
+
133
+ - **PEFT CLI commands** (`terradev lora peft`):
134
+ ```bash
135
+ terradev lora peft import -a vineetsharma/qlora-adapter-Mistral-7B-Instruct-v0.1-gsm8k
136
+ terradev lora peft import -a username/adapter --local-name my-adapter --register --base-model mistralai/Mistral-7B-Instruct-v0.1
137
+ terradev lora peft list
138
+ terradev lora peft validate -p ~/.terradev/peft_adapters/username--adapter
139
+ terradev lora peft delete -a username/adapter
140
+ ```
141
+
142
+ - **LoRAX Helm Template** (`clusters/lorax-template/helm/`): Production-ready Kubernetes manifests with GPU resource limits, storage configuration, and Prometheus metrics support.
143
+
144
+ - **Registry Integration**: One-step import from HuggingFace and automatic registration in Terradev LoRA registry with version tracking, cross-replica sync, and cost attribution.
145
+
114
146
  **NOTES ON 5.3.3**
115
147
 
116
148
  Added **provider registration and profiling system** for intelligent quirk-aware routing across 23 cloud providers, and registration for custom providers from .yaml import:
@@ -16,6 +16,38 @@ Continued focus on lower cost, faster provisioning, and topology-aware execution
16
16
 
17
17
  Model agnostic. Dataset agnostic. GPU agnostic. Provider agnostic. The only thing Terradev is not agnostic about is correctness: it enforces topology, idempotency, and sequencing.
18
18
 
19
+ **NOTES ON 5.3.9**
20
+
21
+ Added **LoRAX (LoRA eXchange) integration** and **HuggingFace PEFT import** for production-grade multi-LoRA inference serving:
22
+
23
+ - **LoRAX Service** (`ml_services/lorax_service.py`): Async HTTP client for Predibase LoRAX multi-LoRA inference server that serves thousands of fine-tuned models on a single GPU with dynamic adapter loading, heterogeneous continuous batching, and adapter exchange scheduling.
24
+
25
+ - **LoRAX CLI commands** (`terradev lora lorax`):
26
+ ```bash
27
+ terradev lora lorax deploy -m mistralai/Mistral-7B-Instruct-v0.1 --docker
28
+ terradev lora lorax test --host localhost --port 8080
29
+ terradev lora lorax list-adapters
30
+ terradev lora lorax load-adapter -a vineetsharma/qlora-adapter-Mistral-7B-Instruct-v0.1-gsm8k
31
+ terradev lora lorax unload-adapter -a my-adapter
32
+ terradev lora lorax generate -p "What is 2+2?" -a my-adapter
33
+ terradev lora lorax sync-registry
34
+ ```
35
+
36
+ - **PEFT Import Service** (`ml_services/peft_import_service.py`): Download, validate, and prepare LoRA adapters from HuggingFace using the PEFT library with auto-detection of rank, alpha, and target modules.
37
+
38
+ - **PEFT CLI commands** (`terradev lora peft`):
39
+ ```bash
40
+ terradev lora peft import -a vineetsharma/qlora-adapter-Mistral-7B-Instruct-v0.1-gsm8k
41
+ terradev lora peft import -a username/adapter --local-name my-adapter --register --base-model mistralai/Mistral-7B-Instruct-v0.1
42
+ terradev lora peft list
43
+ terradev lora peft validate -p ~/.terradev/peft_adapters/username--adapter
44
+ terradev lora peft delete -a username/adapter
45
+ ```
46
+
47
+ - **LoRAX Helm Template** (`clusters/lorax-template/helm/`): Production-ready Kubernetes manifests with GPU resource limits, storage configuration, and Prometheus metrics support.
48
+
49
+ - **Registry Integration**: One-step import from HuggingFace and automatic registration in Terradev LoRA registry with version tracking, cross-replica sync, and cost attribution.
50
+
19
51
  **NOTES ON 5.3.3**
20
52
 
21
53
  Added **provider registration and profiling system** for intelligent quirk-aware routing across 23 cloud providers, and registration for custom providers from .yaml import:
@@ -0,0 +1,17 @@
1
+ apiVersion: v2
2
+ name: lorax
3
+ description: LoRAX (LoRA eXchange) multi-LoRA inference server from Predibase
4
+ type: application
5
+ version: 0.1.0
6
+ appVersion: "main"
7
+ keywords:
8
+ - lorax
9
+ - lora
10
+ - inference
11
+ - llm
12
+ - predibase
13
+ home: https://github.com/predibase/lorax
14
+ sources:
15
+ - https://github.com/predibase/lorax
16
+ maintainers:
17
+ - name: Terradev
@@ -0,0 +1,29 @@
1
+ {{/*
2
+ Expand the name of the chart.
3
+ */}}
4
+ {{- define "lorax.name" -}}
5
+ {{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" }}
6
+ {{- end }}
7
+
8
+ {{/*
9
+ Create a default fully qualified app name.
10
+ */}}
11
+ {{- define "lorax.fullname" -}}
12
+ {{- if .Values.fullnameOverride }}
13
+ {{- .Values.fullnameOverride | trunc 63 | trimSuffix "-" }}
14
+ {{- else }}
15
+ {{- $name := default .Chart.Name .Values.nameOverride }}
16
+ {{- if contains $name .Release.Name }}
17
+ {{- .Release.Name | trunc 63 | trimSuffix "-" }}
18
+ {{- else }}
19
+ {{- printf "%s-%s" .Release.Name $name | trunc 63 | trimSuffix "-" }}
20
+ {{- end }}
21
+ {{- end }}
22
+ {{- end }}
23
+
24
+ {{/*
25
+ Create chart name and version as used by the chart label.
26
+ */}}
27
+ {{- define "lorax.chart" -}}
28
+ {{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" }}
29
+ {{- end }}
@@ -0,0 +1,77 @@
1
+ apiVersion: apps/v1
2
+ kind: Deployment
3
+ metadata:
4
+ name: {{ include "lorax.fullname" . }}
5
+ labels:
6
+ app: {{ include "lorax.name" . }}
7
+ chart: {{ include "lorax.chart" . }}
8
+ release: {{ .Release.Name }}
9
+ heritage: {{ .Release.Service }}
10
+ spec:
11
+ replicas: {{ .Values.replicaCount }}
12
+ selector:
13
+ matchLabels:
14
+ app: {{ include "lorax.name" . }}
15
+ release: {{ .Release.Name }}
16
+ template:
17
+ metadata:
18
+ labels:
19
+ app: {{ include "lorax.name" . }}
20
+ release: {{ .Release.Name }}
21
+ spec:
22
+ serviceAccountName: {{ include "lorax.fullname" . }}
23
+ {{- with .Values.nodeSelector }}
24
+ nodeSelector:
25
+ {{- toYaml . | nindent 8 }}
26
+ {{- end }}
27
+ {{- with .Values.tolerations }}
28
+ tolerations:
29
+ {{- toYaml . | nindent 8 }}
30
+ {{- end }}
31
+ containers:
32
+ - name: lorax
33
+ image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}"
34
+ imagePullPolicy: {{ .Values.image.pullPolicy }}
35
+ ports:
36
+ - name: http
37
+ containerPort: {{ .Values.service.targetPort }}
38
+ protocol: TCP
39
+ {{- if .Values.metrics.enabled }}
40
+ - name: metrics
41
+ containerPort: {{ .Values.metrics.port }}
42
+ protocol: TCP
43
+ {{- end }}
44
+ env:
45
+ {{- range .Values.env }}
46
+ - name: {{ .name }}
47
+ value: {{ .value | quote }}
48
+ {{- end }}
49
+ resources:
50
+ {{- toYaml .Values.resources | nindent 10 }}
51
+ volumeMounts:
52
+ {{- if .Values.storage.enabled }}
53
+ - name: adapter-storage
54
+ mountPath: /data
55
+ {{- end }}
56
+ command:
57
+ - lorax-server
58
+ args:
59
+ - --model-id
60
+ - {{ .Values.model.id }}
61
+ - --max-loras
62
+ - {{ .Values.maxLoras | quote }}
63
+ {{- if ne .Values.model.quantization "none" }}
64
+ - --quantize
65
+ - {{ .Values.model.quantization }}
66
+ {{- end }}
67
+ - --port
68
+ - {{ .Values.service.targetPort | quote }}
69
+ {{- if .Values.metrics.enabled }}
70
+ - --enable-metrics
71
+ {{- end }}
72
+ volumes:
73
+ {{- if .Values.storage.enabled }}
74
+ - name: adapter-storage
75
+ persistentVolumeClaim:
76
+ claimName: {{ include "lorax.fullname" . }}-storage
77
+ {{- end }}
@@ -0,0 +1,20 @@
1
+ {{- if .Values.storage.enabled }}
2
+ apiVersion: v1
3
+ kind: PersistentVolumeClaim
4
+ metadata:
5
+ name: {{ include "lorax.fullname" . }}-storage
6
+ labels:
7
+ app: {{ include "lorax.name" . }}
8
+ chart: {{ include "lorax.chart" . }}
9
+ release: {{ .Release.Name }}
10
+ heritage: {{ .Release.Service }}
11
+ spec:
12
+ accessModes:
13
+ - ReadWriteOnce
14
+ resources:
15
+ requests:
16
+ storage: {{ .Values.storage.size }}
17
+ {{- if .Values.storage.storageClass }}
18
+ storageClassName: {{ .Values.storage.storageClass }}
19
+ {{- end }}
20
+ {{- end }}
@@ -0,0 +1,25 @@
1
+ apiVersion: v1
2
+ kind: Service
3
+ metadata:
4
+ name: {{ include "lorax.fullname" . }}
5
+ labels:
6
+ app: {{ include "lorax.name" . }}
7
+ chart: {{ include "lorax.chart" . }}
8
+ release: {{ .Release.Name }}
9
+ heritage: {{ .Release.Service }}
10
+ spec:
11
+ type: {{ .Values.service.type }}
12
+ ports:
13
+ - name: http
14
+ port: {{ .Values.service.port }}
15
+ targetPort: http
16
+ protocol: TCP
17
+ {{- if .Values.metrics.enabled }}
18
+ - name: metrics
19
+ port: {{ .Values.metrics.port }}
20
+ targetPort: metrics
21
+ protocol: TCP
22
+ {{- end }}
23
+ selector:
24
+ app: {{ include "lorax.name" . }}
25
+ release: {{ .Release.Name }}
@@ -0,0 +1,9 @@
1
+ apiVersion: v1
2
+ kind: ServiceAccount
3
+ metadata:
4
+ name: {{ include "lorax.fullname" . }}
5
+ labels:
6
+ app: {{ include "lorax.name" . }}
7
+ chart: {{ include "lorax.chart" . }}
8
+ release: {{ .Release.Name }}
9
+ heritage: {{ .Release.Service }}