Skip to content

Conversation

@chucklever
Copy link
Contributor

Split up terraform/tasks/main.yml to make it easier to maintain.

The terraform role's main.yml had grown to nearly 800 lines with
Lambda Labs and DataCrunch provider-specific logic interleaved
throughout the file. This made maintenance difficult and required
understanding the entire file to make changes for a single provider.

This refactoring creates a plugin-like architecture where each cloud
provider's unique requirements are isolated in dedicated task files.
The new structure separates concerns by operation (bringup, destroy)
and by provider (lambdalabs, datacrunch, generic), making it
straightforward to add support for new providers or modify existing
ones without risk of breaking other providers.

Common functionality shared across all providers, such as SSH
configuration and status reporting, is now cleanly separated in a
common directory. This follows patterns already established in other
roles like bootlinux and guestfs.

Generated-by: Claude AI
Signed-off-by: Chuck Lever <cel@kernel.org>
The cel@kernel address now points to an email service that handles
plaintext email properly.

Signed-off-by: Chuck Lever <cel@kernel.org>
@chucklever chucklever merged commit 6e3f136 into main Dec 19, 2025
20 of 22 checks passed
@chucklever chucklever deleted the cel/terraform-tasks branch December 19, 2025 17:25
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants