Skip to content

Commit bcbd1d6

Browse files
committed
make helm dependencies configurable
1 parent 6df036b commit bcbd1d6

3 files changed

Lines changed: 25 additions & 3 deletions

File tree

community/modules/management/dependencies-installer/README.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,8 @@ limitations under the License.
5050
| <a name="input_cluster_id"></a> [cluster\_id](#input\_cluster\_id) | An identifier for the gke cluster resource with format projects/<project\_id>/locations/<region>/clusters/<name>. | `string` | n/a | yes |
5151
| <a name="input_gke_cluster_exists"></a> [gke\_cluster\_exists](#input\_gke\_cluster\_exists) | A static flag that signals to downstream modules that a cluster has been created. Needed by community/modules/scripts/kubernetes-operations. | `bool` | `false` | no |
5252
| <a name="input_gpu_operator"></a> [gpu\_operator](#input\_gpu\_operator) | Install [GPU Operator](https://docs.nvidia.com/datacenter/cloud-native/gpu-operator/latest/getting-started.html) which uses the [Kubernetes operator](https://kubernetes.io/docs/concepts/extend-kubernetes/operator/) to automate the management of all NVIDIA software components needed to provision GPU. | <pre>object({<br/> install = optional(bool, false)<br/> version = optional(string, "v25.3.0")<br/> })</pre> | `{}` | no |
53+
| <a name="input_jobset"></a> [jobset](#input\_jobset) | Install [Jobset](https://github.com/kubernetes-sigs/jobset) which manages a group of K8s [jobs](https://kubernetes.io/docs/concepts/workloads/controllers/job/) as a unit. | <pre>object({<br/> install = optional(bool, false)<br/> version = optional(string, "v0.7.2")<br/> })</pre> | `{}` | no |
54+
| <a name="input_kueue"></a> [kueue](#input\_kueue) | Install and configure [Kueue](https://kueue.sigs.k8s.io/docs/overview/) workload scheduler. A configuration yaml/template file can be provided with config\_path to be applied right after kueue installation. If a template file provided, its variables can be set to config\_template\_vars. | <pre>object({<br/> install = optional(bool, false)<br/> version = optional(string, "v0.11.4")<br/> config_path = optional(string, null)<br/> config_template_vars = optional(map(any), null)<br/> })</pre> | `{}` | no |
5355
| <a name="input_nvidia_dra_driver"></a> [nvidia\_dra\_driver](#input\_nvidia\_dra\_driver) | Installs [Nvidia DRA driver](https://github.com/NVIDIA/k8s-dra-driver-gpu) which supports Dynamic Resource Allocation for NVIDIA GPUs in Kubernetes | <pre>object({<br/> install = optional(bool, false)<br/> version = optional(string, "v25.3.0-rc.2")<br/> })</pre> | `{}` | no |
5456
| <a name="input_project_id"></a> [project\_id](#input\_project\_id) | The project ID that hosts the gke cluster. | `string` | n/a | yes |
5557

community/modules/management/dependencies-installer/main.tf

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ module "install_kueue" {
3939
release_name = "kueue"
4040

4141
chart_name = "oci://registry.k8s.io/kueue/charts/kueue"
42-
chart_version = "0.11.4" # Specify your desired Kueue version
42+
chart_version = var.kueue.version # Specify your desired Kueue version
4343

4444
create_namespace = true # Helm can also create the namespace
4545
wait = true
@@ -48,10 +48,10 @@ module "install_kueue" {
4848

4949
module "install_jobset" {
5050
source = "./helm_install"
51-
depends_on = [var.gke_cluster_exists]
51+
depends_on = [var.gke_cluster_exists, module.install_kueue]
5252
release_name = "jobset-controller" # The release name for your JobSet installation
5353
chart_name = "oci://registry.k8s.io/jobset/charts/jobset" # The Helm repository URL for nvidia charts
54-
chart_version = "0.5.2"
54+
chart_version = var.jobset.version
5555
create_namespace = true
5656
namespace = "jobset-system"
5757
}

community/modules/management/dependencies-installer/variables.tf

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -48,3 +48,23 @@ variable "nvidia_dra_driver" {
4848
})
4949
default = {}
5050
}
51+
52+
variable "kueue" {
53+
description = "Install and configure [Kueue](https://kueue.sigs.k8s.io/docs/overview/) workload scheduler. A configuration yaml/template file can be provided with config_path to be applied right after kueue installation. If a template file provided, its variables can be set to config_template_vars."
54+
type = object({
55+
install = optional(bool, false)
56+
version = optional(string, "v0.11.4")
57+
config_path = optional(string, null)
58+
config_template_vars = optional(map(any), null)
59+
})
60+
default = {}
61+
}
62+
63+
variable "jobset" {
64+
description = "Install [Jobset](https://github.com/kubernetes-sigs/jobset) which manages a group of K8s [jobs](https://kubernetes.io/docs/concepts/workloads/controllers/job/) as a unit."
65+
type = object({
66+
install = optional(bool, false)
67+
version = optional(string, "v0.7.2")
68+
})
69+
default = {}
70+
}

0 commit comments

Comments
 (0)