From: Luis Chamberlain <mcgrof@kernel.org>
To: Chuck Lever <cel@kernel.org>, Daniel Gomez <da.gomez@kruces.com>,
kdevops@lists.linux.dev
Cc: Luis Chamberlain <mcgrof@kernel.org>
Subject: [PATCH v2 00/10] terraform: add Lambda Labs cloud provider support with dynamic API-driven configuration
Date: Wed, 27 Aug 2025 14:28:51 -0700 [thread overview]
Message-ID: <20250827212902.4021990-1-mcgrof@kernel.org> (raw)
This v2 splits up the original patch [0] into parts to make it easier to review.
[0] https://lkml.kernel.org/r/20250827101648.3581048-1-mcgrof@kernel.org
Luis Chamberlain (10):
gitignore: add entries for Lambda Labs dynamic configuration
scripts: add Lambda Labs Python API library
scripts: add Lambda Labs credentials management
scripts: add Lambda Labs SSH key management utilities
kconfig: add dynamic cloud provider configuration infrastructure
terraform/lambdalabs: add Kconfig structure for Lambda Labs
terraform/lambdalabs: add terraform provider implementation
ansible/terraform: integrate Lambda Labs into build system
scripts: add Lambda Labs testing and debugging utilities
terraform: enable Lambda Labs cloud provider in menus
.gitignore | 9 +
PROMPTS.md | 56 ++
defconfigs/lambdalabs | 15 +
defconfigs/lambdalabs-gpu-1x-a10 | 9 +
defconfigs/lambdalabs-gpu-1x-a100 | 8 +
defconfigs/lambdalabs-gpu-1x-h100 | 8 +
defconfigs/lambdalabs-gpu-8x-a100 | 8 +
defconfigs/lambdalabs-gpu-8x-h100 | 8 +
defconfigs/lambdalabs-shared-key | 11 +
defconfigs/lambdalabs-smart | 10 +
kconfigs/Kconfig.bringup | 5 +
playbooks/roles/gen_tfvars/defaults/main.yml | 23 +
.../templates/lambdalabs/terraform.tfvars.j2 | 18 +
playbooks/roles/terraform/tasks/main.yml | 71 +++
scripts/check_lambdalabs_capacity.py | 172 ++++++
scripts/cloud_list_all.sh | 151 +++++
scripts/debug_lambdalabs_api.sh | 87 +++
scripts/dynamic-cloud-kconfig.Makefile | 44 ++
scripts/dynamic-kconfig.Makefile | 2 +
scripts/explore_lambda_api.py | 48 ++
scripts/generate_cloud_configs.py | 223 ++++++++
scripts/lambdalabs_api.py | 538 ++++++++++++++++++
scripts/lambdalabs_credentials.py | 242 ++++++++
scripts/lambdalabs_infer_cheapest.py | 107 ++++
scripts/lambdalabs_infer_region.py | 36 ++
scripts/lambdalabs_list_instances.py | 167 ++++++
scripts/lambdalabs_smart_inference.py | 196 +++++++
scripts/lambdalabs_ssh_key_name.py | 135 +++++
scripts/lambdalabs_ssh_keys.py | 358 ++++++++++++
scripts/ssh_config_file_name.py | 79 +++
scripts/terraform.Makefile | 108 +++-
scripts/terraform_list_instances.sh | 79 +++
scripts/test_lambda_ssh.py | 111 ++++
scripts/test_lambdalabs_credentials.py | 50 ++
scripts/test_ssh_keys.py | 97 ++++
scripts/update_lambdalabs_instance.sh | 29 +
scripts/update_ssh_config_lambdalabs.py | 145 +++++
scripts/upload_ssh_key_to_lambdalabs.py | 176 ++++++
terraform/Kconfig.providers | 10 +
terraform/Kconfig.ssh | 37 +-
terraform/lambdalabs/Kconfig | 33 ++
terraform/lambdalabs/README.md | 295 ++++++++++
terraform/lambdalabs/SET_API_KEY.sh | 20 +
.../lambdalabs/ansible_provision_cmd.tpl | 1 +
terraform/lambdalabs/extract_api_key.py | 40 ++
terraform/lambdalabs/kconfigs/Kconfig.compute | 34 ++
.../lambdalabs/kconfigs/Kconfig.identity | 76 +++
.../lambdalabs/kconfigs/Kconfig.location | 89 +++
.../kconfigs/Kconfig.location.manual | 57 ++
terraform/lambdalabs/kconfigs/Kconfig.smart | 25 +
terraform/lambdalabs/kconfigs/Kconfig.storage | 12 +
terraform/lambdalabs/main.tf | 154 +++++
terraform/lambdalabs/output.tf | 51 ++
terraform/lambdalabs/provider.tf | 19 +
terraform/lambdalabs/shared.tf | 1 +
terraform/lambdalabs/vars.tf | 65 +++
terraform/shared.tf | 14 +-
57 files changed, 4660 insertions(+), 12 deletions(-)
create mode 100644 defconfigs/lambdalabs
create mode 100644 defconfigs/lambdalabs-gpu-1x-a10
create mode 100644 defconfigs/lambdalabs-gpu-1x-a100
create mode 100644 defconfigs/lambdalabs-gpu-1x-h100
create mode 100644 defconfigs/lambdalabs-gpu-8x-a100
create mode 100644 defconfigs/lambdalabs-gpu-8x-h100
create mode 100644 defconfigs/lambdalabs-shared-key
create mode 100644 defconfigs/lambdalabs-smart
create mode 100644 playbooks/roles/gen_tfvars/templates/lambdalabs/terraform.tfvars.j2
create mode 100755 scripts/check_lambdalabs_capacity.py
create mode 100755 scripts/cloud_list_all.sh
create mode 100755 scripts/debug_lambdalabs_api.sh
create mode 100644 scripts/dynamic-cloud-kconfig.Makefile
create mode 100644 scripts/explore_lambda_api.py
create mode 100755 scripts/generate_cloud_configs.py
create mode 100755 scripts/lambdalabs_api.py
create mode 100755 scripts/lambdalabs_credentials.py
create mode 100755 scripts/lambdalabs_infer_cheapest.py
create mode 100755 scripts/lambdalabs_infer_region.py
create mode 100755 scripts/lambdalabs_list_instances.py
create mode 100755 scripts/lambdalabs_smart_inference.py
create mode 100755 scripts/lambdalabs_ssh_key_name.py
create mode 100755 scripts/lambdalabs_ssh_keys.py
create mode 100755 scripts/ssh_config_file_name.py
create mode 100755 scripts/terraform_list_instances.sh
create mode 100644 scripts/test_lambda_ssh.py
create mode 100755 scripts/test_lambdalabs_credentials.py
create mode 100644 scripts/test_ssh_keys.py
create mode 100755 scripts/update_lambdalabs_instance.sh
create mode 100755 scripts/update_ssh_config_lambdalabs.py
create mode 100755 scripts/upload_ssh_key_to_lambdalabs.py
create mode 100644 terraform/lambdalabs/Kconfig
create mode 100644 terraform/lambdalabs/README.md
create mode 100644 terraform/lambdalabs/SET_API_KEY.sh
create mode 120000 terraform/lambdalabs/ansible_provision_cmd.tpl
create mode 100755 terraform/lambdalabs/extract_api_key.py
create mode 100644 terraform/lambdalabs/kconfigs/Kconfig.compute
create mode 100644 terraform/lambdalabs/kconfigs/Kconfig.identity
create mode 100644 terraform/lambdalabs/kconfigs/Kconfig.location
create mode 100644 terraform/lambdalabs/kconfigs/Kconfig.location.manual
create mode 100644 terraform/lambdalabs/kconfigs/Kconfig.smart
create mode 100644 terraform/lambdalabs/kconfigs/Kconfig.storage
create mode 100644 terraform/lambdalabs/main.tf
create mode 100644 terraform/lambdalabs/output.tf
create mode 100644 terraform/lambdalabs/provider.tf
create mode 120000 terraform/lambdalabs/shared.tf
create mode 100644 terraform/lambdalabs/vars.tf
--
2.50.1
next reply other threads:[~2025-08-27 21:29 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-08-27 21:28 Luis Chamberlain [this message]
2025-08-27 21:28 ` [PATCH v2 01/10] gitignore: add entries for Lambda Labs dynamic configuration Luis Chamberlain
2025-08-27 21:28 ` [PATCH v2 02/10] scripts: add Lambda Labs Python API library Luis Chamberlain
2025-08-28 18:59 ` Chuck Lever
2025-08-28 19:33 ` Luis Chamberlain
2025-08-28 20:00 ` Chuck Lever
2025-08-28 20:03 ` Luis Chamberlain
2025-08-28 20:13 ` Chuck Lever
2025-08-28 20:16 ` Luis Chamberlain
2025-08-29 11:24 ` Luis Chamberlain
2025-08-29 13:48 ` Chuck Lever
2025-08-27 21:28 ` [PATCH v2 03/10] scripts: add Lambda Labs credentials management Luis Chamberlain
2025-08-27 21:28 ` [PATCH v2 04/10] scripts: add Lambda Labs SSH key management utilities Luis Chamberlain
2025-08-27 21:28 ` [PATCH v2 05/10] kconfig: add dynamic cloud provider configuration infrastructure Luis Chamberlain
2025-08-27 21:28 ` [PATCH v2 06/10] terraform/lambdalabs: add Kconfig structure for Lambda Labs Luis Chamberlain
2025-08-27 21:28 ` [PATCH v2 07/10] terraform/lambdalabs: add terraform provider implementation Luis Chamberlain
2025-08-27 21:28 ` [PATCH v2 08/10] ansible/terraform: integrate Lambda Labs into build system Luis Chamberlain
2025-08-27 21:29 ` [PATCH v2 09/10] scripts: add Lambda Labs testing and debugging utilities Luis Chamberlain
2025-08-27 21:29 ` [PATCH v2 10/10] terraform: enable Lambda Labs cloud provider in menus Luis Chamberlain
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20250827212902.4021990-1-mcgrof@kernel.org \
--to=mcgrof@kernel.org \
--cc=cel@kernel.org \
--cc=da.gomez@kruces.com \
--cc=kdevops@lists.linux.dev \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox