Add universal cloud cred ref ID and orphaned instance cleanup#26
Open
devin-ai-integration[bot] wants to merge 1 commit intomainfrom
Open
Add universal cloud cred ref ID and orphaned instance cleanup#26devin-ai-integration[bot] wants to merge 1 commit intomainfrom
devin-ai-integration[bot] wants to merge 1 commit intomainfrom
Conversation
- Add UniversalCloudCredRefID constant in internal/validation - Update validation tests to use universal constant - Add CleanupOrphanedInstances function for 1hr+ old instances - Create GitHub Action workflow (disabled by default) - Add cleanup CLI tool for manual/automated cleanup Co-Authored-By: Alec Fong <alecsanf@usc.edu>
Contributor
Author
🤖 Devin AI EngineerI'll be helping with this pull request! Here's what you should know: ✅ I will automatically:
Note: I can only respond to comments from users who have write access to this repository. ⚙️ Control Options:
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Add universal cloud cred ref ID and orphaned instance cleanup
Summary
This PR implements a system for cleaning up orphaned cloud instances from validation testing. The changes include:
UniversalCloudCredRefID = "brev-validation-test"in the validation package that all validation tests now useCleanupOrphanedInstances()that identifies and terminates instances older than 1 hour with the universal credential reference IDcmd/cleanup/main.gowith dry-run support for manual/automated cleanup operationsThe implementation targets Lambda Labs initially but is designed to be extensible to other cloud providers.
Review & Testing Checklist for Human
go run cmd/cleanup/main.go -provider=lambdalabs -dry-run=trueto verify it correctly identifies orphaned instances without deleting themCloudCredRefIDmatching only targets instances created with the universal validation credential, not production instancesDiagram
%%{ init : { "theme" : "default" }}%% flowchart TD ValidationSuite["internal/validation/suite.go<br/>UniversalCloudCredRefID constant<br/>CleanupOrphanedInstances function"]:::major-edit ValidationTest["internal/lambdalabs/v1/validation_test.go<br/>Updated to use universal constant"]:::minor-edit GitHubAction[".github/workflows/cleanup-orphaned-instances.yml<br/>Disabled by default workflow"]:::major-edit CLITool["cmd/cleanup/main.go<br/>Command-line cleanup tool"]:::major-edit LambdaLabsClient["internal/lambdalabs/v1/instance.go<br/>ListInstances & TerminateInstance"]:::context ValidationSuite --> ValidationTest GitHubAction --> CLITool CLITool --> ValidationSuite ValidationSuite --> LambdaLabsClient subgraph Legend L1[Major Edit]:::major-edit L2[Minor Edit]:::minor-edit L3[Context/No Edit]:::context end classDef major-edit fill:#90EE90 classDef minor-edit fill:#87CEEB classDef context fill:#FFFFFFNotes
Link to Devin run: https://app.devin.ai/sessions/ed3c049e29244357b8ea2587a22d7cd8
Requested by: @theFong