diff --git a/README.md b/README.md
index 8c63f77..fe1d723 100644
--- a/README.md
+++ b/README.md
@@ -483,6 +483,7 @@ Usage examples are located in [terraform provider repo](https://github.com/casta
| [helm_release.castai_evictor_self_managed](https://registry.terraform.io/providers/hashicorp/helm/latest/docs/resources/release) | resource |
| [helm_release.castai_kvisor](https://registry.terraform.io/providers/hashicorp/helm/latest/docs/resources/release) | resource |
| [helm_release.castai_kvisor_self_managed](https://registry.terraform.io/providers/hashicorp/helm/latest/docs/resources/release) | resource |
+| [helm_release.castai_live](https://registry.terraform.io/providers/hashicorp/helm/latest/docs/resources/release) | resource |
| [helm_release.castai_pod_mutator](https://registry.terraform.io/providers/hashicorp/helm/latest/docs/resources/release) | resource |
| [helm_release.castai_pod_mutator_self_managed](https://registry.terraform.io/providers/hashicorp/helm/latest/docs/resources/release) | resource |
| [helm_release.castai_pod_pinner](https://registry.terraform.io/providers/hashicorp/helm/latest/docs/resources/release) | resource |
@@ -529,6 +530,7 @@ Usage examples are located in [terraform provider repo](https://github.com/casta
| [http\_proxy](#input\_http\_proxy) | Address to use for proxying http requests from CAST AI components running directly on nodes. | `string` | `null` | no |
| [https\_proxy](#input\_https\_proxy) | Address to use for proxying https requests from CAST AI components running directly on nodes. | `string` | `null` | no |
| [install\_ai\_optimizer](#input\_install\_ai\_optimizer) | Optional flag for installation of AI Optimizer (https://docs.cast.ai/docs/getting-started-ai) | `bool` | `false` | no |
+| [install\_live](#input\_install\_live) | Optional flag for installation of CAST AI Live (https://docs.cast.ai/docs/clm-getting-started) | `bool` | `true` | no |
| [install\_omni](#input\_install\_omni) | Optional flag for installing Omni capability | `bool` | `false` | no |
| [install\_pod\_mutator](#input\_install\_pod\_mutator) | Optional flag for installation of pod mutator | `bool` | `false` | no |
| [install\_security\_agent](#input\_install\_security\_agent) | Optional flag for installation of security agent (Kvisor - https://docs.cast.ai/docs/kvisor) | `bool` | `false` | no |
@@ -539,6 +541,8 @@ Usage examples are located in [terraform provider repo](https://github.com/casta
| [kvisor\_values](#input\_kvisor\_values) | List of YAML formatted string values for kvisor helm chart, see example: https://github.com/castai/terraform-provider-castai/tree/master/examples/aks/aks_cluster_with_security/castai.tf | `list(string)` | `[]` | no |
| [kvisor\_version](#input\_kvisor\_version) | Version of kvisor chart. If not provided, latest version will be used. | `string` | `null` | no |
| [kvisor\_wait](#input\_kvisor\_wait) | Wait for kvisor chart to finish release | `bool` | `true` | no |
+| [live\_values](#input\_live\_values) | List of YAML formatted string with castai-live values | `list(string)` | `[]` | no |
+| [live\_version](#input\_live\_version) | Version of castai-live helm chart. Default latest | `string` | `null` | no |
| [no\_proxy](#input\_no\_proxy) | List of addresses to skip proxying requests from CAST AI components running directly on nodes. Used with http\_proxy and https\_proxy. | `list(string)` | `[]` | no |
| [node\_configurations](#input\_node\_configurations) | Map of AKS node configurations to create | `any` | `{}` | no |
| [node\_resource\_group](#input\_node\_resource\_group) | n/a | `string` | n/a | yes |
diff --git a/main.tf b/main.tf
index a1fdc23..3104d19 100644
--- a/main.tf
+++ b/main.tf
@@ -125,6 +125,7 @@ resource "castai_node_template" "this" {
is_enabled = try(each.value.is_enabled, null)
configuration_id = try(each.value.configuration_name, null) != null ? castai_node_configuration.this[each.value.configuration_name].id : can(each.value.configuration_id) ? length(regexall(local.configuration_id_regex_pattern, each.value.configuration_id)) > 0 ? each.value.configuration_id : castai_node_configuration.this[each.value.configuration_id].id : null
should_taint = try(each.value.should_taint, true)
+ clm_enabled = try(each.value.clm_enabled, false)
rebalancing_config_min_nodes = try(each.value.rebalancing_config_min_nodes, 0)
custom_labels = try(each.value.custom_labels, {})
@@ -1120,6 +1121,31 @@ resource "helm_release" "castai_ai_optimizer_proxy_self_managed" {
depends_on = [helm_release.castai_agent, helm_release.castai_cluster_controller]
}
+resource "helm_release" "castai_live" {
+ count = var.install_live ? 1 : 0
+
+ name = "castai-live"
+ repository = "https://castai.github.io/helm-charts"
+ chart = "castai-live"
+ namespace = "castai-agent"
+ create_namespace = true
+ cleanup_on_fail = true
+ wait = true
+
+ version = var.live_version
+ values = var.live_values
+
+ set = concat(
+ local.set_cluster_id,
+ local.set_apiurl,
+ local.set_components_sets,
+ )
+
+ set_sensitive = local.set_sensitive_apikey
+
+ depends_on = [helm_release.castai_agent]
+}
+
data "azurerm_kubernetes_cluster" "aks" {
count = var.install_omni && !var.self_managed ? 1 : 0
diff --git a/variables.tf b/variables.tf
index b04c26a..28547ca 100644
--- a/variables.tf
+++ b/variables.tf
@@ -340,6 +340,24 @@ variable "ai_optimizer_values" {
default = []
}
+variable "install_live" {
+ type = bool
+ default = true
+ description = "Optional flag for installation of CAST AI Live (https://docs.cast.ai/docs/clm-getting-started)"
+}
+
+variable "live_version" {
+ description = "Version of castai-live helm chart. Default latest"
+ type = string
+ default = null
+}
+
+variable "live_values" {
+ description = "List of YAML formatted string with castai-live values"
+ type = list(string)
+ default = []
+}
+
variable "install_omni" {
description = "Optional flag for installing Omni capability"
type = bool