GoogleCloudPlatform / GoogleCloudPlatform/rad-lab

allow notebook resources composition

Open
#88 1 comment 0 reactions 0 assignees View on GitHub
enhancement
Dominant language
HCL
Stars
112
Forks
81
PR merge metrics
No merged PRs in 30d

Description

**Is your feature request related to a problem? Please describe.**

Currently when user instanciate modules with notebooks, rad-lab will provision `notebook_count` x notebooks with the same resource parameters.

While this convenient for simple deployment using the radlab cli/gui, terraform root module managing rad-lab deployment often need to tweak instance classes and other parameter like disk size per notebooks associated to a given project (see for example https://github.com/proppy/rad-lab-deploy/pull/5).

**Describe the solution you'd like**

I wonder if we could expose the terraform configuration as separate module (similar to what's discussed in https://developer.hashicorp.com/terraform/language/modules/develop/composition):
a. project creation or reuse
b. network
c. image building
d. service accounts
e. notebook instances
and provide a parent a rad-lab environment that compose (a, b, c, d) and leave the management of e. to the root module?

**Describe alternatives you've considered**

While terraform supports [object input variables](https://developer.hashicorp.com/terraform/language/values/variables#object), it sounds cumbersome and error prone to maintain a direct mapping between user-provided variable and [`notebooks_instance`](https://registry.terraform.io/providers/hashicorp/google/latest/docs/resources/notebooks_instance) to allow fine grained customization.

**Related feature requests**

This could also allow easier integration in other terraform based project like https://github.com/GoogleCloudPlatform/hpc-toolkit.

**Priority**
Low

**Labels**
Notebooks, Silicon

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.